Страница 1 из 1
DNS. Как создать зону-псевдоним?
Добавлено: 2010-08-16 14:33:37
xDi
Дано:
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"?
Re: DNS. Как создать зону-псевдоним?
Добавлено: 2010-08-16 19:09:46
Burner
ничего не понятно. Причем тут вообще dyndns?
Re: DNS. Как создать зону-псевдоним?
Добавлено: 2010-08-16 19:15:15
BlackCat
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-сервер должен не только обслуживать внутреннюю зону, но ещё и выполнять рекурсивные запросы.
Re: DNS. Как создать зону-псевдоним?
Добавлено: 2010-08-16 19:39:52
xDi
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;
Re: DNS. Как создать зону-псевдоним?
Добавлено: 2010-08-17 3:52:04
BlackCat
xDi писал(а):Подскажите, как грамотно организовать связь "имя (локальный домен) -> имя (домен dyndns) -> адрес ip"?
Для этого вам нужно в описании уже имеющегося локального домена (как я понял, у вас он называется "lan") добавить CNAME запись, например для имени "external", должно получиться что-то похожее на:
Эту строку добавить в файл описания зоны lan.
Тогда при разрешении имени external.lan ответом будет адрес имени domain.dyndns.org.