openvpn을 사용하여 두 tun+ 장치 간의 트래픽을 분리합니다.

openvpn을 사용하여 두 tun+ 장치 간의 트래픽을 분리합니다.

두 개의 OpenVPN 클라이언트를 실행 중이므로 tun두 개의 인터페이스가 구성됩니다.

tun인터페이스에는 서로 다른 서브넷이 있습니다. 인터페이스 중 하나에 tun1기본 경로가 있어서 대부분의 트래픽이 해당 경로를 통과한다고 가정해 보겠습니다.

그러나 내 tun0인터페이스에는 기본 경로가 없으므로 해당 서브넷으로 전송된 패킷만 이 인터페이스를 통해 라우팅됩니다.

문제는 tun0=>를 통과해야 하는 패킷이 실제로 => =>를 eth0통과하고 있다는 것입니다 . 이는 기본 장치로 사용되므로 의미가 있습니다 .tun0tun1eth0tun1

개인 네트워크의 패킷이 두 VPN을 통해 라우팅되는 것을 방지하고 VPN 중 하나만을 통해서만 라우팅되도록 하려면 어떻게 해야 합니까?

고쳐 쓰다:

이것은 내 현재 라우팅 테이블입니다.

0.0.0.0/1 via 10.4.102.81 dev tun1 
default via 192.168.10.1 dev eth0  proto static 
10.4.0.1 via 10.4.102.81 dev tun1 
10.4.102.81 dev tun1  proto kernel  scope link  src 10.4.102.82 
10.176.128.0/18 via 172.29.2.77 dev tun0 
10.177.0.0/18 via 172.29.2.77 dev tun0 
10.177.128.0/18 via 172.29.2.77 dev tun0 
10.178.0.0/16 via 172.29.2.77 dev tun0 
10.179.0.0/16 via 172.29.2.77 dev tun0 
10.180.0.0/16 via 172.29.2.77 dev tun0 
10.181.0.0/16 via 172.29.2.77 dev tun0 
10.183.0.0/16 via 172.29.2.77 dev tun0 
46.165.208.65 via 192.168.10.1 dev eth0 
128.0.0.0/1 via 10.4.102.81 dev tun1 
172.29.0.0/22 via 172.29.2.77 dev tun0 
172.29.2.77 dev tun0  proto kernel  scope link  src 172.29.2.78 
172.31.0.0/22 via 172.29.2.77 dev tun0 
192.168.10.0/24 dev eth0  proto kernel  scope link  src 192.168.10.76  metric 1 

답변1

원격 VPN 서버(tun0's)에 대한 경로를 추가해야 합니다.

ip add route $ip_of_the_vpn_server via 192.168.10.1 dev eth0

또는 더 일반적으로:

ip add route $(ip route get $ip_of_the_vpn_server | head -n1)

VPN을 시작하기 전에.

이렇게 하면 이 VPN 서버로 전송되는 모든 패킷이 VPN이 아닌 기본 경로를 통해 전송됩니다.

관련 정보