@Bonio

Как завернуть dns трафик в vpn?

На роутере с OpenWRT поднят vpn туннель. Нужно завернуть в него только dns трафик (все, что идет на 53 порт). Как это сделать с помощью iptables?

59f24f8816c01524933712.png
  • Вопрос задан
  • 997 просмотров
Пригласить эксперта
Ответы на вопрос 1
@krosh
У iptables есть действие REDIRECT, но оно работает только локально. Других способов изменить трафик у него нет, это маршрутизация и Вам нужно изучить работу iproute2.

Можно попробовать SNAT применять к трафику 53/udp, чтобы далее пакеты шли уже по новому маршруту. Но тут надо тестировать, может и не сработает.

Простой вариант: заблокировать проходящий трафик в цепочке FORWARD 53/udp, 53/tcp и поставить локально что-то вроде dnsmasq, и все запросы локальной сети им обрабатывать, а его настроить на работу через vpn.

Чтобы трафик до DNS-сервера с роутера шел через нужный интерфейс, нужно либо прописать статический маршрут, либо пользоваться source policy routing.

Но статический маршрут должен хорошо в вашем случае работать. Например так:
ip route add 8.8.8.8 dev tun+

Логично предположить, что если клиенты локальной сети пользуются одним известным DNS-сервером и не будут его сами менять, то статический маршрут на роутере решит Вашу проблему.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы