我已经很好地设置了一个静态的一对一 OpenVPN 连接。但是,我似乎无法让客户端通过 VPN 设备路由所有流量。这是我的配置:
客户端配置:
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
服务器配置:
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
从我所做的所有研究中,服务器配置行推送“redirect-gateway def1”应该使客户端通过VPN路由所有流量。然而它没有这个效果。我可以 ping/ssh/http 到 10.8.0.1 上的服务器,客户端的路由表如下所示,但正常流量采用正常(不安全)路由:
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
您需要在客户端配置中“拉”,以便能够从服务器“推送”设置。
添加后,它应该可以按预期工作。
(如果你使用“client”指令,它基本上会扩展为“pull”和“tls-client”)
您可以运行
route add default gw 10.8.0.1
(手动运行或在隧道出现时自动运行);这将添加路线。或者,我有push "route 0.0.0.0 0.0.0.0"
一个 OpenVPN 配置,它为我做了一个默认路由,它也可以工作。该论点稍微
def1
改变了 的行为。redirect-gateway
它类似于:这可确保 VPN 路由优先但不会删除现有的默认路由。
至于调试问题,我建议:
push
.def1
参数并让它替换默认路由,看看它是否对行为有任何影响。