Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Valera Гость
|
Добавлено: Пн Апр 15 2002 16:49 Заголовок сообщения: Дмитрию Карпову вопрос |
|
|
На сайте у тебя написано о настройке ДНС: Файл resolv.conf:
domain фирма.ru nameserver X.Y.Z.1
Дело в том, что у меня в файле resolv.conf ничего не написано и ДНС очень даже успешно работает. Просто в named.conf forvarders на провайдера. Так вот, мне непонятно, откуда же мой сервер берет имя? Намед делает запрос к провайдеру, а тот уже возвращает ему имя? Или как? |
|
Вернуться к началу |
|
|
Dmitry.Karpov http://www. Гость
|
Добавлено: Пн Апр 15 2002 19:00 Заголовок сообщения: У тебя не все работает |
|
|
Попробуй на Unix/DNS-сервере дать команду типа 'ping www.microsoft.com' - наверняка не получится определить IP-номер по доменному имени. Соответственно, не будут работать SendMail, Squid и другие серверные программы (разве что в них самих задать альтернативные пути, а это никому не нужно). Но при этом named нормально работает посредником DNS-запросов для машин, у которых он (один из его IP-адресов, доступных извне, т.е. не 127.x.x.x) прописан как DNS-сервер.
Свое собственное имя машина знает, например, из команды 'hostname ${hostname}', выполняемой в /etc/rc.network (переменная ${hostname} задается в /etc/rc.conf). |
|
Вернуться к началу |
|
|
Valera Гость
|
Добавлено: Вт Апр 16 2002 10:45 Заголовок сообщения: Re: У тебя не все работает |
|
|
ping www.yahoo.com PING www.yahoo.akadns.net (64.58.76.227): 56 data bytes 64 bytes from 64.58.76.227: icmp_seq=0 ttl=235 time=790.049 ms
Все распознается на ура, к тому же на машине работает и Sendmail и squid и Apache |
|
Вернуться к началу |
|
|
Dmitry.Karpov http://www. Гость
|
Добавлено: Вт Апр 16 2002 11:56 Заголовок сообщения: Может, оно и само имеет свои соображения... |
|
|
Если бы я делал системную библиотеку, которая занимается распознаванием DNS-имен (разделяемая библиотека, работающая на стороне клиента), то я бы ввел в нее такой алгоритм: - если в /etc/resolv.conf прописан хоть один DNS-сервер, то последовательно опрашивать прописанные в /etc/resolv.conf DNS-серверы; - если в /etc/resolv.conf не прописано ни одного DNS-сервера, то сначала опросить localhost (127.0.0.1), затем IP-шлюз (Def.GateWay) - там чаще всего располагают DNS-серверы. Возможно, авторы некоторых библиотек рассуждали аналогичным образом.
Проверить это предположение можно командой 'nslookup' (глядеть, куда он обратится если не вводить ему DNS-сервер). Будет время - сам попробую.
И тем не менее, рекомендую прописать DNS-серверы на случай отказа локального DNS-сервера. |
|
Вернуться к началу |
|
|
Valera Гость
|
Добавлено: Вт Апр 16 2002 13:12 Заголовок сообщения: Не совсем все понял.. |
|
|
В самом начале, как только подключились в /etc/resolv.conf были записи, но почему то у меня был непонятный исходящий трафик, из-за которого невозможно было работать. Затем спецы от провайдера что то перестроили, в результате трафик стал нормальным, а /etc/resolv.conf оказался пустым.
Но, я так понимаю, что информацию о том, где находятся сервера ДНС, сервак получает из /etc/namedb/named.conf. В forwarders указано, правда? А информацию о своем имени в сети он берет из /etc/rc.conf. Тогда зачем ему записи в /etc/resolv.conf?
Вообще, что то я запутался с этим всем.. |
|
Вернуться к началу |
|
|
and3008
Зарегистрирован: 12.10.2001 Сообщения: 14893 Откуда: Н.Новгород
|
Добавлено: Вт Апр 16 2002 16:24 Заголовок сообщения: Объясняю (+) |
|
|
resolv.conf используется ВСЕМИ ПРОГРАММАМИ UNIX! Всеми! Все туда глядят, либо просят систему (через системные вызовы) выдать DNS, Hostname, Domain и т.п. Система будет глядеть в resolv.conf Это закон. Системе наплевать на режим работы DNS сервера. Ей по фигу как он настроен, как эти записи получает и от когда. Да хоть голубиной почтой из самого InterNIC
Приложение пошлет стандартный запрос к DNS, а DNS должен прислать стандартный ответ. Все в соответствии с RFC.
Далее, если у тебя уже запущен DNS на этом компе, то можешь указать в resolv.conf самого себя. Т.е. 127.0.0.1
Не путай resolv.conf и forwarders. |
|
Вернуться к началу |
|
|
Valera Гость
|
Добавлено: Вт Апр 16 2002 16:34 Заголовок сообщения: Re: Объясняю (+) |
|
|
Так, значит если у меня файл resolv.conf пустой, значит у меня система ущербная какая-то? Чего то не дополучает? |
|
Вернуться к началу |
|
|
and3008
Зарегистрирован: 12.10.2001 Сообщения: 14893 Откуда: Н.Новгород
|
Добавлено: Вт Апр 16 2002 18:22 Заголовок сообщения: Re: Объясняю (+) |
|
|
Именно так. Если ты на этой системе запустишь какую-нито математику, которая лезет в сеть и ей нужен DNS (например прокси-сервер или даже nslookup), то с удвилением обнаружишь, что математика лается. Типа немогу соединится с серваком. Действительно не может, ведь без DNS грусно жить на свете.
Система твоя не ущербная, а просто недонастроенная. Это, к счастью, поправимо.
man resolv.conf и вперед. |
|
Вернуться к началу |
|
|
Valera Гость
|
Добавлено: Вт Апр 16 2002 19:12 Заголовок сообщения: Re: Объясняю (+) |
|
|
Я уже писал, что прокси-сервер у меня очень даже неплохо работает при этом. Сквид... |
|
Вернуться к началу |
|
|
and3008
Зарегистрирован: 12.10.2001 Сообщения: 14893 Откуда: Н.Новгород
|
Добавлено: Вт Апр 16 2002 19:37 Заголовок сообщения: Дык! (+) |
|
|
Небось у него в конфиге указал опцию dns_servers=
А ты ее убери. И увидишь чудо. |
|
Вернуться к началу |
|
|
Dmitry.Karpov http://www. Гость
|
Добавлено: Вт Апр 16 2002 21:49 Заголовок сообщения: resolv.conf используется НЕ всеми программами Unix! |
|
|
Файл resolv.conf не используется самИм DNS-сервером. Squid может брать список DNS-серверов из своего squid.conf. Samba вообще может жить без DNS - она же обслуживает NetBIOS с его собственным пространством имен.
Но большинство программ, которым нужно резолвить доменные имена, берут список DNS-серверов ис /etc/resolv.conf. |
|
Вернуться к началу |
|
|
Dmitry.Karpov http://www. Гость
|
Добавлено: Вт Апр 16 2002 22:08 Заголовок сообщения: На серваке работают разные программы, у них разные потребности. А не задействован ли NIS/YP? |
|
|
В Unix, в отличие от Windows, программы работают независимо, если им не требуется контактировать "по работе". Правда, у программ есть возможность совместно использовать системные библиотеки для экономии ресурсов - а могут и не использовать; а иногда не могут использовать, как, например, DNS-сервер не может работать так же, как клиенты, которых он должен обслужить.
Файл /etc/resolv.conf должен присутствовать на каждой машине, которая хочет резолвить доменные имена. Файлы /etc/named/* должны присутствовать только на машинах, где запущен BIND (named), а если использовать какую-либо другую альтернативную программу (я такой не знаю, но наверняка есть, как альтернативой для SendMail является QMail), то и /etc/named/* может не понадобиться.
И еще пара соображений: В числе DNS-forwarders нельзя прописывать самогО себя, да и вообще нельзя организовывать кольца, а в /etc/resolv.conf можно и нужно прописывать самогО себя если на самОм себе запущен named. DNS-сервер должен кэшировать DNS-запросы, поэтому все запросы от клиентских программ (клиентских по отношению к DNS-серверу, его клиентами являются многие серверные программы) надо пропускать через него, а не направлять сразу к форвардесам. Проверить, обращаются ли клиенты к файлу /etc/named/named.conf, можно остановкой демона named.
А теперь прошу предъявить файл /etc/host.conf - возможно, провайдер переключил резолвинг имен на NIS/YP. И еще надо посмотреть по времени последней модификации, какие файлы в /etc мог поменять провайдер. |
|
Вернуться к началу |
|
|
Valera Гость
|
Добавлено: Вт Апр 16 2002 22:26 Заголовок сообщения: Re: На серваке работают разные программы, у них разные потребности. А не задействован ли NIS/YP? |
|
|
> more /etc/hosts 127.0.0.1 localhost 10.0.0.1 ntc.kiev.ua 10.0.0.2 host2.ntc.kiev.ua 10.0.0.3 host3.ntc.kiev.ua ... и т.д. Кстати, могу ли я сделать видимым host2.ntc.kiev.ua извне? Имеется в виду www. Redirect_port из natd не очень подходит, т.к. у меня на ntc.kiev.ua есть сайт. Могу ли я делать домен 4-го уровня, ничего не регистрирую в ripe?
В DNS-forwarders два айпи провайдера
В двух словах можно, что такое NIS/YP? (Может быть, ссылку, где почитать можно) |
|
Вернуться к началу |
|
|
Dmitry.Karpov http://www. Гость
|
Добавлено: Вт Апр 16 2002 23:06 Заголовок сообщения: Не то прислал!!! |
|
|
Кроме /etc/hosts во FreeBSD (да и других тоже) есть /etc/host.conf, содержащий всего шесть строк (три - комментарии), где определяется порядок просмотра служб резолвинга имен. Обычно так: файл hosts служба BIND закомментаренная служба NIS/YP
Про NIS есть manual pages, а YP - Yellow Pages. Сам я ее не использовал, поэтому не в курсе подробностей.
Сделать видимым host2.ntc.kiev.ua извне можно многими способами: Лучше всего сделать виртуальный name-based сайт на ntc.kiev.ua без использования машины host2.ntc.kiev.ua. Можно сделать редирект с помощью NAT или с помощью HTTP-accellerator на базе Apache (т.н. "обратное проксирование").
Просто выставить IP-номер типа 10.*.*.* наружу через DNS можно, но сама машина будет извне недоступна, т.к. внешние роутеры не будут роутить пакеты на IP-номер типа 10.*.*.* в вашу сеть. А домены четветого и далее уровней можно создавать без проблем.
PS: Сходи на http://www.pi2.ru/prof, почитай там все подряд - многое прояснится, не будешь глупые вопросы задавать. А то на некоторые надо лекцию читать! |
|
Вернуться к началу |
|
|
Valera Гость
|
Добавлено: Чт Апр 18 2002 20:44 Заголовок сообщения: Сорри |
|
|
# $FreeBSD: src/etc/host.conf,v 1.5.2.1 1999/08/29 14:18:44 peter Exp $ # First try the /etc/hosts file hosts # Now try the nameserver next. bind # If you have YP/NIS configured, uncomment the next line # nis |
|
Вернуться к началу |
|
|
Dmitry.Karpov http://www. Гость
|
Добавлено: Чт Апр 18 2002 22:47 Заголовок сообщения: Странно, тут ничего не изменилось... Короче, затрудняюсь сказать, как оно работает без /etc/resolv.conf... (-) |
|
|
- |
|
Вернуться к началу |
|
|
|