The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"ДНС, мозгов не хватает"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"ДНС, мозгов не хватает"
Сообщение от rusya Искать по авторуВ закладки(ok) on 05-Май-04, 19:35  (MSK)
Здравствуйте всем! Ситуация следующая
Руководство сверху спустило следующую директиву - прописать на клиентских машинах(виндовозных) в файлах hosts их сервера и протестировать сайт на предмет ошибок. ну я и подумал, а на фига? можно же прям на серваке это сделать - а у клиентов - все автоматом. Прописал на сервере (редхат 7.3)в hosts соответствие ип-адрес - имя, перезагрузился - фигу. браузеры клиентов по ип заходят на сайт, а по имени - нет. если прописать в виндовозном хостс, то пинг по имени через командную строку идет, а в браузере - все равно нет. А сервак выдает следующее:
The requested URL could not be retrieved

--------------------------------------------------------------------------------

While trying to retrieve the URL: http://hands.ns1.rucom.ru/index.html

The following error was encountered:

Unable to determine IP address from host name for hands.ns1.rucom.ru
The dnsserver returned:

Name Error: The domain name does not exist.
This means that:

The cache was not able to resolve the hostname presented in the URL.
Check if the address is correct.

Your cache administrator is root.

--------------------------------------------------------------------------------
Generated Wed, 05 May 2004 15:27:46 GMT by lels (Squid/2.4.STABLE6)
Где копать, подскажите? я с линуксом недавно столкнулся. Почему сквид игнорирует настройки hosts? Третий день парюсь, все перечитал, понятия не имею, что делать..

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "ДНС, мозгов не хватает"
Сообщение от xOr emailИскать по авторуВ закладки(??) on 05-Май-04, 19:40  (MSK)
По моему, проще всего будет поднять на сервере DNS-сервер и прописать на всех клиентах его адрес. Заодно он будет кэшировать DNS-запросы в интернет.
Hosts - файл на сервере работает только для него, на клиентов он никак действовать не будет.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "ДНС, мозгов не хватает"
Сообщение от M Искать по авторуВ закладки on 05-Май-04, 20:05  (MSK)
>Здравствуйте всем! Ситуация следующая
>Руководство сверху спустило следующую директиву - прописать на клиентских машинах(виндовозных) в файлах
>hosts их сервера и протестировать сайт на предмет ошибок. ну я
>и подумал, а на фига? можно же прям на серваке это
>сделать - а у клиентов - все автоматом. Прописал на сервере
>(редхат 7.3)в hosts соответствие ип-адрес - имя, перезагрузился - фигу. браузеры
>клиентов по ип заходят на сайт, а по имени - нет.
>если прописать в виндовозном хостс, то пинг по имени через командную
>строку идет, а в браузере - все равно нет. А сервак
>выдает следующее:
> The requested URL could not be retrieved
>

короче поднимай DNS. это проще :) отличный ман(простите модеры - но линк не помню):
Это первый шаг в настройке DNS, очень полезный для dialup пользователей

Кеширующий сервер найдет ответ на запрос об имени машины и запомнит его, чтобы ответить, когда вы запросите эту же информацию в следующий раз. Это значительно уменьшит время ожидания ответа при следующем запросе, особенно если у вас медленное соединение.

Ддя начала вам нужен файл, названный /etc/named.conf. Из него named читает информацию при старте. Сейчас он должен просто содержать следующие строки:



// Файл настроек для только кеширующего сервера

options {

        directory "/var/named";

        // Раскомментируйте следующую строку, если вы

        // работаете через firewall и система не работает:

        // query-source address * port 53;

};

zone "." {

        type hint;

        file "root.hints";

};

zone "0.0.127.in-addr.arpa" {

        type master;

        file "pz/127.0.0";

};




