Страница 1 из 1

Как поймать DNS запрос

Добавлено: 02 июн 2014, 16:36
Oleg78
Здравствуйте!

У меня следующая ситуация:
Есть два провайдера. У одного провайдера DNSы выдаються по DHCP, у другого прописаны вручную. Также есть почтовый сервер, который находиться в интернете у хостера.
Проблема в том, что доменное имя почтового домена ИНОГДА не правильно резолвится, и соответственно почта перестает работать. Можно конечно прописать РОР3 и СМТП в виде IP адреса и обойти проблему, но так не интересно. Если я с компютера командой dig спрашиваю у конкретного DNS провайдера, то IP выдается правильный (спрашивал у всех DNSов обеих провайдеров). Но откуда ж тогда микротик берет неправильный IP? Когда я очищаю DNS кеш на микротике, то со следующим запросом на почтовик микротик получает правильный IP. И так работает до тех пор, пока опять откуда то не подцепит неправильный. Еще заметил такой факт, что у DNS запроса с неправильным IP -- TTL = 20 часов, а с правильным -- TTL = 20 минут. Соответственно если подцепил, то надолго.

В связи с этим главный вопрос: Как на микротике посмотреть откуда и когда приходит неправильный IP ? Микротик 951G-2HnD.

Re: Как поймать DNS запрос

Добавлено: 03 июн 2014, 09:34
Corvus
Как вариант использовать static dns.
Или не получать dns с "неправильного" провайдера

Re: Как поймать DNS запрос

Добавлено: 03 июн 2014, 10:33
gmx
Запрос ДНС - это запрос по протоколу UDP по 53 порту.
Вы можете перехватить его и направить куда угодно.

Статическая запись на микротике поможет, если у клиента в качестве ДНС именно микротик.

Для всех остальных, конструкция вида
chain=dstnat action=dst-nat to-addresses=193.58.251.251
protocol=udp src-address=192.168.1.0/25 dst-port=53

(IP подставите свои)

отправит запрос на правильный DNS.

Re: Как поймать DNS запрос

Добавлено: 03 июн 2014, 11:07
Corvus
[offtop]
Разве не является хорошей практикой указывать в роли dns сам микротик?
[/offtop]

Re: Как поймать DNS запрос

Добавлено: 03 июн 2014, 15:35
Oleg78
Статическую запись прописать можно, но мне хочется докопаться до истины. То есть узнать кто из провайдеров или сам хостер (где находиться ДНС зона почтовика) выдает неправильную запись, и потом поставить провайдера или хостера перед фактом.
Забыл сказать, что неправильный IP -- это старый IP этого самого почтовика. Новый IP уже работает около года, но проблемы начались только недели 2 назад.
Хостеру я писал. Просил пусть проверят ДНС записи, но они все валят на провайдеров, мол у них может что-то там закешировалось.
53 порт перенаправить -- идея. Но я не знаю когда именно (в какое время суток) может прийти неправильный запрос. Поэтому было бы хорошо как-то логинить все ДНС ответы, но чтоб сеть при этом работала. Если я узнаю какой ДНС выдал, то напишу провайдеру итд.