Доброй ночи! Уже сутки мучаюсь с проблемой DNS-сервера, а именно в нем, как мне кажется проблема. Суть дела: поменял я внешний IP-адрес на шлюзовом сервере, внес соответствующие изменения куда надо. Интернет в сети работает, но почта (exim) перестала - драйвер dnslookup отвечает "R=dnslookup T=remote_smtp defer (-53): retry time not reached for any host". Cервер на DNS-запрос отвечает, но как-то странно:# nslookup ibm.com
Server: 127.0.0.1 //вместо localhost.my.domain
Address: 127.0.0.1#53Non-authoritative answer:
Name: ibm.com
Address: 129.42.16.103И еще, если использовать его как DNS-сервер для локали из другого компьютера, то он ничего не отвечает!! :(
Даже если остановить named, то результат тот же:# nslookup ibm.com
Server: 80.91.160.2 //вместо ns.datagroup.com.ua
Address: 80.91.160.2#53В чем проблема?! Из-за єтого не работает exim...
>[оверквотинг удален]
>DNS-запрос отвечает, но как-то странно:
>
># nslookup ibm.com
>Server: 127.0.0.1
> //вместо localhost.my.domain
>Address: 127.0.0.1#53
>
>Non-authoritative answer:
>Name: ibm.com
>Address: 129.42.16.1031. проверьте слушает ли bind на айпишке интерфейса (возможно что он просто привязан к 127.0.0.1 и больше ни к чему).
2. проверьте acсess control lists в конфигурации bind. У меня такое подозрение что он просто не обрабатывает запросы ни от кого кроме localhost (как правило, это дефолтная конфигурация).
3. проверьте настройки firewall - тоже возможно что блокируются любые попытки коннекта к неймсерверу.>[оверквотинг удален]
> И еще, если использовать его как DNS-сервер для локали из другого
>компьютера, то он ничего не отвечает!! :(
> Даже если остановить named, то результат тот же:
>
># nslookup ibm.com
>Server: 80.91.160.2
> //вместо ns.datagroup.com.ua
>Address: 80.91.160.2#53
>
> В чем проблема?! Из-за єтого не работает exim...Судя по всему, на Ваших машинах прописан другой нейм-сервер. Вот его-то они и спрашивают вместо вашего bind'a. Или такой вариант: Ваш сервер там прописан первым, а этот 80.91.160.2 - вторым. Первый не отвечает (см. возможные причины выше), тогда клиентская машина переходит к следующему нейм-серверу.
respect,
ronin
>1. проверьте слушает ли bind на айпишке интерфейсаProto Recv-Q Send-Q Local Address Foreign Address (state)
tcp4 0 0 127.0.0.1.953 *.* LISTEN
tcp4 0 0 внешний IP *.* LISTEN
tcp4 0 0 192.168.30.227.53 *.* LISTEN
>2. проверьте acсess control lists в конфигурации bind.listen-on { 127.0.0.1; 192.168.30.227; 77.222.135.62; };
allow-query { 127.0.0.1; 192.168.16.0/24; 192.168.30.0/24; внешний IP };
>3. проверьте настройки firewallСпециально сделал только-что:
ipfw add 10 allow udp from any to me 53Команда выполнена на сервере
# nslookup ibm.com
Server: 127.0.0.1 //вместо его имени
Address: 127.0.0.1#53
>Судя по всему, на Ваших машинах прописан другой нейм-сервер.#ipconfig /all
DNS-серверы: 192.168.30.227
80.91.160.2
Не могу понять, почему сервер отвечает своим адресом вместо своего имени! Здесь то и проблема для exim'а..>respect,
>roninRespectfully, acd
>>3. проверьте настройки firewall
>
> Специально сделал только-что:
>ipfw add 10 allow udp from any to me 53
>А в обратную сторону?
Что-то вроде
ipfw add 11 allow udp from me 53 to any out via lxp0
> Не могу понять, почему сервер отвечает своим адресом вместо своего имени!
>Здесь то и проблема для exim'а..
>В /etc/hostname прописана привязка имени хоста к его айпишке?
Да и вообще, не совсем понимаю, какая разница как сервер себя называет - айпишкой или хостнеймом. На функциональность это не должно влиять никоим образом.Но судя по симптомам где-то действительно блокируется доступ к нейм-серверу снаружи. Подозрение на фаерволл.
respect,
ronin
>Но судя по симптомам где-то действительно блокируется доступ к нейм-серверу снаружи. Подозрение
>на фаерволл.Вдогонку:
попробуйте с любой машины в локалке делать запросы к этому неймсерверу (nslookup - он и в виндовсе nslookup), и в это же время проверяйте интерфейс на неймсервере на предмет прохождения запросов-ответов. Что-то вроде этого:
tcpdump -ni fxp0 host <your_client_machine>
Что-то мне подсказывает, Вы увидите только приходящие запросы, но не ответы (блокируются фаерволлом).
>Вдогонку:
>tcpdump -ni fxp0 host <your_client_machine># tcpdump -ni vlan30 host 192.168.30.10 | grep .53
13:10:49.575926 IP 192.168.30.10.1223 > 192.168.30.227.53: 2+ A? i.ua. (22)
13:10:49.576172 IP 192.168.30.227.53 > 192.168.30.10.1223: 2 1/2/2 A 91.198.36.14 (106)
>А в обратную сторону?
>Что-то вроде
>ipfw add 11 allow udp from me 53 to any out via lxp0# ipfw show 10 11
00010 164 10169 allow udp from any to me dst-port 53
00011 4 534 allow udp from me 53 to any via vlan111
>В /etc/hostname прописана привязка имени хоста к его айпишке?Имеете в виду /etc/hosts? Да.
>На функциональность это не должно влиять никоим образом.
# cat /var/log/exim/mainlog
2009-01-28 17:19:38 1LRLtD-000Hbo-IR == ishalayko@beeline.ua <IShalayko@beeline.ua> R=dnslookup T=remote_smtp defer (-53): retry time not reached for any host
>>А в обратную сторону?
>>Что-то вроде
>>ipfw add 11 allow udp from me 53 to any out via lxp0
>
># ipfw show 10 11
>00010 164 10169 allow
>udp from any to me dst-port 53
>00011 4
> 534 allow udp from me 53 to any via
>vlan111tcpdump'ом проверяли? Ответы на запросы возвращаются?
>
>>В /etc/hostname прописана привязка имени хоста к его айпишке?
>
> Имеете в виду /etc/hosts? Да.Сорри, имел ввиду строку
hostname="ваш_хост"
в /etc/rc.conf
>
>>На функциональность это не должно влиять никоим образом.
>
># cat /var/log/exim/mainlog
>
>2009-01-28 17:19:38 1LRLtD-000Hbo-IR == ishalayko@beeline.ua <IShalayko@beeline.ua> R=dnslookup T=remote_smtp defer (-53): retry time not reached for any hostА попробуйте на этом мейлсервере сделать такое:
nslookup
server 192.168.30.227
set type=ANY
beeline.ua.
и ещё несколько произвольных доменов.
>tcpdump'ом проверяли? Ответы на запросы возвращаются?Да. Я отвечал Вам выше.
>Сорри, имел ввиду строку
>hostname="ваш_хост"
>в /etc/rc.confА как же! Я менял только внешний IP-адрес в rc.conf, firewall, named.conf.
>А попробуйте на этом мейлсервере сделать такое:
>nslookup server
>192.168.30.227
>set type=ANY
>beeline.ua.
>и ещё несколько произвольных доменов.# nslookup
server 192.168.30.227
Default server: 192.168.30.227
Address: 192.168.30.227#53
set type=ANY
beeline.ua
Server: 192.168.30.227
Address: 192.168.30.227#53Non-authoritative answer:
beeline.ua nameserver = ns2.beeline.ua.
beeline.ua nameserver = ns1.beeline.ua.
>[оверквотинг удален]
>Default server: 192.168.30.227
>Address: 192.168.30.227#53
> set type=ANY
> beeline.ua
>Server: 192.168.30.227
>Address: 192.168.30.227#53
>
>Non-authoritative answer:
>beeline.ua nameserver = ns2.beeline.ua.
>beeline.ua nameserver = ns1.beeline.ua.Дык проблема не совсем в ДНС, оказывается, а в Exim. А попробуйте-ка вытащить из ns2.beeline.ua или ns1.beeline.ua МХ рекорды (set type=MX). В принципе, "set type=ANY" должен был вывести их тоже, а здесь их не видно; может там просто нету МХ рекорда для этой зоны...
И ещё один вопрос: такая проблема только с этим доменом или с другими тоже?
>[оверквотинг удален]
>>Non-authoritative answer:
>>beeline.ua nameserver = ns2.beeline.ua.
>>beeline.ua nameserver = ns1.beeline.ua.
>
>Дык проблема не совсем в ДНС, оказывается, а в Exim. А попробуйте-ка
>вытащить из ns2.beeline.ua или ns1.beeline.ua МХ рекорды (set type=MX). В принципе,
>"set type=ANY" должен был вывести их тоже, а здесь их не
>видно; может там просто нету МХ рекорда для этой зоны...
>И ещё один вопрос: такая проблема только с этим доменом или с
>другими тоже?В догонку:
ronin@master:~> nslookup
> server 172.16.0.1Default server: 172.16.0.1
Address: 172.16.0.1#53
> set type=ANY
> beeline.ua.Server: 172.16.0.1
Address: 172.16.0.1#53Non-authoritative answer:
beeline.ua nameserver = ns1.beeline.ua.
beeline.ua nameserver = ns2.beeline.ua.
beeline.ua text = "BeeLine"
beeline.ua text = "Local Head-office"
beeline.ua text = "Phone/fax: +380 44 5019530"
beeline.ua text = "6, Tulchinskay Street, Kyiv, Ukraine"Authoritative answers can be found from:
beeline.ua nameserver = ns2.beeline.ua.
beeline.ua nameserver = ns1.beeline.ua.
> server ns2.beeline.ua.Default server: ns2.beeline.ua.
Address: 77.247.216.8#53
> set type=MX
> beeline.ua.Server: ns2.beeline.ua.
Address: 77.247.216.8#53beeline.ua mail exchanger = 20 mailrelay2.beeline.ua.
beeline.ua mail exchanger = 10 mailrelay1.beeline.ua.
>ronin@master:~>
В зоне определено 2 mail exchanger'а. Это гут. А теперь попробуйте телнетом на каждый из них:
telnet mailrelay2.beeline.ua 25
telnet mailrelay1.beeline.ua 25
Или сразу вот так:exim -v ishalayko@beeline.ua
From: какой-нить_е-мейл
To: ishalayko@beeline.ua
Subject: TEST
testЕкзим должон вывести все телодвижения по доставке письма.
>Или сразу вот так:
>
>exim -v ishalayko@beeline.ua
>From: какой-нить_е-мейл
>To: ishalayko@beeline.ua
>Subject: TEST
>test
>
>Екзим должон вывести все телодвижения по доставке письма.А в ответ - тишина...
>[оверквотинг удален]
>>
>>exim -v ishalayko@beeline.ua
>>From: какой-нить_е-мейл
>>To: ishalayko@beeline.ua
>>Subject: TEST
>>test
>>
>>Екзим должон вывести все телодвижения по доставке письма.
>
>А в ответ - тишина...Телнет-то хоть прорвался?
>Телнет-то хоть прорвался?Да.
Спасибо Вам за потраченное на меня время. Я уже поднимаю почтовый сервер на другом компьютере. Закрываю тему.
> И еще, если использовать его как DNS-сервер для локали из другого
>компьютера, то он ничего не отвечает!! :(#tail /var/log/named.log
Jan 29 10:57:15 main named[7114]: client 192.168.30.37#61342: query (cache) 'dnl-19.geo.kaspersky.com/A/IN' denied
К чему бы?!
allow-recursion укажите
>allow-recursion укажитеуказано - не помагает. ;(
раз меняли внешний ip то возможно забыли поставить знак "внешний IP;" в строке
allow-query { 127.0.0.1; 192.168.16.0/24; 192.168.30.0/24; внешний IP };
>раз меняли внешний ip то возможно забыли поставить знак "внешний IP;" в
>строке
>allow-query { 127.0.0.1; 192.168.16.0/24; 192.168.30.0/24; внешний IP };Нет. Там все на месте.