оболочка openvpn с проблемами маршрутизации stunnel

683

Я пытаюсь настроить новый сервер 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. Любая помощь или вход здесь, чтобы решить эту проблему будет принята с благодарностью.

0

1 ответ на вопрос

0
user799375

от вас требуется добавить следующую строку маршрутизации в файл конфигурации 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.

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

Похожие вопросы