我已经build立了一个静态的一对一OpenVPN连接罚款。 不过,我似乎无法让客户端通过VPN设备路由所有stream量。 这是我的configuration:
客户端configuration:
remote 89.21.xx.xx dev tun ifconfig 10.8.0.2 10.8.0.1 secret static.key comp-lzo keepalive 10 60 ping-timer-rem persist-tun persist-key
服务器configuration:
dev tun ifconfig 10.8.0.1 10.8.0.2 push "redirect-gateway def1" secret static.key comp-lzo keepalive 10 60 ping-timer-rem persist-tun persist-key verb 5
从所有的研究我做了服务器configuration线推“redirect网关def1”应该使客户端路由所有stream量通过VPN。 但是它没有这个效果。 我可以在10.8.0.1上ping / ssh / http到服务器,客户端的路由表如下所示,但正常的stream量正在使用正常(不安全)的路由:
root@t42:~# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.8.0.1 0.0.0.0 255.255.255.255 UH 0 0 0 tun0 192.168.69.0 0.0.0.0 255.255.255.0 U 2 0 0 wlan0 169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 wlan0 0.0.0.0 192.168.69.1 0.0.0.0 UG 0 0 0 wlan0
您需要在您的客户端configuration中“拉”,以便能够从服务器“推”设置。
一旦你添加,它应该如你所愿。
(如果你使用“client”指令,它基本上扩展为“pull”和“tls-client”)
你可以运行route add default gw 10.8.0.1 (无论是手动还是自动启动隧道); 这将添加路线。 或者,我已经在OpenVPNconfiguration中push "route 0.0.0.0 0.0.0.0" ,为我做了一个默认路由,这也适用。
def1参数略微改变了redirect-gateway的行为。 这类似于:
route add 0.0.0.0/1 gw <vpn_endpoint>
这可以确保VPN路由优先于但不删除现有的默认路由。
至于debugging的问题,我会build议:
push 。 def1参数,并将其replace为默认路由以查看是否对行为产生任何影响。