>[оверквотинг удален]
>пусть будет 192.168.0.1. Также есть роутер на FreeBSD 6.4,на нем
>ADSL-модем, прикручен DynDNS. Хочется выпустить локальный веб-сервер во внешку. На веб-сервере
>домен http://test.local. Вдобавок создан виртуальный домен http://user.test.local.
>
>На фряхе делаю вот что:
>в natd.conf
>redirect_port tcp 192.168.0.1:80 8080
>Все работает на ура, только загвоздка в том, что открывается страница http://test.local
>
>Как сделать так, чтобы можно было заходить и на http://user.test.local ??? 1. Регистрируете домен или заводите DNS-запись в существующем домене-зоне (в com.ru, net.ru, и т д дешево, у знакомого, в виде my-domen.domen.tld бесплатно, в зоне ru, второго уровня, копейки)
2. Направляете, через DNS (делегирование нового домена отдельная тема, но гугл рулит, или создавайте отдельную тему) домен или DNS-запись (следует обратиться к владельцу домена, он знает как, или может спросить) на свой home-server
3. Публикуете порт 80 на своем внешнем, статическом IP-адресе (купите у ISP)
4. Внимательно читаете про настройку виртуальных хостов в Apache. Распространенная ошибка новичка заключается в том, что первый описанный виртуальный хост, если упростить, Apache принимает за дефольтный, и отдает его вне зависимости от HTTP-запроса (см. ниже), если не знает о таком домене (он не описан отдельно)
Что касается DynDNS, запрос к сайту(веб-серверу) делается браузером так:
telnet site1.ru 80
Trying <какой-то IP>... << получили ответ от DNS в виде IP
Connected to site1.ru.
Escape character is '^]'.
HEAD / HTTP/1.1 <<<< Запрашиваем "голову", главную страницу сайта
Host: site1.ru <<<Браузер(они все так делают) подставляет то, что он искал в DNS
HTTP/1.1 200 OK
Date: Fri, 13 Aug 2010 23:36:57 GMT
Content-Type: text/html; charset=utf-8
Connection: keep-alive
Keep-Alive: timeout=5
Server: Apache
Connection closed by foreign host.
Как легко догадаться, браузер будет искать domen.dyndns.org, а не domen.ru
Но(!) есть решение: алиасы. Просьба не путать DNS-алиасы с алиасами в веб-серверах и почтовых серверах (то есть, на уровне приложения)
DNS алиас не требует наличия алиаса на уровне приложения, и обратное тоже верно, физически это в принципе совершенно разные вещи!
В DNS заводим алиас:
domen.site.ru. IN CNAME site.dyndns.org
Проблема только в том, что по RFC нельзя завести CNAME-запись для самой зоны, то есть, нельзя сделать, для зоны site.ru, вот так:
@ IN CNAME site.dyndns.org
Именно по этому создание веб-серверов на динамических IP и есть полная дурь и детство.
З.Ы. Прежде чем отвечать в стиле, что "ничего не понятно, чё за дела, Вы чо?!", просьба потратить пару дней, и прочитать в хандбуке хотя бы, как настраивается Apache и DNS, а в русской и английской википедии, что такое, и как работает DNS, так как статей не наберется и двадцать штук, так как у Вас сейчас в голове, простите, полная каша, судя по тексту вопроса.
Если Вы не относитесь к принципиальным нелюбителям читать доки(чем часто болеют новички, нее понимая, что это в их же интересах), сорри за это "З.Ы."