Строка `directory' задает где искать файлы. Все файлы используемые впоследствии, будут именоваться относительно этой директории. Таким образом pz -- это директория в директории /var/named, т.е., /var/named/pz. /var/named -- это правильная директория согласно Linux File system Standard (Стандарту файловой системы Linux).

Файл названный /var/named/root.hints должен находится в указанной директории. Он должен содержать следующую информацию:



.                       6D IN NS        G.ROOT-SERVERS.NET.

.                       6D IN NS        J.ROOT-SERVERS.NET.

.                       6D IN NS        K.ROOT-SERVERS.NET.

.                       6D IN NS        L.ROOT-SERVERS.NET.

.                       6D IN NS        M.ROOT-SERVERS.NET.

.                       6D IN NS        A.ROOT-SERVERS.NET.

.                       6D IN NS        H.ROOT-SERVERS.NET.

.                       6D IN NS        B.ROOT-SERVERS.NET.

.                       6D IN NS        C.ROOT-SERVERS.NET.

.                       6D IN NS        D.ROOT-SERVERS.NET.

.                       6D IN NS        E.ROOT-SERVERS.NET.

.                       6D IN NS        I.ROOT-SERVERS.NET.

.                       6D IN NS        F.ROOT-SERVERS.NET.

G.ROOT-SERVERS.NET.     5w6d16h IN A    192.112.36.4

J.ROOT-SERVERS.NET.     5w6d16h IN A    198.41.0.10

K.ROOT-SERVERS.NET.     5w6d16h IN A    193.0.14.129

L.ROOT-SERVERS.NET.     5w6d16h IN A    198.32.64.12

M.ROOT-SERVERS.NET.     5w6d16h IN A    202.12.27.33

A.ROOT-SERVERS.NET.     5w6d16h IN A    198.41.0.4

H.ROOT-SERVERS.NET.     5w6d16h IN A    128.63.2.53

B.ROOT-SERVERS.NET.     5w6d16h IN A    128.9.0.107

C.ROOT-SERVERS.NET.     5w6d16h IN A    192.33.4.12

D.ROOT-SERVERS.NET.     5w6d16h IN A    128.8.10.90

E.ROOT-SERVERS.NET.     5w6d16h IN A    192.203.230.10

I.ROOT-SERVERS.NET.     5w6d16h IN A    192.36.148.17

F.ROOT-SERVERS.NET.     5w6d16h IN A    192.5.5.241




Этот файл описывает имена корневых серверов имен по всему миру. Их список изменяется время от времени и эта часть в дальнейшем должна сопровождаться. Смотрите раздел по сопровождению для того, чтобы узнать как хранить эту информацию соответсвующей действительности.


Следующий раздел в named.conf -- это последняя зона. Я объясню как она используется в следующих разделах, сейчас просто создайте файл, названный 127.0.0 в поддиректории pz:



@               IN      SOA     ns.linux.bogus. hostmaster.linux.bogus. (

                                1       ; Serial

                                8H      ; Refresh

                                2H      ; Retry

                                1W      ; Expire

                                1D)     ; Minimum TTL

                        NS      ns.linux.bogus.

1                       PTR     localhost.




Далее вам необходимо, чтобы ваш файл /etc/resolv.conf выглядел примерно так:



search subdomain.your-domain.edu your-domain.edu

nameserver 127.0.0.1




Строка `search' задает в каких доменах должен идти поиск машин с кокторыми вы хотите соединиться. Строка `nameserver' указывает адрес вашего сервера имен, в нашем случае это ваша собственная машина, поскольку на ней запущен named (127.0.0.1 это правильный адрес, также никаких проблем, если ваша машина имеет другой адрес). Если вы хотите перечислите несколько серверов имен, то поместите их по одному в строку со словом `nameserver' для каждого. (Замечание: Named никогда не читает этот файл, это делает программа resolver, которая использует named).

Проиллюстрируем как это работает: Если клиент пытается найти машину с именем foo, то сначала программа пытается найти машину с полным именем foo.subdomain.your-domain.edu, затем с именем foo.your-fomain.edu, и в конце концов foo. Если клиент пытается найти sunsite.unc.edu, то сначала пробуется sunsite.unc.edu.subdomain.your-domain.edu (да это глупо, но вот так это работает), затем sunsite.unc.edu.your-domain.edu, и в конце концов sunsite.unc.edu. Вы можете не помещать слишком много доменов в строку поиска, поскольку поиск в них займет слишком много времени.

Пример предполагает, что вы находитесь в домене subdomain.your-domain.edu, и ваша машина вероятно называется your-machine.subdomain.your-domain.edu. Строка поиска не должна содержать ваш TLD (Top Level Domain (Домен Верхнего Уровня), `edu' в нашем случае). Если вам необходимо часто соединяться с машиной в другом домене, то вы можете добавить этот домен в строку поиска, примерно вот так:



search subdomain.your-domain.edu your-domain.edu other-domain.com



