Назад | Перейти на главную страницу

Как разрешить подключения к серверу, когда на нем работает OpenVPN?

У меня есть сервер Ubuntu 16.04, на котором работает OpenVPN (через UPD).

Это отлично работает, за исключением того, что после подключения к VPN меня выкидывают из SSH-соединения, а DNS / http-соединения больше не разрешаются.

Это как и ожидалось, но как мне по-прежнему поддерживать работу этих соединений, когда исходящие запросы сервера проходят через VPN?

У вас проблема с маршрутизацией при включении OpenVPN. Предположим, вы подключены к Интернету через маршрутизатор с локальным IP-адресом 192.168.0.1 (IP-адрес маршрутизатора в локальной сети), а IP-адрес вашего SSH-сервера (к которому вы подключаетесь) - 999.999.999.999. Затем добавьте маршрут:

ip route add 999.999.999.999/32 via 192.168.0.1

Если у вас ничего не получилось, просто удалите правило:

ip route del 999.999.999.999/32 via 192.168.0.1

и попробуйте это:

ip rule add from 192.168.0.12 table 128
ip route add table 128 to 192.168.0.0/24 dev eth0
ip route add table 128 default via 192.168.0.1

Где 192.168.0.12 - ваш локальный IP-адрес, 192.168.0.0/24 - подсеть вашего локального IP, 192.168.0.1 - IP вашего маршрутизатора в локальной сети, eth0 - имя вашего сетевого интерфейса.

Если впоследствии проблема не исчезла, удалите правила, заменив add с участием del и просто расскажите в комментариях больше о ваших сетевых подключениях и конфигурации - насколько это возможно.

P.S. Указанные выше правила / маршруты являются временными - до следующей перезагрузки. Чтобы сделать его постоянным, просто добавьте в свой /etc/network/interfaces соответствующие строки с ведущими up, например:

up ip route add 999.999.999.999/32 via 192.168.0.1

Прочитайте это: http://www.networkinghowtos.com/howto/adding-persistent-static-routes-on-ubuntu/