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

SSH прерывается при запуске клиента Ovpn

У меня есть VPS под управлением Ubuntu 16.04.1, к которому я подключаюсь по SSH. Я хотел бы запустить клиент OpenVPN на VPS, чтобы интернет-трафик направлялся через VPN, но при этом позволял мне подключаться к серверу через SSH. Когда я запускаю OpenVPN, мой сеанс SSH отключается, и я больше не могу подключиться к своему VPS. Как я могу настроить VPS так, чтобы входящие соединения SSH (порт 22) открывались на фактическом IP-адресе VPS (84.X.x.X), но при этом исходящий трафик (например, из веб-браузера на VPS) по-прежнему маршрутизировался через VPN?

Я использую службу OpenVPN PrivateInternetAccess, а пример файла config.ovpn:

proto udp
tun-mtu 1500
fragment 1300
mssfix
cipher AES-256-CBC
remote amsterdam.perfect-privacy.com 149
remote amsterdam.perfect-privacy.com 1151
remote amsterdam.perfect-privacy.com 1150
remote amsterdam.perfect-privacy.com 1149
remote amsterdam.perfect-privacy.com 151
remote amsterdam.perfect-privacy.com 150
remote amsterdam.perfect-privacy.asia 151
remote amsterdam.perfect-privacy.asia 150
remote amsterdam.perfect-privacy.org 1149
remote amsterdam.perfect-privacy.info 1150
remote amsterdam.perfect-privacy.asia 149

auth SHA512
auth-user-pass password.txt
client
comp-lzo
dev tun
#float
hand-window 120
inactive 604800
mute-replay-warnings
nobind
ns-cert-type server
persist-key
persist-remote-ip
persist-tun
ping 5
ping-restart 120
redirect-gateway def1
remote-random
reneg-sec 3600
resolv-retry 60
route-delay 2
route-method exe
script-security 2
tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-256-CBC-SHA256:TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA:TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-RSA-WITH-CAMELLIA-256-CBC-SHA:TLS-RSA-WITH-AES-256-CBC-SHA
tls-timeout 5
verb 4
tun-ipv6

ca ca.crt
cert Amsterdam_cl.crt
key Amsterdam_cl.key
tls-auth Amsterdam_ta.key 1
down /etc/openvpn/update-resolv-conf
up /etc/openvpn/update-resolv-conf
crl-verify ca.crl

IP-адрес VPS:

    lo        Link encap:Local Loopback
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:65536  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

    venet0    Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
              inet addr:127.0.0.2  P-t-P:127.0.0.2  Bcast:0.0.0.0  Mask:255.255.255.255
              UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
              RX packets:27052 errors:0 dropped:0 overruns:0 frame:0
              TX packets:30619 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0
              RX bytes:3363556 (3.3 MB)  TX bytes:4903075 (4.9 MB)

    venet0:0  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
              inet addr:84.200.105.209  P-t-P:84.X.x.X  
              Bcast:84.X.x.X  Mask:255.255.255.255
              UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1

Я читал, что это можно сделать с помощью маршрутизации, но у меня нет большого опыта работы с Linux, и я не хочу, чтобы мой Vps зависал, поэтому я прошу вашей помощи.

Вы, вероятно, найдете здесь свой ответ: https://unix.stackexchange.com/questions/4420/reply-on-same-interface-as-incoming

Ваш клиент OpenVPN изменяет маршрут по умолчанию вашего сервера. Когда вы пытаетесь подключиться по SSH, квитирование TCP не завершается, поскольку ваш сервер пытается ответить через туннель OpenVPN. Пакет может в какой-то момент потеряться или, в лучшем случае, прийти с другого IP.

Добавьте команду настраиваемого маршрута в конфигурацию клиента openvpn:

route add 84.X.x.X 255.255.255.255     <your real default gw>