VPN 経由でサーバートラフィックをトンネルしますが、SSH アクセスは維持します。

VPN 経由でサーバートラフィックをトンネルしますが、SSH アクセスは維持します。

サーバー上のトラフィックを VPN 経由でトンネリングしたいと思います。

問題は、openVpn 経由で VPN を有効にすると、SSH 経由のサーバーへの接続が失われ、ハードリブートでサーバーを再起動しなければならないことです。

SSH を除くすべてのトラフィックを VPN 経由でルーティングする方法はありますか?

また、これを一時的なものにしたいと思っています。つまり、これをオフにして、トラフィックが通常のチャネルを通過できるようにしたいと考えています。

私はすでにここに投稿された解決策を試しました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

関連情報