我有一个在 DD-WRT 路由器上运行的 OpenVPN 客户端。全局设置(服务器 + 客户端)已配置,因此连接到路由器的机器的所有流量都会通过 VPN 隧道,并且运行正常。
不过,我想覆盖这个默认行为对于某一特定机器。假设我的本地网络定义为192.168.10.0/24
。路由器位于192.168.10.254
。我想要路由的机器外部VPN 隧道位于192.168.10.135
。
按照此Serverfault 答案, 或这个OpenVPN 线程,我添加了指令
route 192.168.10.135 255.255.255.255 net_gateway
到 OpenVPN 客户端配置文件。
但是,即使我通过查看路由器的路由表确认已成功添加此新规则,但这不起作用。机器.135
现在不仅无法连接到互联网,而且甚至无法再连接到 LAN(例如,简单ping 192.168.10.254
失败)。
我是否遗漏了 VPN 客户端配置中的某些内容?或者其他地方?
感谢您的帮助。
编辑- 根据评论中的要求,以下是我从路由器外壳中获得的信息。
root@router $ ip -4 addr
1: lo: <LOOPBACK,MULTICAST,UP,10000> mtu 65536 qdisc noqueue
inet 127.0.0.1/8 brd 127.255.255.255 scope host lo
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,10000> mtu 1500 qdisc pfifo_fast qlen 1000
inet 47.X.X.250/24 brd 47.X.X.255 scope global eth1
valid_lft forever preferred_lft forever
6: br0: <BROADCAST,MULTICAST,UP,10000> mtu 1500 qdisc noqueue
inet 169.X.X.1/16 brd 169.X.X.255 scope global br0:0
valid_lft forever preferred_lft forever
inet 192.168.10.254/24 brd 192.168.10.255 scope global br0
valid_lft forever preferred_lft forever
11: tun1: <POINTOPOINT,MULTICAST,NOARP,UP,10000> mtu 1500 qdisc pfifo_fast qlen 100
inet 10.8.0.6 peer 10.8.0.5/32 scope global tun1
valid_lft forever preferred_lft forever
注:47.XX250 是我的公网 ISP 地址。167.XX. 是云端 VPN 服务器的地址。
root@router $ ip route get 192.168.10.135
192.168.10.135 via 47.X.X.1 dev eth1 src 47.X.X.250
cache
root@router $ ip route
0.0.0.0/1 via 10.8.0.5 dev tun1
default via 47.X.X.1 dev eth1
10.8.0.1 via 10.8.0.5 dev tun1
10.8.0.5 dev tun1 proto kernel scope link src 10.8.0.6
47.X.X.0/24 dev eth1 proto kernel scope link src 47.X.X.250
127.0.0.0/8 dev lo scope link
128.0.0.0/1 via 10.8.0.5 dev tun1
167.X.X.107 via 47.X.X.1 dev eth1
169.X.X.0/16 dev br0 proto kernel scope link src 169.X.X.1
192.168.10.0/24 dev br0 proto kernel scope link src 192.168.10.254
192.168.10.135 via 47.X.X.1 dev eth1
root@router $ ip rule
0: from all lookup local
32766: from all lookup main
32767: from all lookup default