Windows7에서 완벽하게 작동하는 openvpn이 있지만 우분투 OpenVPN 2.3.7에서는 이상합니다. openvpn에 로그인하고 VPN 네트워크에 연결하여 인터넷을 검색할 수 있습니다. 그러나 몇 분 후 모든 연결이 중단되었고 라우터의 로컬 기본 게이트웨이(192.168.1.1)도 손실되었습니다.
#> ip route show # this is after openvpn connected
default via 10.89.0.153 dev tun0 proto static metric 50
default via 192.168.1.1 dev wlan0 proto static metric 600
10.10.1.0/24 via 10.89.0.153 dev tun0 proto static metric 50
10.16.128.0/24 via 10.89.0.153 dev tun0 proto static metric 50
10.16.129.0/24 via 10.89.0.153 dev tun0 proto static metric 50
10.82.1.0/24 via 10.89.0.153 dev tun0 proto static metric 50
10.89.0.0/24 via 10.89.0.153 dev tun0 proto static metric 50
10.89.0.153 dev tun0 proto kernel scope link src 10.89.0.154
10.89.0.153 dev tun0 proto static scope link metric 950
10.89.0.154 dev tun0 proto kernel scope link src 10.89.0.154 metric 50
172.16.50.0/24 via 10.89.0.153 dev tun0 proto static metric 50
172.16.128.0/24 via 10.89.0.153 dev tun0 proto static metric 50
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.42.1
172.17.0.0/16 via 10.89.0.153 dev tun0 proto static metric 50
192.168.1.0/24 via 10.89.0.153 dev tun0 proto static metric 50
192.168.1.0/24 dev wlan0 proto kernel scope link src 192.168.1.110 metric 600
192.168.2.0/24 via 10.89.0.153 dev tun0 proto static metric 50
192.168.3.0/24 via 10.89.0.153 dev tun0 proto static metric 50
192.168.69.0/24 via 10.89.0.153 dev tun0 proto static metric 50
192.168.89.0/24 via 10.89.0.153 dev tun0 proto static metric 50
192.168.99.0/24 via 10.89.0.153 dev tun0 proto static metric 50
192.168.102.0/24 via 10.89.0.153 dev tun0 proto static metric 50
192.168.109.0/24 via 10.89.0.153 dev tun0 proto static metric 50
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1
221.123.111.254 via 192.168.1.1 dev wlan0 proto static metric 600
보시다시피, 기본 게이트웨이(라우터)를 ping할 때 시간이 갑자기 급증합니다. 이는 openvpn 연결 후 몇 분 후에 발생합니다.
64 bytes from 192.168.1.1: icmp_seq=154 ttl=253 time=28.6 ms
64 bytes from 192.168.1.1: icmp_seq=155 ttl=253 time=27.8 ms
64 bytes from 192.168.1.1: icmp_seq=156 ttl=253 time=30.6 ms
64 bytes from 192.168.1.1: icmp_seq=157 ttl=253 time=29.3 ms
64 bytes from 192.168.1.1: icmp_seq=158 ttl=253 time=28.8 ms
64 bytes from 192.168.1.1: icmp_seq=161 ttl=253 time=30.1 ms
64 bytes from 192.168.1.1: icmp_seq=164 ttl=253 time=71935 ms
64 bytes from 192.168.1.1: icmp_seq=165 ttl=253 time=70965 ms
64 bytes from 192.168.1.1: icmp_seq=166 ttl=253 time=69985 ms
64 bytes from 192.168.1.1: icmp_seq=167 ttl=253 time=68977 ms
64 bytes from 192.168.1.1: icmp_seq=168 ttl=253 time=67969 ms
64 bytes from 192.168.1.1: icmp_seq=169 ttl=253 time=66961 ms
64 bytes from 192.168.1.1: icmp_seq=170 ttl=253 time=65984 ms
내 openvpn 설정 파일: cat client.ovpn
client
remote 221.123.111.254
proto tcp
dev tun
ca ca.crt
comp-lzo
persist-key
persist-tun
verb 3
route-delay 2
route-method exe
openvpn 연결이 설정된 후 다음을 얻습니다.
~$ ip r get 192.168.1.1
192.168.1.1 via 10.89.0.153 dev tun0 src 10.89.0.154
cache
답변1
실제 게이트웨이에 대한 가능한 경로 중 하나를 다룹니다.
default via 10.89.0.153 dev tun0 proto static metric 50
실제 기본 경로보다 우선순위가 더 높습니다.
192.168.1.0/24 via 10.89.0.153 dev tun0 proto static metric 50
이는 설정에 쓸모가 없으며 해로울 수 있습니다.
192.168.1.1
openvpn은 실제 트래픽이 물리적 트래픽과 교환될 것으로 예상하지만 가상 트래픽(있는 경우)과는 교환되지 않기 때문에 두 경로 모두 불가능으로 재정의됩니다 .tun0
192.168.1.1
그러나 제거해도 문제가 해결되지는 않습니다. 실제 인터페이스를 통과하기 위해 다시 재정의될 192.168.1.0/24 tun0
명시적인 경로를 추가해야 합니다 .192.168.1.1
ip r add 192.168.1.1/32 dev wlan0
기억하세요. 여러분(또는 모든 VPN 프로그램)이 VPN을 통해 인터넷에 액세스할 수 있도록 기본 경로를 재정의한 후에는 트래픽을 전달하기 위해 실제 게이트웨이를 다시 찾을 위치를 커널에 알려야 합니다.