Я пытаюсь настроить новый сервер OpenVPN, работающий в Ubuntu (дистрибутив не имеет значения для меня), но туннелированный внутри stunnel (чтобы избежать DPI). Моя проблема в том, что если у меня настроен клиент для маршрутизации через VPN, я получаю нулевой трафик. Та же конфигурация без stunnel работает просто отлично. Я подозреваю, что есть какая-то локальная проблема маршрутизации, и я просто не могу ее зафиксировать.

Конфигурация моего сервера OpenVPN:

[...]

topology subnet
port 1196
proto tcp
mode server

[...]

dev tun0
server 192.168.81.0 255.255.255.0
push "redirect-gateway def1 bybass-dhcp"
push "route 192.168.10.0 255.255.255.0"
push "dhcp-option DNS 192.168.10.254"

Моя конфигурация stunnel на том же сервере OpenVPN:

# Connection
[openvpn-localhost]
# Incoming connection port
accept = 8443
# Connection to local OpenVPN server
connect = 127.0.0.1:1196

Моя основная сеть - 192.168.10.0/24, а подсеть VPN - 192.168.81.0/24. Также на сервере OpenVPN у меня есть следующее правило iptables для пересылки всего:

Chain POSTROUTING (policy ACCEPT)
[...]

MASQUERADE  all  --  192.168.81.0/24      anywhere            

Переадресация IP также включена в ядре.

На моем клиенте OpenVPN я подключаюсь к локальному порту, который затем туннелирует трафик OpenVPN к серверу. Конфигурация stunnel на клиенте:

[openvpn-localhost]
client = yes

# Local openvpn connection
accept = 127.0.0.1:1196

# Remote tunnel
connect = <my remote target>:8443

Как только все подключено, это таблица маршрутизации на моем клиенте:

$ netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window irtt Iface
0.0.0.0         192.168.81.1    0.0.0.0         UG        0 0         0 tun0
0.0.0.0         192.168.43.1    0.0.0.0         UG        0 0         0 wlp2s0
127.0.0.1       192.168.43.1    255.255.255.255 UGH       0 0         0 wlp2s0
192.168.10.0    192.168.81.1    255.255.255.0   UG        0 0          0 tun0
192.168.43.0    0.0.0.0         255.255.255.0   U         0 0          0 wlp2s0
192.168.43.1    0.0.0.0         255.255.255.255 UH        0 0          0 wlp2s0
192.168.81.0    0.0.0.0         255.255.255.0   U         0 0          0 tun0

192.168.43.0/24 в данном случае - это трос, к которому я подключен, чтобы проверить это. Он вообще не подключен к моей внутренней сети.

Мой клиент не может ничего пинговать по VPN. Любая помощь или вход здесь, чтобы решить эту проблему будет принята с благодарностью.

1 ответ1

0

от вас требуется добавить следующую строку маршрутизации в файл конфигурации openvpn (на стороне сервера):

push "route [ENDPOINT_IP] 255.255.255.255 net_gateway"

ИЛИ ЖЕ

Вы можете вручную добавить этот маршрут (каждый раз, когда вы хотите его использовать - или вы можете добавить его в свой сетевой скрипт) на клиенте, набрав:

sudo route add -host (or -net) [DESTINATION-SERVER-IP aka ENDPOINT_IP] gw [YOUR-LAN-GW-IP] (e.g. 192.168.10.1) netmask 0.0.0.0 dev [Interface] (e.g. wlp2s0)

Если это не работает; Также вам может потребоваться проверить, включен ли ip-v4.forwarding в файле /etc/sysctl.conf.

Всего наилучшего и удачи

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .