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의 ControlPanel을 통해 하드 재부팅을 수행해야 합니다.

편집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

관련 정보