и так далее. Очевидно, что вам необходимо поместить в эту строку имена настоящих доменов, вместо вышеприведенных. Пожалуйста заметьте отсутствие точки в конце имени домена.

Далее в зависимости от вашей версии libc вам необходимо вносить исправления либо в файл /etc/nsswitch.conf, либо в файл /etc/host.conf. Если у вас уже есть файл nsswitch.conf, то значит мы будем вносить исправления в него, если же его нет, то мы будем вносить изменения в файл host.conf.

/etc/nsswitch.conf

Это длинный файл описывающий как получить разные типы данных, из какого файла или базы данных. В начале он обычно содержит полезные комментарии, которые вы должны учесть при чтении этого файла. После того, как вы найдете строку начинающуюся с `hosts:', вы должны увидеть:



hosts:      files dns



Если в этом файле нет строки начинающейся с `hosts:', то поместите вышеприведенную строку в файл. Эта строка указывает программам сначала выполнять поиск в файле /etc/hosts, а затем просматривать DNS в соответствии с порядком указаном в файле resolv.conf.

/etc/host.conf

Этот файл вероятно содержит разные данные, одна из строк должна начинаться со слова order и выглядеть примерно так:



order hosts,bind




Если строки с `order' нет, то вы должны ее вставить. Она заставляет подпрограмму разрешения имен сначала посмотреть в файле /etc/hosts, а затем сделать запрос к серверу имен (который в resolv.conf указан как машина с адресом 127.0.0.1). Эти два последних файла описаны в разделе (8) справочной системы (выполните команду `man 8 resolv') в большинстве дистрибутивов Linux. По моему мнению это вполне читаемая справочная страница, и каждый человек, особенно администраторы DNS, должны прочитать ее хотя бы раз. Сделайте это сейчас! Если вы скажете себе "я сделаю это позже", то вы никогда это не сделаете.

3.1 Запуск named


После этих приготовлений пришло время запуска named. Если вы используете dialup соединение, то сначала произведите подключение. Наберите `ndc start' без опций, и нажмите клавишу return. Если никакого результата нет, то попробуйте следующую команду `/usr/sbin/ndc start'. Если опять попытка не удалась, то смотрите раздел Вопросы и ответы. Теперь мы можем протестировать нашу настройку. Если вы посмотрите в файл сообщений syslog (обычно названный /var/adm/messages, но может быть другая директория /var/log и другой файл syslog в которые необходимо посмотреть) во время запуска named (выполните команду tail -f /var/log/messages), то вы должны увидеть что-то подобное следующему:

(строки заканчивающиеся на \ продолжаются на следующей строке)


Feb 15 01:26:17 roke named[6091]: starting.  named 8.1.1 Sat Feb 14 \

  00:18:20 MET 1998 ^Ijanl@roke.uio.no:/var/tmp/bind-8.1.1/src/bin/named

Feb 15 01:26:17 roke named[6091]: cache zone "" (IN) loaded (serial 0)

Feb 15 01:26:17 roke named[6091]: master zone "0.0.127.in-addr.arpa" \

  (IN) loaded (serial 1)

Feb 15 01:26:17 roke named[6091]: listening [127.0.0.1].53 (lo)

Feb 15 01:26:17 roke named[6091]: listening [129.240.230.92].53 (ippp0)

Feb 15 01:26:17 roke named[6091]: Forwarding source address is [0.0.0.0].1040

Feb 15 01:26:17 roke named[6092]: Ready to answer queries.



Если есть какие-нибудь сообщения об ошибках, то значит вы что-то сделали неправильно. Named укажет в каком файле ошибка (я надеюсь, что это один из файлов named.conf и root.hints :-). Завершите выполнение named и проверьте файлы конфигурации.

Теперь пора запустить nslookup и проверить результаты вашей работы.


$ nslookup

Default Server:  localhost

Address:  127.0.0.1

>



Если это выглядит так, то значит вы заставили систему работать. Мы так надеемся. Если что-то другое, то вернитесь назад и все проверьте. Каждый раз когда вы изменяете файл named.conf, вам необходимо перезапустить named, используя команду ndc restart.

Теперь мы можем ввести запрос на поиск информации. Попробуйте найти машину близкую к вам. pat.uio.no находится близко от меня, в Университете Осло:


> pat.uio.no

