Не удается подключиться к серверу с помощью VPN-подключения

12

Это довольно запутано, я знаю. Позвольте мне объяснить все это.

У меня на моем роутере установлен динамический DNS. Я проверил, что после переадресации портов я могу подключиться к нужному приложению (если я запустил что-то на порту 1337 и перенаправлю порт на соответствующую машину, я могу подключиться к нему извне без проблем).

Теперь, если я подключу свой Macbook к VPN и запусту что-нибудь, как описано выше, он будет работать как положено. НО , если я подключаю свою машину с Ubuntu Server 16.04 к VPN и что-то запускаю или хочу подключиться по ssh, это не удается. Я перенаправил порт, который я использую для соединения SSH на маршрутизаторе. Я также попытался хостинг веб-сервера, который также не удалось.

Что я могу сделать с этим вопросом? Это не имеет смысла для меня.

О машине с Ubuntu Server: это чистая установка с настроенным клиентом openvpn и ssh-сервером, брандмауэр не запущен, iptables не отредактирован, подключен к маршрутизатору через Ethernet.

РЕДАКТИРОВАТЬ: Вот таблицы маршрутизации: http://pastebin.com/ay6fpLcL

Кшиштоф Крашевский
источник
Каковы различия в таблицах маршрутизации с и без VPN (только для IPv4, ip -4 rна Ubuntu, netstat -f inet -rnна Mac)?
user4556274
@ user4556274 вот таблицы: pastebin.com/ay6fpLcL
Кшиштоф Крашевский

Ответы:

9

ОК, мне удалось найти решение.

Использование openvpnпакета без каких-либо оберток:

Добавьте эти 2 строки в ваш .ovpnфайл (или, .confесли вы подключаетесь автоматически):

script-security 2
up /etc/openvpn/up.sh

Затем создайте /etc/openvpn/up.shс исполняемыми разрешениями (755/700):

#!/bin/sh
ip rule add from <your-server-ip> table 128
ip route add table 128 to <your-server-subnet> dev <your-interface>
ip route add table 128 default via <server-gateway>

Например, вот моя конфигурация:

#!/bin/sh
ip rule add from 192.168.1.26 table 128
ip route add table 128 to 192.168.1.0/24 dev eno1
ip route add table 128 default via 192.168.1.1

Использование другого VPN-клиента / другой конфигурации:

Я не могу предсказать необходимые шаги, но обычно вам нужно запускать up.shскрипт (см. Выше) каждый раз, когда ваше VPN-соединение установлено.

Надеюсь, это поможет кому-то, имеющему ту же проблему. Ура!

Кшиштоф Крашевский
источник
Я использую NordVPN на Ubuntu 18.04. Использование openvpn, которому предшествует этот скрипт, работает нормально. Тем не менее, использование двоичного файла nordvpn для подключения не с вышеуказанным.
ma3oun