OpenVPN делает редирект-шлюз необязательным

15

В настоящее время я использую сервер OpenVPN для нескольких клиентов. Весь трафик направляется через VPN (он настроен как шлюз; нажмите «redirect-gateway def1»).

Пока все работает нормально. Однако я хотел бы подключить пару серверов к этой виртуальной частной сети, чтобы эти серверы не использовали демон OVPN в качестве шлюза.

Эти серверы должны быть доступны как из их глобальной сети, так и из их IP-адреса в локальной сети. Некоторые услуги будут доступны только со стороны локальной сети.

Есть ли способ для клиента игнорировать опцию push redirect-gateway?

С уважением, Туинслак

Tuinslak
источник
Отличный вопрос ... Я спрашивал себя точно так же.
Антуан Бенкемун

Ответы:

15

Просто добавьте "route-nopull" в конфигурацию клиента openvpn, тогда все отправленные команды с сервера игнорируются. Чтобы получить доступ к локальной сети, вы должны добавить, например, «route 192.168.5.0 255.255.255.0» в конфигурацию openvpn клиента, если локальная сеть, к которой вы хотите подключиться, - 192.168.5.0/24.


источник
Это вызывает некоторые ошибки при подключении, но работает как задумано :)
Brian Ramsey
Лучший вариант в настоящее время (2.4 или позже) будетpull-filter ignore redirect-gateway
mwfearnley
8

если 'redirect-gateway' требуется для некоторых, но не для всех клиентов, добавьте опцию 'client-config-dir', например

  client-config-dir / etc / openvpn / clients

и внутри этого каталога поместите файлы для каждого клиента CN, например, файл Client1будет содержать

  нажимной сброса

таким образом серверы не получают «перенаправление-шлюз» по умолчанию.

НТН

janjust
источник
1
Я предполагаю, что это сбросит каждый выдвинутый параметр (включая DNS-серверы)?
Tuinslak
2

просто замените шлюз по умолчанию в скрипте --up, и все готово. Вам даже не нужно ничего делать в --down (я думаю) или просто установить его в up.sh.

в client.conf

up up.sh

в уп.ш (chmod + x)

#!/bin/bash
/sbin/ip route replace default 1.2.3.4

где 1.2.3.4 - шлюз вашего клиента по умолчанию

Александар Иванишевич
источник
1

По состоянию на декабрь 2016 года для этого существует более новое и простое решение.

Вам просто нужно поместить эту строку в конфигурацию OpenVPN:

pull-filter ignore redirect-gateway

Буквально, он фильтрует параметры, которые он извлекает с сервера, и игнорирует redirect-gatewayпараметр.

(Согласно https://community.openvpn.net/openvpn/wiki/IgnoreRedirectGateway , это было добавлено в OpenVPN 2.4, который был выпущен около декабря 2016 года.)

mwfearnley
источник
-1

Remvoe «redirect-gateway» в файле конфигурации клиента, шлюз по умолчанию клиента больше не будет меняться. протестировано под Archlinux / OpenVPN 2.3.2.

shaozx
источник
Я предполагаю, что это решение будет зависеть от того, настроен ли шлюз на клиенте, или выдвинут с сервера.
mwfearnley