Server:  localhost

Address:  127.0.0.1

Name:    pat.uio.no

Address:  129.240.130.16



Сейчас nslookup попросит ваш named посмотреть информацию о машине pat.uio.no. Затем он соединится с одним из серверов имен, перечисленных в вашем файле root.hints, и запросит у него путь к данной машине. Это может занять какое-то время, до того как вы получите результаты, поскольку система сначала ищет заданную машину во всех доменах перечисленных в вашем файле /etc/resolv.conf.

Если вы запросите то же самое, то вы получите такой ответ:


> pat.uio.no

Server:  localhost

Address:  127.0.0.1

Non-authoritative answer:

Name:    pat.uio.no

Address:  129.240.2.50



Заметим, что мы в это раз получили сообщение `Non-authoritative answer:'. Это означает, что named в этот раз не делал запрос к внешним серверам имен, а вместо этого произвел поиск в своем кеше и нашел там ответ. Но кешированная информация может быть устаревшей. Так что он вас информируют об этой (весьма незначительной) опасности сообщением `Non-authorative answer:'. nslookup выдает это сообщение, когда вы второй раз запрашиваете об одной и той же машине -- это знак того, что named кеширует информацию и это значит, что он работает правильно. Вы можете завершить работу nslookup дав команду `exit'.

Теперь вы знаете как установить кеширующий сервер имен. Возьмите пива, молока или того, что вы предпочитаете и отпразднуйте это.


>--------------------------------------------------------------------------------
>
>While trying to retrieve the URL: http://hands.ns1.rucom.ru/index.html
>
>The following error was encountered:
>
>Unable to determine IP address from host name for hands.ns1.rucom.ru
>The dnsserver returned:
>
>Name Error: The domain name does not exist.
>This means that:
>
> The cache was not able to resolve the hostname presented in
>the URL.
> Check if the address is correct.
>
>Your cache administrator is root.
>
>
>
>--------------------------------------------------------------------------------
>Generated Wed, 05 May 2004 15:27:46 GMT by lels (Squid/2.4.STABLE6)
>Где копать, подскажите? я с линуксом недавно столкнулся. Почему сквид игнорирует настройки
>hosts? Третий день парюсь, все перечитал, понятия не имею, что делать..
>


  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "ДНС, мозгов не хватает"
Сообщение от rusya Искать по авторуВ закладки(ok) on 05-Май-04, 20:19  (MSK)
Все это замечательно, а теперь поподробнее
Стоит ретхат, на нем named, squid,sendmail. ДСЭЛЬ. Парни сверху тестируют сервак или сайт или что-то еще - неважно. У них, я так понял просто нет пока записи у провайдера о  том, что они - это ип адрес такой-то. Поэтому они попросили создать такое соответствие в файлах хостс на виндовых машинах. и все бы замечательно резолвилось, если бы каждая машина была отдельно подключена в интернет. но на машинах прописан ип ретхата в кач-ве днса. Так вот где в ретхате прописать брбрбр.дрдрдр.ru ххх.ххх.ххх.ххх, чтобы в браузерах клиентских машин можно было писать не айпи - адрес, а брбрбр.дрдрдр.ru ?
  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "ДНС, мозгов не хватает"
Сообщение от M Искать по авторуВ закладки on 05-Май-04, 20:20  (MSK)
>Здравствуйте всем! Ситуация следующая
>Руководство сверху спустило следующую директиву - прописать на клиентских машинах(виндовозных) в файлах
>hosts их сервера и протестировать сайт на предмет ошибок. ну я
>и подумал, а на фига? можно же прям на серваке это
>сделать - а у клиентов - все автоматом. Прописал на сервере
>(редхат 7.3)в hosts соответствие ип-адрес - имя, перезагрузился - фигу. браузеры
>клиентов по ип заходят на сайт, а по имени - нет.
>если прописать в виндовозном хостс, то пинг по имени через командную
>строку идет, а в браузере - все равно нет. А сервак
>выдает следующее:
> The requested URL could not be retrieved
>

короче поднимай DNS. это проще :) отличный ман(простите модеры - но линк не помню):
Это первый шаг в настройке DNS, очень полезный для dialup пользователей

Кеширующий сервер найдет ответ на запрос об имени машины и запомнит его, чтобы ответить, когда вы запросите эту же информацию в следующий раз. Это значительно уменьшит время ожидания ответа при следующем запросе, особенно если у вас медленное соединение.

Ддя начала вам нужен файл, названный /etc/named.conf. Из него named читает информацию при старте. Сейчас он должен просто содержать следующие строки:



// Файл настроек для только кеширующего сервера

options {

        directory "/var/named";

        // Раскомментируйте следующую строку, если вы

        // работаете через firewall и система не работает:

        // query-source address * port 53;

};

zone "." {

        type hint;

        file "root.hints";

};

zone "0.0.127.in-addr.arpa" {

        type master;

        file "pz/127.0.0";

};




Строка `directory' задает где искать файлы. Все файлы используемые впоследствии, будут именоваться относительно этой директории. Таким образом pz -- это директория в директории /var/named, т.е., /var/named/pz. /var/named -- это правильная директория согласно Linux File system Standard (Стандарту файловой системы Linux).

Файл названный /var/named/root.hints должен находится в указанной директории. Он должен содержать следующую информацию:



.                       6D IN NS        G.ROOT-SERVERS.NET.

.                       6D IN NS        J.ROOT-SERVERS.NET.

.                       6D IN NS        K.ROOT-SERVERS.NET.

.                       6D IN NS        L.ROOT-SERVERS.NET.

.                       6D IN NS        M.ROOT-SERVERS.NET.

.                       6D IN NS        A.ROOT-SERVERS.NET.

.                       6D IN NS        H.ROOT-SERVERS.NET.

.                       6D IN NS        B.ROOT-SERVERS.NET.

.                       6D IN NS        C.ROOT-SERVERS.NET.

.                       6D IN NS        D.ROOT-SERVERS.NET.

.                       6D IN NS        E.ROOT-SERVERS.NET.

.                       6D IN NS        I.ROOT-SERVERS.NET.

.                       6D IN NS        F.ROOT-SERVERS.NET.

G.ROOT-SERVERS.NET.     5w6d16h IN A    192.112.36.4

J.ROOT-SERVERS.NET.     5w6d16h IN A    198.41.0.10

K.ROOT-SERVERS.NET.     5w6d16h IN A    193.0.14.129

L.ROOT-SERVERS.NET.     5w6d16h IN A    198.32.64.12

M.ROOT-SERVERS.NET.     5w6d16h IN A    202.12.27.33

A.ROOT-SERVERS.NET.     5w6d16h IN A    198.41.0.4

H.ROOT-SERVERS.NET.     5w6d16h IN A    128.63.2.53

B.ROOT-SERVERS.NET.     5w6d16h IN A    128.9.0.107

C.ROOT-SERVERS.NET.     5w6d16h IN A    192.33.4.12

D.ROOT-SERVERS.NET.     5w6d16h IN A    128.8.10.90

E.ROOT-SERVERS.NET.     5w6d16h IN A    192.203.230.10

I.ROOT-SERVERS.NET.     5w6d16h IN A    192.36.148.17

F.ROOT-SERVERS.NET.     5w6d16h IN A    192.5.5.241




Этот файл описывает имена корневых серверов имен по всему миру. Их список изменяется время от времени и эта часть в дальнейшем должна сопровождаться. Смотрите раздел по сопровождению для того, чтобы узнать как хранить эту информацию соответсвующей действительности.


Следующий раздел в named.conf -- это последняя зона. Я объясню как она используется в следующих разделах, сейчас просто создайте файл, названный 127.0.0 в поддиректории pz:



@               IN      SOA     ns.linux.bogus. hostmaster.linux.bogus. (

                                1       ; Serial

                                8H      ; Refresh

                                2H      ; Retry

                                1W      ; Expire

                                1D)     ; Minimum TTL

                        NS      ns.linux.bogus.

1                       PTR     localhost.




Далее вам необходимо, чтобы ваш файл /etc/resolv.conf выглядел примерно так:



search subdomain.your-domain.edu your-domain.edu

nameserver 127.0.0.1




Строка `search' задает в каких доменах должен идти поиск машин с кокторыми вы хотите соединиться. Строка `nameserver' указывает адрес вашего сервера имен, в нашем случае это ваша собственная машина, поскольку на ней запущен named (127.0.0.1 это правильный адрес, также никаких проблем, если ваша машина имеет другой адрес). Если вы хотите перечислите несколько серверов имен, то поместите их по одному в строку со словом `nameserver' для каждого. (Замечание: Named никогда не читает этот файл, это делает программа resolver, которая использует named).

Проиллюстрируем как это работает: Если клиент пытается найти машину с именем foo, то сначала программа пытается найти машину с полным именем foo.subdomain.your-domain.edu, затем с именем foo.your-fomain.edu, и в конце концов foo. Если клиент пытается найти sunsite.unc.edu, то сначала пробуется sunsite.unc.edu.subdomain.your-domain.edu (да это глупо, но вот так это работает), затем sunsite.unc.edu.your-domain.edu, и в конце концов sunsite.unc.edu. Вы можете не помещать слишком много доменов в строку поиска, поскольку поиск в них займет слишком много времени.

Пример предполагает, что вы находитесь в домене subdomain.your-domain.edu, и ваша машина вероятно называется your-machine.subdomain.your-domain.edu. Строка поиска не должна содержать ваш TLD (Top Level Domain (Домен Верхнего Уровня), `edu' в нашем случае). Если вам необходимо часто соединяться с машиной в другом домене, то вы можете добавить этот домен в строку поиска, примерно вот так:



