URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 83863
[ Назад ]

Исходное сообщение
"DNS resolve"

Отправлено acd , 29-Янв-09 01:23 
Доброй ночи! Уже сутки мучаюсь с проблемой 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#53

Non-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 resolve"
Отправлено ronin , 29-Янв-09 11:05 
>[оверквотинг удален]
>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.103

1. проверьте слушает ли 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


"DNS resolve"
Отправлено acd , 29-Янв-09 11:43 
>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,
>ronin

Respectfully, acd


"DNS resolve"
Отправлено ronin , 29-Янв-09 13:12 
>>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


"DNS resolve"
Отправлено ronin , 29-Янв-09 13:16 
>Но судя по симптомам где-то действительно блокируется доступ к нейм-серверу снаружи. Подозрение
>на фаерволл.

Вдогонку:

попробуйте с любой машины в локалке делать запросы к этому неймсерверу (nslookup - он и в виндовсе nslookup), и в это же время проверяйте интерфейс на неймсервере на предмет прохождения запросов-ответов. Что-то вроде этого:

tcpdump -ni fxp0 host <your_client_machine>

Что-то мне подсказывает, Вы увидите только приходящие запросы, но не ответы (блокируются фаерволлом).


"DNS resolve"
Отправлено acd , 29-Янв-09 14:12 

>Вдогонку:
>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)


"DNS resolve"
Отправлено acd , 29-Янв-09 13:44 
>А в обратную сторону?
>Что-то вроде
>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


"DNS resolve"
Отправлено ronin , 29-Янв-09 14:19 
>>А в обратную сторону?
>>Что-то вроде
>>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

tcpdump'ом проверяли? Ответы на запросы возвращаются?


>
>>В /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.
и ещё несколько произвольных доменов.



"DNS resolve"
Отправлено acd , 29-Янв-09 15:13 
>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#53

Non-authoritative answer:
beeline.ua      nameserver = ns2.beeline.ua.
beeline.ua      nameserver = ns1.beeline.ua.


"DNS resolve"
Отправлено ronin , 29-Янв-09 16:29 
>[оверквотинг удален]
>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" должен был вывести их тоже, а здесь их не видно; может там просто нету МХ рекорда для этой зоны...
И ещё один вопрос: такая проблема только с этим доменом или с другими тоже?


"DNS resolve"
Отправлено ronin , 29-Янв-09 16:38 
>[оверквотинг удален]
>>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.1

Default 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#53

Non-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#53

beeline.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

Екзим должон вывести все телодвижения по доставке письма.


"DNS resolve"
Отправлено acd , 29-Янв-09 17:44 

>Или сразу вот так:
>
>exim -v ishalayko@beeline.ua
>From: какой-нить_е-мейл
>To: ishalayko@beeline.ua
>Subject: TEST
>test
>
>Екзим должон вывести все телодвижения по доставке письма.

А в ответ - тишина...


"DNS resolve"
Отправлено ronin , 29-Янв-09 18:01 
>[оверквотинг удален]
>>
>>exim -v ishalayko@beeline.ua
>>From: какой-нить_е-мейл
>>To: ishalayko@beeline.ua
>>Subject: TEST
>>test
>>
>>Екзим должон вывести все телодвижения по доставке письма.
>
>А в ответ - тишина...

Телнет-то хоть прорвался?


"DNS resolve"
Отправлено acd , 29-Янв-09 19:37 
>Телнет-то хоть прорвался?

Да.
Спасибо Вам за потраченное на меня время. Я уже поднимаю почтовый сервер на другом компьютере. Закрываю тему.


"DNS resolve"
Отправлено acd , 29-Янв-09 12:00 
> И еще, если использовать его как 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

К чему бы?!


"DNS resolve"
Отправлено tiv , 29-Янв-09 12:15 
allow-recursion укажите

"DNS resolve"
Отправлено acd , 29-Янв-09 12:40 
>allow-recursion укажите

указано - не помагает. ;(


"DNS resolve"
Отправлено tiv , 29-Янв-09 14:09 
раз меняли внешний ip то возможно забыли поставить знак "внешний IP;" в строке
allow-query { 127.0.0.1; 192.168.16.0/24; 192.168.30.0/24; внешний IP };

"DNS resolve"
Отправлено acd , 29-Янв-09 14:14 
>раз меняли внешний ip то возможно забыли поставить знак "внешний IP;" в
>строке
>allow-query { 127.0.0.1; 192.168.16.0/24; 192.168.30.0/24; внешний IP };

Нет. Там все на месте.