DNS. Как создать зону-псевдоним?

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
xDi
мл. сержант
Сообщения: 118
Зарегистрирован: 2009-01-01 20:27:26

DNS. Как создать зону-псевдоним?

Непрочитанное сообщение xDi » 2010-08-16 14:33:37

Дано:
1. внешняя машина с динамическим IP и имеющая домен, связанный с машиной посредством dyndns (domain.dyndns.org)
2. локальная сеть с dns-сервером (FreeBSD, BIND 9.6.2-P2), который обслуживает клиентов в этой сети.

Требуется: создать домен первого уровня, который бы адресовал на указанную внешнюю машину, имеющую dyndns-домен.

Как пробовал решить:
Определил зону для домена

Код: Выделить всё

zone "domain"  { type master; file "master/domain-forward.db"; allow-transfer { clients; }; };
и конфиг зоны в двух вариантах

Код: Выделить всё

$ORIGIN .
$TTL    600
domain    IN SOA  ns.lan. root.ns.lan. (  2010081600  600 60  86400 600  )
domain    IN A domain.dyndns.org.

Код: Выделить всё

$ORIGIN .
$TTL    600
domain    IN SOA  ns.lan. root.ns.lan. (  2010081600  600 60  86400 600  )
domain    IN CNAME domain.dyndns.org.
На оба варианта идет ругань в messages.

Подскажите, как грамотно организовать связь "имя (локальный домен) -> имя (домен dyndns) -> адрес ip"?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Burner
лейтенант
Сообщения: 693
Зарегистрирован: 2009-06-14 7:02:26

Re: DNS. Как создать зону-псевдоним?

Непрочитанное сообщение Burner » 2010-08-16 19:09:46

ничего не понятно. Причем тут вообще dyndns?

Аватара пользователя
BlackCat
прапорщик
Сообщения: 469
Зарегистрирован: 2007-10-16 22:40:42

Re: DNS. Как создать зону-псевдоним?

Непрочитанное сообщение BlackCat » 2010-08-16 19:15:15

xDi писал(а):1. внешняя машина с динамическим IP и имеющая домен, связанный с машиной посредством dyndns (domain.dyndns.org)
dyndns не выдают домены, они выдают доменные имена, это к вопросу о терминологии.
xDi писал(а):Требуется: создать домен первого уровня, который бы адресовал на указанную внешнюю машину, имеющую dyndns-домен.
Сомневаюсь, что можно сделать домен-синоним, а доменное имя синоним - пожалуйста.
xDi писал(а):

Код: Выделить всё

$ORIGIN .
$TTL    600
domain    IN SOA  ns.lan. root.ns.lan. (  2010081600  600 60  86400 600  )
domain    IN CNAME domain.dyndns.org.
Этот вариант наиболее правильный. Вы указываете, что domain.domain это синоним для имени domain.dyndns.org.
xDi писал(а):На оба варианта идет ругань в messages.
"Ругань" на конфигурацию с CNAME в студию.
=====
И ещё один момент, если DNS-сервер ответит клиенту, что domain.domain это domain.dyndns.org, то клиент начнёт разрешать имя domain.dyndns.org в адрес и этот запрос кто-то должен будет выполнить. Проще говоря DNS-сервер должен не только обслуживать внутреннюю зону, но ещё и выполнять рекурсивные запросы.

Аватара пользователя
xDi
мл. сержант
Сообщения: 118
Зарегистрирован: 2009-01-01 20:27:26

Re: DNS. Как создать зону-псевдоним?

Непрочитанное сообщение xDi » 2010-08-16 19:39:52

BlackCat писал(а):dyndns не выдают домены, они выдают доменные имена, это к вопросу о терминологии.
BlackCat писал(а):Сомневаюсь, что можно сделать домен-синоним, а доменное имя синоним - пожалуйста.
Хм... По контексту ясно, что речь идет именно о доменных именах, а не о каком-либо ином значении. А я думал, что наконец нашел форум без троллинга. Ошибался видимо...

На вариант с master/domain-forward.db:

Код: Выделить всё

$ORIGIN .
$TTL    600
domain    IN SOA  ns.lan. root.ns.lan. (  2010081600  600 60  86400 600  )
domain    IN CNAME domain.dyndns.org.
при рестарте named в messages падает это:

Код: Выделить всё

Aug 16 20:32:52 iru named[38757]: dns_master_load: master/domain-forward.db:4: domain: CNAME and other data
Aug 16 20:32:52 ns.lan named[38757]: zone domain/IN: loading from master file master/domain-forward.db failed: CNAME and other data
Aug 16 20:32:52 ns.lan named[38757]: zone domain/IN: not loaded due to errors.
BlackCat писал(а):И ещё один момент, если DNS-сервер ответит клиенту, что domain.domain это domain.dyndns.org, то клиент начнёт разрешать имя domain.dyndns.org в адрес и этот запрос кто-то должен будет выполнить. Проще говоря DNS-сервер должен не только обслуживать внутреннюю зону, но ещё и выполнять рекурсивные запросы.
Да, в named.conf в блоке options имеется строка recursion yes;

Аватара пользователя
BlackCat
прапорщик
Сообщения: 469
Зарегистрирован: 2007-10-16 22:40:42

Re: DNS. Как создать зону-псевдоним?

Непрочитанное сообщение BlackCat » 2010-08-17 3:52:04

xDi писал(а):Подскажите, как грамотно организовать связь "имя (локальный домен) -> имя (домен dyndns) -> адрес ip"?
Для этого вам нужно в описании уже имеющегося локального домена (как я понял, у вас он называется "lan") добавить CNAME запись, например для имени "external", должно получиться что-то похожее на:

Код: Выделить всё

external.lan.   CNAME domain.dyndns.org.
Эту строку добавить в файл описания зоны lan.

Тогда при разрешении имени external.lan ответом будет адрес имени domain.dyndns.org.