Редирект DNS запросов.

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Духовитин
мл. сержант
Сообщения: 125
Зарегистрирован: 2014-12-17 8:46:05

Редирект DNS запросов.

Непрочитанное сообщение Духовитин » 2017-05-19 19:14:28

Товарищи, привет!

Искал в инете, но ответа так и не нашёл.
Задача такая:
Есть шлюз на FreeBSD 11 amd64, и на шлюзе работает unbound. Я хочу чтобы все запросы из локалки на посторонние dns сервера заворачивались на этот unbound.

Нашёл в частности похожую тему у Лиссяры на форуме: ТУТ, но ответа там как я понял не содержится.

У меня вот конфиг текущий:
re0 192.168.0.1 - локалка
re1 a.b.c.d - интернет.

На алиасе локального интерфейса, на адресе 10.0.0.1 висит unbound.
И есть правила фаервола:

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

# Нат для раздачи интернета
${FW} nat 1 config log if ${extIF} unreg_only reset same_ports 

# Нат для перехвата DNS запросов на внутреннем интерфейсе
${FW} nat 2 config log if ${intIF} unreg_only reset same_ports \
        redirect_port   tcp     10.0.0.1:53 53 \
        redirect_port   udp     10.0.0.1:53 53

${FW} add nat 2 log all from any to not 10.0.0.1 53 via ${intIF}
${FW} add nat 2 log all from 10.0.0.1 53 to any via ${intIF}

${FW} add nat 1 ip from any to me in via ${extIF}
${FW} add nat 1 ip from ${intLAN} to any out via ${extIF}
В правилах вижу, что запросы на посторонние DNS сервера перекидываются на нат 2. Но т.к. в запросе целевой адрес не ${intIP}, то и проброса на 10.0.0.1 не происходит.
Подскажите пожалуйста, как такой перехват реализовать?

С помощью fwd 10.0.0.1,53 тоже не проходит по описанным всеми причине, что клиент отправивший DNS запрос получает ответ от другого адреса DNS нежели у которого запрашивал.

Отправлено спустя 1 минуту 14 секунд:
Если в качестве DNS сервера у клиентов указываю 192.168.0.1 или 10.0.0.1 то всё работает. Но надо чтобы принудительно заворачивал посторонние DNS запросы на внутренний сервер.
Кто не рискует - тот не пьёт шампанского.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

snorlov
подполковник
Сообщения: 3927
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Редирект DNS запросов.

Непрочитанное сообщение snorlov » 2017-05-19 20:05:43

У вас же локалка, зачем там давать ip других днс-серверов, если упадет фря, то и инета не будет и куда они пойдут...

Аватара пользователя
Духовитин
мл. сержант
Сообщения: 125
Зарегистрирован: 2014-12-17 8:46:05

Редирект DNS запросов.

Непрочитанное сообщение Духовитин » 2017-05-19 20:12:27

В смысле зачем давать ip других?
Я не буду давать ip других. По DHCP всем раздаётся локальный dns, но вот малоли у кого на личном ноуте или телефоне или планшете стоит другой dns сервер.
Просто, хочу единой dns фильтрации и контроля за запросами внезависимости от того какой сервер прописан на компе пользователя. Там же и мобильники по wifi подключены, мало ли там прописан другой dns.
Кто не рискует - тот не пьёт шампанского.

snorlov
подполковник
Сообщения: 3927
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Редирект DNS запросов.

Непрочитанное сообщение snorlov » 2017-05-19 22:43:13

Не думаю, что на мобильнике или ноуте или планшете будет прописан постоянный ip или dns, они все обычно всё берут с dhcp... Если это и случится, то у вас будет небывалый случай.., для него можно будет и попу приподнять... Я во всяком случае подобного не встречал и с кресла не вставал...

Аватара пользователя
Духовитин
мл. сержант
Сообщения: 125
Зарегистрирован: 2014-12-17 8:46:05

Редирект DNS запросов.

Непрочитанное сообщение Духовитин » 2017-05-20 8:38:27

Т.е. советуете левые сервера просто запретить, а там уже у кого работать не будет разбираться почему не тот dns.
Кто не рискует - тот не пьёт шампанского.

snorlov
подполковник
Сообщения: 3927
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Редирект DNS запросов.

Непрочитанное сообщение snorlov » 2017-05-20 21:24:37

Конечно, вдобавок вы за работе сети отвечаете.
P.S. вы алгоритм работы днс-сервисов почитайте, если очень хочется, чтобы левые днc'ы работали, пустите запросы к ним, т.е. запросы по порту 53, через еще один нат...

Аватара пользователя
Духовитин
мл. сержант
Сообщения: 125
Зарегистрирован: 2014-12-17 8:46:05

Редирект DNS запросов.

Непрочитанное сообщение Духовитин » 2017-05-20 22:27:20

Ничего не понял из последнего поста.
Мне наоборот не хочется чтобы левые днс работами, и через какой ещё один нат туда пускать запросы? :)
Кто не рискует - тот не пьёт шампанского.

snorlov
подполковник
Сообщения: 3927
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Редирект DNS запросов.

Непрочитанное сообщение snorlov » 2017-05-21 10:01:41

Духовитин писал(а):Ничего не понял из последнего поста.
Мне наоборот не хочется чтобы левые днс работами, и через какой ещё один нат туда пускать запросы? :)
Вы хотите, чтобы у клиентов с левыми настройками днс'а он, этот сервис, работал, при этом их запросы перенаправлялись к ващему днсу, так вот, для начала почитайте вообще про алгоритм работы этого сервиса, может после этого все вопросы и снимутся...

pimlab
прапорщик
Сообщения: 483
Зарегистрирован: 2007-10-09 11:31:03

Редирект DNS запросов.

Непрочитанное сообщение pimlab » 2017-05-26 9:18:25

После прочтения вашего сообщения, то же решил проверить что куда ходит мимо моего днс сервера (dnsmasq), так как режу рекламу подмиеной днс.
Обнаружил, что телефон жены постоянно проверяет google.com через 8.8.8.8 и 8.8.4.4 xотя все настройки по dhcp.
Завернул иx в pf на lo0

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

 rdr pass on $int_if inet proto {tcp udp} from ($int_if:network) to {8.8.8.8,8.8.4.4} port 53 -> lo0 port 53
 
и сначала не проверил, что без всяких дополнительныx натов, но это работает