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

Обращение к определённым DNS-серверам

Добавлено: 02 сен 2014, 10:38
Barvinok
В разрезе использования двух провайдеров возник такой вопрос: можно ли явно указать DNS-сервер что бы разрешить определённое имя?
А если говорить прямо, для разрешения имени tp.internet.beeline.ru (VPN-сервер Билайна) нужно обратиться именно к Билайновским DNS-серверам через локальную сеть. А при установленном PPPoE-соединении Ростелекома, роутер пытается разрешить это имя обращаясь к Ростелекомовским DNS-серверам. И, естественно, Ростелеком ничем ему помочь не может.

Можно это как-то задать в /ip dns или хотя бы получать скриптом через [:resolve tp.internet.beeline.ru] ?

Re: Обращение к определённым DNS-серверам

Добавлено: 02 сен 2014, 17:43
pubuser
Можно конечно же, в ручную задать в ip/dns и роутер всегда будет стучать сперва на свой внутренний днс и только потом уже на внешние. Проблема когда на одном имени несколько ip решается просто - созданием для всех ip идентичной записи в ручную. Я таким образом как раз и подключал пчелиный "интернет дома", создал 3 записи под именем vpn.local в роутере и при пинге или обращении он каждый раз на следующий адрес обращается. Само собой что компы в сети должны получать днс адресом адрес роутера и никакой другой.

Re: Обращение к определённым DNS-серверам

Добавлено: 03 сен 2014, 07:23
gmx
Можно вот такой командой

chain=dstnat action=dst-nat to-addresses=193.58.251.251 to-ports=53 protocol=udp src-address=192.168.1.0/24 dst-port=53, причем неважно, какой DNS установлен на клиентах.

У меня вся подсеть 192.168.1.0/24 отправляет запросы на SkyDns, все остальные
подсети пользуются DNS, который дает провайдер.

Re: Обращение к определённым DNS-серверам

Добавлено: 03 сен 2014, 16:47
Barvinok
pubuser писал(а):Можно конечно же, в ручную задать в ip/dns и роутер всегда будет стучать сперва на свой внутренний днс и только потом уже на внешние. Проблема когда на одном имени несколько ip решается просто - созданием для всех ip идентичной записи в ручную. Я таким образом как раз и подключал пчелиный "интернет дома", создал 3 записи под именем vpn.local в роутере и при пинге или обращении он каждый раз на следующий адрес обращается. Само собой что компы в сети должны получать днс адресом адрес роутера и никакой другой.


Поскольку провайдера два, то DNS выглядит так:

Код: Выделить всё

/ip dns> print 
                servers: 213.234.192.8,85.21.192.3
        dynamic-servers: 80.254.108.198,80.254.108.206
  allow-remote-requests: yes

Т.е DNS-сервера Би-Лайна я прописал статично, а DNS-сервера Ростелекома он получает динамически по DHCP.
Но что бы поднять L2TP до Би-Лайна, нужно разрешить имя tp.internet.beeline.ru обратившись к DNS-серверам именно Би-Лайна! Это я поясняю для GMX. Т.е. мне нужно отправлять запросы на эти сервера по признаку разрешаемого имени, а не по адресу источника, как в твоём случае.
Сейчас я прописал статику и это работает:

Код: Выделить всё

/ip dns static print 
Flags: D - dynamic, X - disabled, R - regexp
 #     NAME                                      ADDRESS                                                                      TTL         
 0     ;;; BeeLine VPN-server 1
       tp.internet.beeline.ru                    85.21.230.15                                                                 1d         
 1     ;;; BeeLine VPN-server 2
       tp.internet.beeline.ru                    89.179.17.139                                                                1d         
 2     ;;; BeeLine VPN-server 3
       tp.internet.beeline.ru                    85.21.230.13                                                                 1d   

Но имеет очевидные недостатки: если Би-Лайн вдруг решит выключить какой-то из серверов (или просто поменять адреса) - всё, капец.

Поэтому я определяю вопрос очень строго: как отправлять запросы на определённые DNS-сервера в зависимости от разрешаемого имени?
Или резловить с помощью скрипта и подсовывать в поле "connect-to=".

Обычно подразумевается, что все DNS-сервера даёт одинаковые ответы. И на моей памяти никто никогда не задумывался над тем, "а что если ответы разные"? Или какой-то из серверов знает о некоторых именах больше, чем другие?

Например, у себя на компьютере я могу командой nslookup задать вопрос совершенно определённому DNS-северу:

Код: Выделить всё

C:\Users\Вова>nslookup tp.internet.beeline.ru 85.21.192.3
╤хЁтхЁ:  hdns2.corbina.net
Address:  85.21.192.3

╚ь :     tp.internet.beeline.ru
Address:  85.21.230.15


C:\Users\Вова>nslookup tp.internet.beeline.ru 213.234.192.8
╤хЁтхЁ:  hdns1.corbina.net
Address:  213.234.192.8

╚ь :     tp.internet.beeline.ru
Addresses:  85.21.230.15
          85.21.230.13

Как видите, ответы разные. Вот я хочу так же задать вопрос языком командного интерпретатора RouterOS. К примеру [:resolve tp.internet.beeline.ru]... и но как указать сервер, к которому я хочу обратиться?

Re: Обращение к определённым DNS-серверам

Добавлено: 04 сен 2014, 07:24
gmx
Да я понял, что у вас все сложнее. Но ведь вы трафик как-то разруливаете.
Он же не рандомно у вас идет к обеим провайдерам.
Может в зависимости от того, куда вы отправляете трафик, подменять DNS. Используя мое правило, но изменив условие его срабатывания на соответствующий WAN порт.
Я правда такого никогда не пробовал. В моей местности один провайдер.

Re: Обращение к определённым DNS-серверам

Добавлено: 08 дек 2016, 10:38
mitiya
Собственно та же проблема, может нашлось какое решение ?

Re: Обращение к определённым DNS-серверам

Добавлено: 08 дек 2016, 11:28
gmx
Решение я дал несколькими постами выше. Где проблема-то???

Re: Обращение к определённым DNS-серверам

Добавлено: 10 дек 2016, 08:19
vqd
буквально вчера решал аналогичную задачу только операторов было аж 5 штук. Нужно было решить без скриптов (бюджета маленько не хватило на схему резервирования) и статических записей в ДНС. В общем сделал так что таблица маршрутизации для микротик начинается с билайновкого канала, таблица маршрутизации для пользователей начиналась с канала который клиент сказал. Чуть позже когда будет внедрятся схема резервирования то в скрипт добавлю работу с ДНС в зависимости от статусов каналов ибо сейчас решение для пользователей в плане ДНС весьма кривое

К стати к теме не относится но все же. Начиная с ROS 6.37 в адрес листы можно добавлять доменное имя и микротик сам его преобразует к адресам, причем сразу ко всем которые там записаны. Весьма удобная фишка скажу я вам

Так же появилась возможность создавать Interface List что в работе с большим количеством каналов довольно не плохо сокращает количество правил в фаерволе

Re: Обращение к определённым DNS-серверам

Добавлено: 10 дек 2016, 10:46
gmx
И не говори...

мы тут только недавно узнали про адресс листы. :-):
Нас тут новичок на место поставил. :-): Пару страниц назад. В очередной теме про блокировки.

И правда отличная фишка.