Страница 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
И не говори...
мы тут только недавно узнали про адресс листы.
Нас тут новичок на место поставил.
Пару страниц назад. В очередной теме про блокировки.
И правда отличная фишка.