Назад | Перейти на главную страницу

Как заставить весь трафик через VPN?

У меня на сервере настроен 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.