search subdomain.your-domain.edu your-domain.edu other-domain.com



и так далее. Очевидно, что вам необходимо поместить в эту строку имена настоящих доменов, вместо вышеприведенных. Пожалуйста заметьте отсутствие точки в конце имени домена.

Далее в зависимости от вашей версии libc вам необходимо вносить исправления либо в файл /etc/nsswitch.conf, либо в файл /etc/host.conf. Если у вас уже есть файл nsswitch.conf, то значит мы будем вносить исправления в него, если же его нет, то мы будем вносить изменения в файл host.conf.

/etc/nsswitch.conf

Это длинный файл описывающий как получить разные типы данных, из какого файла или базы данных. В начале он обычно содержит полезные комментарии, которые вы должны учесть при чтении этого файла. После того, как вы найдете строку начинающуюся с `hosts:', вы должны увидеть:



hosts:      files dns



Если в этом файле нет строки начинающейся с `hosts:', то поместите вышеприведенную строку в файл. Эта строка указывает программам сначала выполнять поиск в файле /etc/hosts, а затем просматривать DNS в соответствии с порядком указаном в файле resolv.conf.

/etc/host.conf

Этот файл вероятно содержит разные данные, одна из строк должна начинаться со слова order и выглядеть примерно так:



order hosts,bind




Если строки с `order' нет, то вы должны ее вставить. Она заставляет подпрограмму разрешения имен сначала посмотреть в файле /etc/hosts, а затем сделать запрос к серверу имен (который в resolv.conf указан как машина с адресом 127.0.0.1). Эти два последних файла описаны в разделе (8) справочной системы (выполните команду `man 8 resolv') в большинстве дистрибутивов Linux. По моему мнению это вполне читаемая справочная страница, и каждый человек, особенно администраторы DNS, должны прочитать ее хотя бы раз. Сделайте это сейчас! Если вы скажете себе "я сделаю это позже", то вы никогда это не сделаете.

3.1 Запуск named


После этих приготовлений пришло время запуска named. Если вы используете dialup соединение, то сначала произведите подключение. Наберите `ndc start' без опций, и нажмите клавишу return. Если никакого результата нет, то попробуйте следующую команду `/usr/sbin/ndc start'. Если опять попытка не удалась, то смотрите раздел Вопросы и ответы. Теперь мы можем протестировать нашу настройку. Если вы посмотрите в файл сообщений syslog (обычно названный /var/adm/messages, но может быть другая директория /var/log и другой файл syslog в которые необходимо посмотреть) во время запуска named (выполните команду tail -f /var/log/messages), то вы должны увидеть что-то подобное следующему:

(строки заканчивающиеся на \ продолжаются на следующей строке)


Feb 15 01:26:17 roke named[6091]: starting.  named 8.1.1 Sat Feb 14 \

  00:18:20 MET 1998 ^Ijanl@roke.uio.no:/var/tmp/bind-8.1.1/src/bin/named

Feb 15 01:26:17 roke named[6091]: cache zone "" (IN) loaded (serial 0)

Feb 15 01:26:17 roke named[6091]: master zone "0.0.127.in-addr.arpa" \

  (IN) loaded (serial 1)

