2012-08-03 01:03:06 +0000 2012-08-03 01:03:06 +0000
50
50

OpenVPN: Только маршрутизация определенных IP-адресов через VPN?

В удаленной частной сети есть два сервера - файловый сервер и сервер базы данных (это обе машины Win, если это имеет значение).

Файловый сервер имеет свой собственный достаточно надежный механизм аутентификации и позволяет подключаться непосредственно из удаленного места.

Сервер базы данных использует простое имя пользователя и пароль, поэтому для предотвращения несанкционированного доступа он блокируется в локальной сети - внешний трафик блокируется.

Чтобы получить доступ к серверу баз данных, я использую клиент OpenVPN на Windows для подключения к VPN серверу в частной сети.

По умолчанию OpenVPN маршрутизирует все сетевые пакеты, предназначенные для удаленной сети, в которой находится VPN сервер, через VPN. К сожалению, доступ к файловому серверу через VPN extremely slow!

Question:

Как я могу настроить клиента OpenVPN на ТОЛЬКОЕ маршрутизацию трафика через VPN, которая предназначена для одного, определенного IP адреса, а именно сервера баз данных?

Ответы (5)

57
57
57
2013-08-06 08:15:41 +0000

Правильная конфигурация для OpenVpn:

route-nopull 
route 192.168.0.0 255.255.255.0

Эти записи принадлежат вашему .ovpn файлу и будут направлять весь трафик подсети 192.168.0.* через VPN.

Только для одного IP (192.168.0.1):

route-nopull 
route 192.168.0.1 255.255.255.255
27
27
27
2012-08-03 03:53:45 +0000

Цели

  • По умолчанию использовать обычное подключение к Интернету для всего интернет-трафика, даже если подключен VPN.
  • Маршрутизировать трафик на один определенный IP адрес через VPN.

Шаги

  1. Нажмите Win + R и выполните ncpa.cpl.

  2. Щелкните правой кнопкой мыши VPN-соединение и перейдите к Свойства → Сеть.

  3. Выберите протокол Интернета версии 4 и перейдите к свойствам → Дополнительно….

  4. Снимите флажок Использовать шлюз по умолчанию в удаленной сети и нажмите OK.

  5. (необязательно) Повторите предыдущие шаги для Интернет-протокола версии 6.

  6. (Повторное) подключение к VPN.

  7. Откройте командную строку и выполните route print -4.

  8. Разместите интерфейс VPN в списке Входной интерфейс и его шлюз в списке Активных маршрутов.

  9. Добавьте устойчивый маршрут, который будет добавляться к активным маршрутам всякий раз, когда есть соединение с VPN:

  10. (необязательно) Повторите предыдущие шаги для route print -6.

  11. Протестируйте установку.

12
12
12
2013-02-04 14:38:03 +0000

В конфигурацию вашего OpenVPN клиента добавьте строку типа:

route The.IP.To.Go 255.255.255.255

(Где.IP.To.Go - IP, который вы хотите маршрутизировать через VPN)

Это инструктирует OpenVPN создавать запись в таблице маршрутизации вашей операционной системы.

Альтернативно, сервер OpenVPN можно заставить “протолкнуть” эту конфигурацию маршрутизации вниз к клиентам, добавив в конфигурацию сервера:

push "route The.IP.To.Go 255.255.255.255"

EDIT: Одна вещь, которую я пропустил - переадресация всего трафика по умолчанию… Она может быть либо отключена на сервере, либо клиенты могут выбрать игнорирование “протолкнутых” директив (так что наш второй вариант “протолкнуть” маршрут не будет работать) через него:

route-nopull
0
0
0
2020-01-10 21:36:56 +0000

В ответ на комментарии, в которых предлагается простое решение для Linux / networkmanager, позволяющее настроить то, что маршрутизируется через OpenVPN, вот дружественный GUI способ его настройки. Этот ответ, насколько я могу судить, является просто GUI версией Ответ Томаса .

Step 1 : выберите конфигурацию VPN

Step 2 : перейдите на соответствующую вкладку (либо IPv4, либо IPv6)

Step 3 : Нажмите кнопку “Маршруты…” в правом нижнем углу

Step 4 : Добавьте желаемый маршрут (в этом случае он перенаправляет весь трафик с 192.168.0.* через VPN

Step 5 : установите флажок “use only for resources on this connection” (использовать только для ресурсов на этом соединении), чтобы соединение с VPN не изменило ваши настройки шлюза по умолчанию на маршрутизацию всего трафика через VPN.

-3
-3
-3
2015-02-13 09:07:32 +0000
iptables -A PREROUTING -t mangle -i <LAN_interface> \
-d <remote_network>/<remote_netmask> -j ROUTE --gw <openvpn_host_ip>