The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"DNSMASQ не резолвит некоторые имена"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (DNS / Linux)
Изначальное сообщение [ Отслеживать ]

"DNSMASQ не резолвит некоторые имена"  +/
Сообщение от D_MAN email(ok) on 09-Авг-13, 10:54 
Добрый день! Вопрос такой есть интернет-банк от Райффайзен Банк (https://elbrus.raiffeisen.ru)
Так вот имя elbrus.raiffeisen.ru не всегда резолвится в IP адрес.
Пользователи подключены через шлюз на Ubuntu 12.04. На нем установлен Squid SAMS dnsmasq resolvconf. Шлюз подключен к двум провайдерам, один основной ppp0, а другой резервный eth2.
Если я на шлюзе пробую
nslookup elbrus.raiffeisen.ru
Server:         127.0.0.1
Address:        127.0.0.1#53

Non-authoritative answer:
elbrus.raiffeisen.ru    canonical name = elbrus.gss.raiffeisen.ru.

Если ввести
nslookup elbrus.raiffeisen.ru 8.8.4.4
Server:         8.8.4.4
Address:        8.8.4.4#53

Non-authoritative answer:
elbrus.raiffeisen.ru    canonical name = elbrus.gss.raiffeisen.ru.
Name:   elbrus.gss.raiffeisen.ru
Address: 193.28.44.152

Если у пользователя указать в свойствах браузера в качестве прокси адрес шлюза, то имя elbrus.raiffeisen.ru не резолвится, если не указывать, то резолвится.
Пока обошелся тем что в конфиге squid указал гугловские ДНС.

Настройка /etc/network/interfaces
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
        address 192.168.2.50
        netmask 255.255.255.0
        network 192.168.2.0
        broadcast 192.168.2.255
        # dns-* options are implemented by the resolvconf package, if installed
#       dns-search LOCALDOMAIN.local
        dns-nameservers 192.168.2.101 192.168.2.200

# Интернет от Квантум
auto eth2
iface eth2 inet static
        address 2.2.2.2
        netmask 255.255.255.252
        network 2.2.2.0
        broadcast 2.2.2.255
        gateway 2.2.2.1
        dns-nameservers 88.86.68.254 213.170.64.33

# Интернет от ЭР Телеком
auto dsl-provider
iface dsl-provider inet ppp
pre-up /sbin/ifconfig eth1 up # line maintained by pppoeconf
provider dsl-provider

# Через эту сетевую карту устанавливается PPPoE соединение с ЭР Телеком
auto eth1
iface eth1 inet manual

/etc/dnsmasq.conf
interface=lo
interface=eth0
bind-interfaces
# локальный домен для автоматической подстановки в случае неполного доменного имени
#domain=LOCALDOMAIN.local
# сервера локальной сети для домена rido.local
#server=/LOCALDOMAIN.local/192.168.2.101
#server=/0.168.192.in-addr.arpa/192.168.2.101
# Размер кэша
cache-size=600
#resolv-file=/etc/resolv.dnsmasq
# логируем запросы в файл /var/log/dnsmasq.log
log-queries
log-facility=/var/log/dnsmasq.log

cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.1
search LOCALDOMAIN.local

В логе dnsmasq.log по поводу elbrus.raiffeisen.ru следующее
query[A] elbrus.raiffeisen.ru.LOCALDOMAIN.local from 192.168.2.101
Aug  9 09:04:06 dnsmasq[14789]: forwarded elbrus.raiffeisen.ru.LOCALDOMAIN.local to 192.168.2.101
Aug  9 09:04:06 dnsmasq[14789]: reply elbrus.raiffeisen.ru.LOCALDOMAIN.local is NXDOMAIN-IPv4
Aug  9 09:04:06 dnsmasq[14789]: query[AAAA] elbrus.raiffeisen.ru.LOCALDOMAIN.local from 192.168.2.101
Aug  9 09:04:06 dnsmasq[14789]: forwarded elbrus.raiffeisen.ru.LOCALDOMAIN.local to 192.168.2.101
Aug  9 09:04:06 dnsmasq[14789]: reply elbrus.raiffeisen.ru.LOCALDOMAIN.local is NXDOMAIN-IPv6
Aug  9 09:04:06 dnsmasq[14789]: query[A] elbrus.raiffeisen.ru from 192.168.2.101
Aug  9 09:04:06 dnsmasq[14789]: cached elbrus.raiffeisen.ru is <CNAME>
Aug  9 09:04:06 dnsmasq[14789]: query[AAAA] elbrus.raiffeisen.ru from 192.168.2.101
Aug  9 09:04:06 dnsmasq[14789]: cached elbrus.raiffeisen.ru is <CNAME>
Aug  9 09:04:06 dnsmasq[14789]: forwarded elbrus.raiffeisen.ru to 192.168.2.101

Aug  9 10:09:29 dnsmasq[19054]: query[A] elbrus.raiffeisen.ru from 127.0.0.1
Aug  9 10:09:29 dnsmasq[19054]: cached elbrus.raiffeisen.ru is <CNAME>
Aug  9 10:30:22 dnsmasq[19054]: query[A] elbrus.raiffeisen.ru from 127.0.0.1
Aug  9 10:30:22 dnsmasq[19054]: cached elbrus.raiffeisen.ru is <CNAME>
Aug  9 10:30:42 dnsmasq[19054]: query[A] elbrus.raiffeisen.ru from 127.0.0.1
Aug  9 10:30:42 dnsmasq[19054]: cached elbrus.raiffeisen.ru is <CNAME>
Aug  9 10:30:48 dnsmasq[19054]: query[A] elbrus.raiffeisen.ru from 192.168.2.50
Aug  9 10:30:48 dnsmasq[19054]: cached elbrus.raiffeisen.ru is <CNAME>
Aug  9 10:39:06 dnsmasq[19054]: query[A] elbrus.raiffeisen.ru from 127.0.0.1
Aug  9 10:39:06 dnsmasq[19054]: cached elbrus.raiffeisen.ru is <CNAME>
(лог не весь, так как простыня очень большая)

У пользователей в качестве ДНС установлены два ДНС локальной сети (контроллеры домена) На этих контроллерах домена сделана пересылка на шлюз.
Где я накосячил понять не могу. Знающие ткните носом пожалуйста.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "DNSMASQ не резолвит некоторые имена"  +/
Сообщение от Etch on 09-Авг-13, 13:29 
Проблема в самом домене. Самым правильным для вас будет - прописать вручную соответствие IP-адреса этому хосту.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "DNSMASQ не резолвит некоторые имена"  +/
Сообщение от D_MAN email(ok) on 09-Авг-13, 13:37 
> Проблема в самом домене. Самым правильным для вас будет - прописать вручную
> соответствие IP-адреса этому хосту.

А почему тогда через googl'овский DNS и через DNS провайдера (91.144.186.3) определяется нормально?

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "DNSMASQ не резолвит некоторые имена"  +/
Сообщение от Etch on 09-Авг-13, 14:47 
> А почему тогда через googl'овский DNS и через DNS провайдера (91.144.186.3) определяется
> нормально?

Возможно, что в самом dnsmasq есть баг, который проявляется при такой настройке ДНС как у этого банка. Либо это не баг, а просто особенность работы этого резолвера. Мне удалось воспроизвести вашу проблему, если послать сначала нерекурсивный запрос:

dig elbrus.raiffeisen.ru. @127.0.0.1 +norecurse

то затем dnsmasq будет некоторое время выдавать только CNAME и на рекурсивные запросы. Через bind и гугловские серверы эта проблема не вопроизводится.


Дело в том, что ДНС-серверы, отвечающие за зону .ru сообщают, что за этот домен отвечают gss1.raiffeisen.ru. и gss2.raiffeisen.ru. и сообщают IP-адреса этих серверов. Но оба этих IP-адреса выдают только CNAME имя, а продолжить поиск имени предалагают... у тех же самых ДНС-серверов (gss1.raiffeisen.ru. и gss2.raiffeisen.ru.), только в дополнительной секции указывают уже другие IP-адреса (для тех же самых имён, которые выдали ДНС-серверы зоны .ru).

Это довольно хрупкая конструкция и неудивительно что она иногда работает криво.


Вы можете послать баг-репорты в банк и разработчикам dnsmasq. Либо можете заменить dnsmasq на что-то другое. Или, как я уже писал, указать статично IP-адрес для этого хоста.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "DNSMASQ не резолвит некоторые имена"  +/
Сообщение от D_MAN email(ok) on 09-Авг-13, 14:52 
Спасибо огромное, проще указать адрес этого узла статически и все.
В будущем возможно заменю dnsmasq на bind.
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

Архив | Удалить

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




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

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