Feb 15 01:26:17 roke named[6091]: listening [127.0.0.1].53 (lo)

Feb 15 01:26:17 roke named[6091]: listening [129.240.230.92].53 (ippp0)

Feb 15 01:26:17 roke named[6091]: Forwarding source address is [0.0.0.0].1040

Feb 15 01:26:17 roke named[6092]: Ready to answer queries.



Если есть какие-нибудь сообщения об ошибках, то значит вы что-то сделали неправильно. Named укажет в каком файле ошибка (я надеюсь, что это один из файлов named.conf и root.hints :-). Завершите выполнение named и проверьте файлы конфигурации.

Теперь пора запустить nslookup и проверить результаты вашей работы.


$ nslookup

Default Server:  localhost

Address:  127.0.0.1

>



Если это выглядит так, то значит вы заставили систему работать. Мы так надеемся. Если что-то другое, то вернитесь назад и все проверьте. Каждый раз когда вы изменяете файл named.conf, вам необходимо перезапустить named, используя команду ndc restart.

Теперь мы можем ввести запрос на поиск информации. Попробуйте найти машину близкую к вам. pat.uio.no находится близко от меня, в Университете Осло:


> pat.uio.no

Server:  localhost

Address:  127.0.0.1

Name:    pat.uio.no

Address:  129.240.130.16



Сейчас nslookup попросит ваш named посмотреть информацию о машине pat.uio.no. Затем он соединится с одним из серверов имен, перечисленных в вашем файле root.hints, и запросит у него путь к данной машине. Это может занять какое-то время, до того как вы получите результаты, поскольку система сначала ищет заданную машину во всех доменах перечисленных в вашем файле /etc/resolv.conf.

Если вы запросите то же самое, то вы получите такой ответ:


> pat.uio.no

Server:  localhost

Address:  127.0.0.1

Non-authoritative answer:

Name:    pat.uio.no

Address:  129.240.2.50



Заметим, что мы в это раз получили сообщение `Non-authoritative answer:'. Это означает, что named в этот раз не делал запрос к внешним серверам имен, а вместо этого произвел поиск в своем кеше и нашел там ответ. Но кешированная информация может быть устаревшей. Так что он вас информируют об этой (весьма незначительной) опасности сообщением `Non-authorative answer:'. nslookup выдает это сообщение, когда вы второй раз запрашиваете об одной и той же машине -- это знак того, что named кеширует информацию и это значит, что он работает правильно. Вы можете завершить работу nslookup дав команду `exit'.

Теперь вы знаете как установить кеширующий сервер имен. Возьмите пива, молока или того, что вы предпочитаете и отпразднуйте это.


>--------------------------------------------------------------------------------
>
>While trying to retrieve the URL: http://hands.ns1.rucom.ru/index.html
>
>The following error was encountered:
>
>Unable to determine IP address from host name for hands.ns1.rucom.ru
>The dnsserver returned:
>
>Name Error: The domain name does not exist.
>This means that:
>
> The cache was not able to resolve the hostname presented in
>the URL.
> Check if the address is correct.
>
>Your cache administrator is root.
>
>
>
>--------------------------------------------------------------------------------
>Generated Wed, 05 May 2004 15:27:46 GMT by lels (Squid/2.4.STABLE6)
>Где копать, подскажите? я с линуксом недавно столкнулся. Почему сквид игнорирует настройки
>hosts? Третий день парюсь, все перечитал, понятия не имею, что делать..
>


  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "ДНС, мозгов не хватает"
Сообщение от rusya Искать по авторуВ закладки(ok) on 06-Май-04, 07:57  (MSK)
Все это замечательно, а теперь поподробнее
Стоит ретхат, на нем named, squid,sendmail. ДСЭЛЬ. Парни сверху тестируют сервак или сайт или что-то еще - неважно. У них, я так понял просто нет пока записи у провайдера о  том, что они - это ип адрес такой-то. Поэтому они попросили создать такое соответствие в файлах хостс на виндовых машинах. и все бы замечательно резолвилось, если бы каждая машина была отдельно подключена в интернет. но на машинах прописан ип ретхата в кач-ве днса. Так вот где в ретхате прописать брбрбр.дрдрдр.ru ххх.ххх.ххх.ххх, чтобы в браузерах клиентских машин можно было писать не айпи - адрес, а брбрбр.дрдрдр.ru ?
  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру