Re: dns: некоторые нюансы.
On Wed, Feb 16, 2005 at 05:35:28PM +0300, Dmitry A. Alexeev wrote:
> Есть несколько вопросов по днс, в доках не натолкнулся, спецмально
> искать долго, а любопытно.
>
> 1) Насколько в woody необходимо преобразование localhost в 127.0.0.1?
> Можно ли беззаботно жить с в обе стороны настроенным
> преобразованием localhost.dom.ain <-> 127.0.0.1, без голого
> localhost? rfc1912 - читал, там этого вопроса касаются, но мало ли
> какие коррективы внесла современность.
Без преобразования localhost в 127.0.0.1 что-нибудь испортится точно.
На практике,
127.0.0.1 localhost всегда прописано в /etc/hosts
строка про localhost в зоне локального домена много места не
займёт, зона "localhost" в bind не сложна, так что лучше их
иметь. Мало ли чего в сети у тебя появится, какой-нибудь
китайский контент-свитч с индусской фирмварью..
В общем, если ничего специально не ломать, то работает.
> 2) Могут ли быть для каких-нибудь целей A и PTR записи в одном файле?
> Если - да, то для каких целей?
Тут уже ответили -- если у тебя реверс идёт через CNAME или если у тебя
один файл зоны для двух доменов (прямого и обратного преобразования).
Я добавлю что в реальной жизни это скорее добавит непонятностей при
эксплуатации и в самый нужный момент затруднит поиск неисправности.
> 3) Я невполне понимаю значения зоны типа stub.
Ни разу не видел чтобы их использовали и в руководстве[1] не рекомендовано
её использование в новых инсталляциях. Это, наверно, интересно настолько
же сколько класс CHAOS в bind, протокол LANE в сети и т.п. legacy :)
> 4) Правильно ли я понимаю, что любая программа для того, чтобы
> получить ip отдает имя фунцции gethostbyname, та же, если в конце
Обычно да, но некоторые программы (squid, например) используют
собственные ресолверы и там "есть нюансы". Тот же squid не умеет лазать
в /etc/hosts и запросы к локальным именам (без доменов) ему надо особо
разрешать в конфиге.
> имени нет точки, ищет алиас в /etc/hosts (но не полезет туда, если
> в nsswitch.conf, host.conf будет указано, положим, сначала в днс
> мотреть), если не находит, то добавляет домен (взятый из
> /etc/hostname или /etc/resolv.conf) и уже смотрит либо в
> /etc/hosts, либо в днс?
Добавляется домен(ы), взятые из /etc/resolv.conf и только если в имени
нету точки. Или меньше M точек (это как-то где-то конфигурируется). При
этом бывают приколы, если программа запрашивает адреса IPv6 (тип AAAA),
как это делает ssh в sarge. Функциональность host.conf при работающем
nssswitch.conf для меня тоже не очень ясна.
Кроме того, если у тебя есть nscd и в нём включено кеширование
преобразование IP<->имя (что страшно несекьюрно в woody), то
gethostbyname может вернуть чего там закешировалось.
Полезная программа для поиска неисправностей в ресолвинге - getent.
$ getent hosts www.ru
194.87.0.50 www.ru
В отличии от обычных host/dig/nslokup, getent спрашивает именно через
механизм NSS. Т.е., если у тебя вдруг в /etc/hosts прописано не то что
в DNS, при помощи getent ты это увидишь, а с host -- нет.
1) BIND 9 Administrator Reference Manual, ch 6
file:///usr/share/doc/bind9-doc/arm/Bv9ARM.ch06.html из пакета bind9-doc
Reply to: