Цель: иметь возможность маршрутизировать весь трафик через сервер OpenVPN и иметь возможность связываться с удаленным DNS (127.128.129.130) и удаленной LAN (12x.x.x.x)
Я добавил в файл конфигурации клиента OpenVPN redirect-gateway def1
.
Как описано Вот, Я добавил в iptables три правила (на случай, если сообщение удалено):
iptables -I FORWARD -i tun0 -o eth0 \
-s 10.8.0.0/24 -m conntrack --ctstate NEW -j ACCEPT
iptables -I FORWARD -m conntrack --ctstate RELATED,ESTABLISHED \
-j ACCEPT
iptables -t nat -I POSTROUTING -o eth0 \
-s 10.8.0.0/24 -j MASQUERADE
Что отлично работает, за исключением того, что я не могу разрешить хосты в моем частном DNS. Я мог быть из-за первого правила FORWARD, которое перенаправляет весь трафик из tun0
к eth0
.
Как я могу сделать так, чтобы трафик на удаленные DNS и LAN не уходил?
Похоже, вы не используете удаленный DNS-сервер. Вы также можете использовать openvpn для установки DNS-сервера. Тогда разрешение имен для вашей частной сети должно работать.
push "dhcp-option DNS 127.128.129.130"
Посмотреть здесь: https://openvpn.net/community-resources/pushing-dhcp-options-to-clients/