У меня на сервере настроен openVPN, и я использую openVPN для моего клиента. У меня есть внутренние веб-сайты, к которым мне нужно получить доступ, но некоторые из них не работают. Я хочу убедиться, что трафик проходит через VPN, а не через обычное интернет-соединение. IP шлюза для моей сети - 192.168.0.1, а шлюз для openVPN - 10.8.0.1. Я провел трассировку маршрута, и он показывает, что веб-сайты, которые не работают, обращаются к 192.168.0.1, а не к 10.8.0.1. Как заставить весь трафик проходить через VPN? Я использую Windows 7 в качестве клиента и ubuntu 10.04 для сервера.
Из OpenVPN HowTo Documentation
Реализация
Добавьте следующую директиву в файл конфигурации сервера:
нажмите "redirect-gateway def1"
Если ваша настройка VPN находится в беспроводной сети, где все клиенты и сервер находятся в одной беспроводной подсети, добавьте локальный флаг:
нажмите "redirect-gateway local def1"
Передача клиентам опции redirect-gateway приведет к тому, что весь сетевой IP-трафик, исходящий на клиентских машинах, будет проходить через сервер OpenVPN. Сервер необходимо настроить так, чтобы он каким-то образом обрабатывал этот трафик, например, путем преобразования его в Интернет с помощью NAT или маршрутизации через прокси-сервер HTTP на сайте.
В Linux вы можете использовать такую команду для NAT трафика VPN-клиента в Интернет:
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
Эта команда предполагает, что подсеть VPN имеет номер 10.8.0.0/24 (взято из директивы сервера в конфигурации сервера OpenVPN) и что локальный интерфейс Ethernet - eth0.
Когда используется шлюз перенаправления, клиенты OpenVPN будут маршрутизировать DNS-запросы через VPN, и VPN-серверу потребуется их обрабатывать. Это может быть выполнено путем передачи адреса DNS-сервера подключающимся клиентам, который заменит их обычные настройки DNS-сервера в течение времени, когда VPN активен. Например:
push "dhcp-option DNS 10.8.0.1" настроит клиентов Windows (или клиентов не Windows с некоторыми дополнительными сценариями на стороне сервера) для использования 10.8.0.1 в качестве своего DNS-сервера. Любой адрес, доступный для клиентов, может использоваться в качестве адреса DNS-сервера.
Если вы хотите настроить это на стороне клиента, поместите
redirect-gateway def1
в вашем файле client.ovpn.
У меня была такая же проблема, но решение, описанное выше, не помогло мне. В моей конфигурации openvpn мне пришлось написать
перенаправить шлюз def1
без толчка и без кавычек - тогда заработало.
Клиент был Windows 10 1607 с OpenVPN 3.2.12.