我想透過 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