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