Я хотел бы направить трафик на моем сервере через VPN.
Проблема в том, что когда я активирую VPN через openVpn, я теряю соединение с сервером через SSH и мне приходится перезапускать сервер через жесткую перезагрузку.
Есть ли способ направить весь трафик через VPN, кроме SSH?
Я также хотел бы, чтобы это было временно, то есть я хотел бы иметь возможность отключить его и просто позволить трафику проходить по обычным каналам.
Я уже попробовал решение, размещенное здесьhttps://unix.stackexchange.com/questions/145635/debian-cli-torrent-program-through-vpn/145783#145783но это не сработало.
Дополнительная информация:
route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 XXX.XXX.XXX.XXX 0.0.0.0 UG 100 0 0 eth0
XXX.XXX.XXX.XXX 0.0.0.0 255.255.255.0 U 0 0 0 eth0
Я блокируюсь напрямую при запуске OpenVPN. Также мой сервер должен работать как клиент, направляя весь свой трафик через другой сервер.
РЕДАКТИРОВАТЬ:
Я следовал объяснению отсюдаАнонимизация OpenVPN Разрешить SSH-доступ к внутреннему серверу.
Теперь я бегу
openvpn --config USVPN.ovpn --script-security 3 система --up /home/user/startVPNScript.sh
с startVPNScript.sh, содержащим
ip rule add fwmark 65 table novpn
sudo ip route add default via XXX.XXX.XXX.XXX dev eth0 table novpn
ip route flush cache
iptables -t mangle -A OUTPUT -p tcp --sport 22 -j MARK --set-mark 65
Я также выполнил это:
echo "201 novpn" >> /etc/iproute2/rt_tables
и это навсегда.
Но после выполнения команды openVPN я все равно оказываюсь заблокированным и вынужден выполнить жесткую перезагрузку через Панель управления ServerProvider.
ПРАВКА2
Вот мои правила маршрутизации и брандмауэра перед запуском VPN (все пусто для проверки)
#novpn route table
default via DEFAULT.GATEWAY dev eth0
#normal route table
default DEFAULT.GATEWAY dev eth0 metric 100
XXX.XXX.XXX.XXX/24 dev eth0 proto kernel scope link src XXX.XXX.XXX.YYY
#iptable mangle
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
MARK tcp -- anywhere anywhere tcp spt:ssh MARK set 0x41
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
#iptable main
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Вот правила после установки соединения OpenVPN:
#novpn route table
default via DEFAULT.GATEWAY dev eth0
#normal route table
0.0.0.0/1 via 10.165.1.5 dev tun0
default via DEFAULT.GATEWAY dev eth0 metric 100
10.165.1.1 via 10.165.1.5 dev tun0
10.165.1.5 dev tun0 proto kernel scope link src 10.165.1.6
108.61.13.43 via DEFAULT.GATEWAY dev eth0
128.0.0.0/1 via 10.165.1.5 dev tun0
XXX.XXX.XXX.XXX/24 dev eth0 proto kernel scope link src XXX.XXX.XXX.YYY
#iptable mangle
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
MARK tcp -- anywhere anywhere tcp spt:ssh MARK set 0x41
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
#iptable main
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination