Serververkehr durch VPN tunneln, aber SSH-Zugriff beibehalten

Serververkehr durch VPN tunneln, aber SSH-Zugriff beibehalten

Ich möchte den Datenverkehr auf meinem Server durch ein VPN tunneln.

Das Problem besteht darin, dass ich beim Aktivieren des VPN über OpenVPN die Verbindung zum Server über SSH verliere und den Server durch einen Hard-Reboot neu starten muss.

Gibt es eine Möglichkeit, den gesamten Datenverkehr außer SSH über das VPN zu leiten?

Außerdem möchte ich, dass dies nur vorübergehend ist. Das bedeutet, dass ich es gerne ausschalten und den Verkehr einfach über die normalen Kanäle laufen lassen möchte.

Ich habe die hier gepostete Lösung bereits ausprobierthttps://unix.stackexchange.com/questions/145635/debian-cli-torrent-program-through-vpn/145783#145783aber es hat nicht funktioniert.

Zusätzliche Information:

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

Ich werde direkt beim Starten von OpenVPN ausgesperrt. Außerdem sollte mein Server als Client laufen und seinen gesamten Datenverkehr über einen anderen Server leiten.

BEARBEITEN:

Ich bin der Erklärung von hier gefolgtAnonymisierung von OpenVPN, Ermöglichung von SSH-Zugriff auf internen Server.

Jetzt laufe ich

openvpn --config USVPN.ovpn --script-security 3 system --up /home/user/startVPNScript.sh

mit dem startVPNScript.sh mit

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

Ich habe auch dies ausgeführt:

echo "201 novpn" >> /etc/iproute2/rt_tables

und es ist dauerhaft.

Aber nach der Ausführung des OpenVPN-Befehls werde ich immer noch ausgesperrt und muss über das ControlPanel des ServerProviders einen Hard-Reboot durchführen.

BEARBEITEN2

Hier sind meine Routing- und Firewall-Regeln vor dem Start des VPN (zum Testen ist alles leer)

#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        

Hier sind die Regeln, nachdem die OpenVPN-Verbindung hergestellt wurde:

#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

verwandte Informationen