Переадресация портов не работает, когда активен клиент OpenVPN

Переадресация портов не работает, когда активен клиент OpenVPN

Я успешно настроил клиент OpenVPN на своем маршрутизаторе под управлением ddwrt, а также настроил его на включение OpenVPN при запуске.

домашняя сеть => маршрутизатор ddwrt с клиентом OpenVPN => веб

Я могу видеть веб-интерфейс маршрутизатора и подключаться по протоколу SSH к любому из моих домашних Unix-компьютеров, если установлен клиент OpenVPN.не являетсяработает. Так что мне интересно, как я могу сделать то же самое, если клиент OpenVPNявляетсябег.

Я уверен, что мое подключение к домашней сети активно, потому что я печатаю это прямо сейчас на моем Macbook, который подключен к моему маршрутизатору через Wi-Fi, а мой другой Macbook подключен к сети через личную точку доступа iPhone. Я провожу тестирование на втором Macbook.

Важная информация:

Брандмауэр маршрутизатора отключен.

Информация об IP-маршрутизации

root@myrouter:~# ip route list
0.0.0.0/1 via 10.208.185.5 dev tun1 
default via my-wan-gateway-ip-here dev ppp0 
my-wan-gateway-ip-here dev ppp0  proto kernel  scope link  src my-real-ip-here
10.208.0.1 via 10.208.185.5 dev tun1 
10.208.185.5 dev tun1  proto kernel  scope link  src 10.208.185.6 
127.0.0.0/8 dev lo  scope link 
128.0.0.0/1 via 10.208.185.5 dev tun1 
169.254.0.0/16 dev br0  proto kernel  scope link  src 169.254.255.1 
192.168.1.0/24 dev br0  proto kernel  scope link  src 192.168.1.1 
my-vpn-ip via my-wan-gateway-ip-here dev ppp0

Моя конфигурация OpenVPN запускает стандартный router-up.sh, созданный dd-wrtавтоматически. Яне сделалвнесите любые изменения в этот скрипт.

root@myrouter:/tmp# cat /tmp/openvpncl/route-up.sh 
#!/bin/sh
iptables -D POSTROUTING -t nat -o tun1 -j MASQUERADE
iptables -I POSTROUTING -t nat -o tun1 -j MASQUERADE
iptables -D INPUT -i tun1 -j ACCEPT
iptables -I INPUT -i tun1 -j ACCEPT

Мои DNS-серверы (используя Comodo и OpenDNS)

root@myrouter:/tmp# cat resolv.dnsmasq
nameserver 8.26.56.26
nameserver 8.20.247.20
nameserver 208.67.222.222

Я также использовал скрипт, который нашел в сети, чтобы определенные IP могли обойти VPN. Этот скрипт является частью моего скрипта запуска (rc_startup). Он мне нужен, чтобы я мог играть в эту конкретную игру на своих планшетах.

#!/bin/sh
sleep 30
NO_VPN_LST="192.168.1.11 192.168.1.2"
[ -z "$NO_VPN_LST" ] && exit 0
WAN_GWAY="0.0.0.0"
while [ $WAN_GWAY == "0.0.0.0" ]; do
sleep 3
WAN_GWAY=`nvram get wan_gateway`
done
ip route add default via $WAN_GWAY table 10
for ipa in $NO_VPN_LST; do
ip rule add from $ipa table 10
done
ip route flush cache
exit 0

решение1

Проблема, с которой вы столкнулись, вероятно, связана с маршрутизацией по умолчанию/источником.

Когда VPN не включен, все работает, потому что шлюз по умолчанию находится вне вашего интернет-соединения, но когда вы запускаете VPN, добавляется несколько новых маршрутов «0.0.0.0/1 через 10.208.185.5 dev tun1 и 128.0.0.0/1 через 10.208.185.5 dev tun1». Это приводит к тому, что конечной точкой VPN становится шлюз по умолчанию, а не ваше обычное соединение.

Итак, есть 2 решения, в зависимости от того, что вам нужно сделать:

Более простое решение — избавиться от этих 2 строк, создающих шлюз по умолчанию, и запрограммировать (или попросить провайдера запрограммировать) определенные маршруты в вашем VPN-подключении, к которым вы хотите получить доступ через VPN. Это вариант, только если вы используете VPN для определенной цели — например, для подключения к корпоративной сети, но он не подойдет вам, если вы пытаетесь скрыть свою личность в более широком Интернете.

Более сложное решение — сделать «маршрутизацию на основе источника» — что означает настройку 2 таблиц маршрутизации — текущая таблица будет таблицей по умолчанию, а вторая таблица будет отвечать на то, что приходит напрямую через ваше обычное соединение, с другим маршрутом по умолчанию. Это нетривиально, но есть несколько ссылок, как это сделать, включаяздесьиздесь (Ключевыми словами для поиска в Google будут «маршрутизация источника» или «маршрутизация политики». Если вы действительно хотите стать экспертом в этом вопросе, вам, вероятно, нужно ознакомиться сЛАРТ- Глава 4 посвящена маршрутизации политик)

Связанный контент