Чтобы это значило? Ну бьюсь неделю, а он никак не хочет кешировать, выдает такую ошибку -
*** Can't find server name for address 127.0.0.1: Non-existent host/domain
*** Can't find server name for address ::: No response from server
*** Default servers are not available
netstat -r покажет тебе запущенные сервисы на сервере
more /etc/hosts покажи.
Кроме возможности отсутствия
zone "0.0.127.in-addr.arpa"
также есть подозрение на неправильно прописанную директиву
listen-on { 192.168.0.1; };
должно быть так : listen-on { 192.168.0.1; 127.0.0.1; };
ЗЫ nslookup на hosts внимания не обращает при попытке
найти dns в зоне обратного просмотра
tcp4 0 0 127.0.0.1.53 *.* LISTEN
tcp4 0 0 145.15.56.67.53 *.* LISTEN
tcp4 0 0 192.168.1.1.53 *.* LISTEN
udp4 0 0 127.0.0.1.53 *.*
udp4 0 0 145.15.56.67.53 *.*
udp4 0 0 192.168.1.1.53Вот такую картину показывает нетстат. Вроде как все прослушивается?
>tcp4 0
> 0 127.0.0.1.53
> *.*
>
> LISTEN
>tcp4 0
> 0 145.15.56.67.53
> *.*
> LISTEN
>
>tcp4 0
> 0 192.168.1.1.53
> *.*
>
>LISTEN
>udp4 0
> 0 127.0.0.1.53
> *.*
>udp4 0
> 0 145.15.56.67.53 *.*
>
>udp4 0
> 0 192.168.1.1.53
>
>Вот такую картину показывает нетстат. Вроде как все прослушивается?
ну значит осталось докрутить /etc/hosts и /etc/resolv.conf и в некоторых
системах /etc/nsswitch.conf, после чего все встанет на свои места
/etc/hosts:
127.0.0.1 localhost
resolv.conf:
domain dfg.ru
nameserver 127.0.0.1
named.conf >>
zone "0.0.127.in-addr.arpa" {
type master;
file "localhost.rev";
localhost.rev:
$TTL 3600
@ IN SOA ns.dfg.ru. root.ns.dfg.ru. (
20040603 ; Serial
3600 ; Refresh
900 ; Retry
3600000 ; Expire
3600 ) ; Minimum
IN NS ns.dfg.ru.
1 IN PTR localhost.dfg.ru.
etc/hosts:
127.0.0.1 localhost.dfg.ru localhost
Да тоже самое все равно =(
mail# dig @127.0.0.1 www.ya.ru; <<>> DiG 8.3 <<>> @127.0.0.1 www.ya.ru
; (1 server found)
;; res options: init recurs defnam dnsrch
;; got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23988
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 4, ADDITIONAL: 4
;; QUERY SECTION:
;; www.ya.ru, type = A, class = IN;; ANSWER SECTION:
www.ya.ru. 2h21m35s IN CNAME ya.ru.
ya.ru. 2h5m47s IN A 213.180.210.11;; AUTHORITY SECTION:
ya.ru. 2h5m47s IN NS ns.ispm.ru.
ya.ru. 2h5m47s IN NS ns1.yandex.ru.
ya.ru. 2h5m47s IN NS ns2.yandex.ru.
ya.ru. 2h5m47s IN NS ns3.yandex.ru.;; ADDITIONAL SECTION:
ns.ispm.ru. 3d16h1m29s IN A 80.244.228.2
ns1.yandex.ru. 17h49m59s IN A 213.180.193.1
ns2.yandex.ru. 17h49m59s IN A 213.180.199.34
ns3.yandex.ru. 17h49m59s IN A 213.180.193.2;; Total query time: 13 msec
;; FROM: mail to SERVER: 127.0.0.1 - вот эжто мне как-то выглядит подозрительно???
;; WHEN: Thu Dec 9 15:45:01 2004
;; MSG SIZE sent: 27 rcvd: 213
>;; Total query time: 13 msec
>;; FROM: mail to SERVER: 127.0.0.1 - вот эжто мне как-то выглядит
>подозрительно???Ну а как иначе-то? =)
Обращение ведь идёт к твоему локальному DNS-серверу, это уже его проблемы как он доставит тебе эти данные. Может, он является корневым для зоны ya.ru? ;-)У меня на сервере с установленным BIND выдаётся точно такой же результат.
>>;; Total query time: 13 msec
>>;; FROM: mail to SERVER: 127.0.0.1 - вот эжто мне как-то выглядит
>>подозрительно???
>
>Ну а как иначе-то? =)
>Обращение ведь идёт к твоему локальному DNS-серверу, это уже его проблемы как
>он доставит тебе эти данные. Может, он является корневым для зоны
>ya.ru? ;-)
>
>У меня на сервере с установленным BIND выдаётся точно такой же результат.
>когда кто-то чего-то Н-Е-Д-О-П-О-Н-И-М-А-Е-Т и как результат, не все
настраивает, возникают подобные неувязочки:1) если настраиваем named, значит правильно заполняем зоны, если
с зонами ВСЕ ok, накручиваем security на named.conf2) если подняли named, то ТОЧНО знаем на какие интерфесы и ip он
привязался и с каких будет отвечать, ибо ip nameserver'а и имя домена
будет отдавать своим клиентам3) даже на той машине, на которой крутится named(bind) мы должны
ПРАВИЛЬНО и в соответствии с нашими настройками в зонах, на данной
машине прописать /etc/hosts127.0.0.1 localhost localhost.ourdomain
ip.add.re.ss ns ns.ourdomainверхние две записи по хорошему должны соответствовать содержимому зон
4) /etc/resolv.conf - даже сама машина на которой крутиться named будет
выступать клиентом по запросам dns к named:domain ourdomain
nameserver здесь_ip_нашего_nameserver'аnameserver'ов можно задавать не более трех, вместо domain можно
использовать search перечисление доменов (ВМЕСТО, НО НЕ ВМЕСТЕ)
Если указываем в /etc/resolv.conf:
...
nameserver 127.0.0.1должны быть уверены что:
1) FIREWALL разрешает DNS запросы к 127.0.0.1
2) должны быть уверены что named (named.conf) позволяет запросы и ответы
к/от 127.0.0.1 и слушает 127.0.0.1Если верхнее не очень понятно или не удалось как следует настроить,
то убрать nameserver 127.0.0.1 и вместо него вставить запросы к IP
нашего NS что указан в зоне (если это наша же машина, то ifconfig
должен быть привязан к этому ip)Пример (если хочется так как хочется, делать нужно соответственно):
[unix1]~ > hostname
unix1.jinr.dubna.su
[unix1]~ > ps -axuww | grep named
bind 101 0,0 0,5 2400 1352 ?? Is 20ноя04 0:00,47 named -u bind -g bind
[unix1]~ > ifconfig fxp0 | grep 159.93.17.121
inet 159.93.17.121 netmask 0xfffff000 broadcast 159.93.31.255
[unix1]~ >выше: машина unix1, на ней поднят named, ее ip=159.93.17.121,
он же является NS'омк чему привязался named:
[unix1]~ > sockstat | grep ":53" | grep 127.0.0.1
bind named 101 28 udp4 127.0.0.1:53 *:*
bind named 101 29 tcp4 127.0.0.1:53 *:*
[unix1]~ > sockstat | grep ":53" | grep 159.93.17.121
bind named 101 20 udp4 159.93.17.121:53 *:*
bind named 101 21 tcp4 159.93.17.121:53 *:*
[unix1]~ >В firewall разрешены запросы port 53/tcp/udp к 127.0.0.1, к своему
loopback и к 159.93.17.121[unix1]~ > grep ^127.0.0.1 /etc/hosts
127.0.0.1 localhost localhost.jinr.dubna.su
[unix1]~ > grep ^159.93.17.121 /etc/hosts
159.93.17.121 unix1 unix1.jinr.dubna.su unix1.jinr.ru
[unix1]~ > grep NS /etc/namedb/master/lavr.pp.ru
IN NS unix1.jinr.ru.
IN NS alone.dubna.ru.
; IN NS spleen.demos.su.выше: localhost и unix1 - прописаны как нужно в /etc/hosts и
для примера NS из зоныТеперь подошли к /etc/resolv.conf (там где используется SYSV nsswitch.conf
первым должны идти запросы к локальным файлам files (/etc/hosts), затем
к dns ...)[unix1]~ > cat /etc/resolv.conf
domain jinr.dubna.su
nameserver 127.0.0.1
nameserver 159.93.17.130
nameserver 159.93.17.7Проверяем работу и ответ nameserver'а со 127.0.0.1 и localhost:
[unix1]~ > nslookup -q=a ya.ru. 127.0.0.1
Server: localhost
Address: 127.0.0.1Non-authoritative answer:
Name: ya.ru
Address: 213.180.210.11[unix1]~ > nslookup -q=a rambler.ru. localhost
Server: localhost
Address: 127.0.0.1Name: rambler.ru
Addresses: 81.19.66.50, 81.19.66.131[unix1]~ >
Если все правильно, получим верхнее, для 100% уверенности получения
ответов на запросы только со 127.0.0.1, оставить в /etc/resolv.conf
только ОДИН nameserver 127.0.0.1.Все, возвращем настройки взад /etc/resolv.conf:
domain jinr.dubna.su
nameserver 159.93.17.121
nameserver 159.93.17.130
nameserver 159.93.17.7Если наш DNS держит много зон:
search jinr.ru jinr.dubna.su uni-dubna.ru
nameserver 159.93.17.121
nameserver 159.93.17.130
nameserver 159.93.17.7Прим: если используется search и sendmail, то при наличии MX в зоне
со "*" (звездочкой) могут быть проблемы.Ничего сложного или непонятного.
сделал все, как написал уважаемый, но дойдя до определенного пункта все по другому -
mail# nslookup -q=a rambler.ru. localhost
Server: localhost
Address: 127.0.0.1*** Request to localhost timed-out
mail# nslookup -q=a rambler.ru. localhost
Server: localhost
Address: 127.0.0.1Non-authoritative answer:
Name: rambler.ru
Addresses: 81.19.66.50, 81.19.66.131все выше как у тебя точь в точь.
Проверь еще раз настройки firewall'aдля интерфейс lo0 должно все проходить, без ограничений
все разрешено.
mail# telnet 127.0.0.1:53
127.0.0.1:53: hostname nor servname provided, or not known
mail# на все один ответ
уважаемый у тебя в /etc/hosts сколько записей? одна?
нет,
127.0.0.1 localhost localhost.dfg.ru
192.168.1.5 mail mail.dfg.ru
192.168.1.50 ftp.dfg.ru
а дальше
192.168.1.3 Vasia
192.168.1.4 Dima
192.168.1.6 Oleg
>сделал все, как написал уважаемый, но дойдя до определенного пункта все по
>другому -
>mail# nslookup -q=a rambler.ru. localhost
>Server: localhost
>Address: 127.0.0.1
>
>*** Request to localhost timed-outзапрос отлетел по тайм-ауту
>mail# nslookup -q=a rambler.ru. localhost
>Server: localhost
>Address: 127.0.0.1
>
>Non-authoritative answer:
>Name: rambler.ru
>Addresses: 81.19.66.50, 81.19.66.131
>
>все выше как у тебя точь в точь.запрос прошел, в чем проблемы? если ряд адресов закеширован, будет взят
из кеша, если нет, начнет посылать рекурсивные запросы и отдавать
клиенту, остальное зависит от получения ответа nameserver'у и отдача
им клиенту, объяснять почему истекло время и запрос отвалился по тайм-ауту
не вижу смысла
да та не понимаешь - это он берет все время с форвардера, а сам из своего кеша не хочет читать, т.к. показывает выше описанную ошибку. И если я убираю форвардер, то он вообще отказывается работать.
>да та не понимаешь - это он берет все время с форвардера,
>а сам из своего кеша не хочет читать, т.к. показывает выше
>описанную ошибку. И если я убираю форвардер, то он вообще отказывается
>работать.
Файл localhost.rev должен выглядеть так:
================================================================
$TTL 3600
@ IN SOA localhost. root.localhost. (
20040603 ; Serial
3600 ; Refresh
900 ; Retry
3600000 ; Expire
3600 ) ; Minimum
IN NS localhost.
1 IN PTR localhost.
=================================================================
>
В файле /etc/hosts должена быть запись для loopback:
127.0.0.0 localhost # loopback
Тоже самое...
и мне make-localhost совсем другой сделал localhost.rev
а запись есть у меня эта в hosts.
Так что же это может быть?