我使用 openSuSE 作为路由器。eth0
是 WAN NIC,eth1
是 LAN NIC。我还有一个tun10
设备,我将其与 OpenVPN 客户端连接一起使用。
eth0
我希望 yast routes 指定哪些流量必须通过 OpenVPN 隧道出去。所有其他流量应继续通过(默认路由)出去。这就是我使用的原因route-nopull
,因为 OpenVPN 服务器为 推送了默认路由0.0.0.0/32
。
但是,我没有看到 yast 中定义的路线出现在 中route -n
。
我怎样才能使它们工作?
以下 IP 地址均为虚构。(除whatismyip.com)
OpenVPN 客户端.conf
部分摘录
client
route-nopull
dev tun10
proto udp
YaST 网络设置 -> 路由
默认网关:101.102.103.104
设备:eth0路线:(仅举一个例子)
- 目的地:141.101.120.15(whatismyip.com)
- 网关:10.20.30.40
- genmask:255.255.255.255
- 设备:tun10
route -n
输出
标记的线仅在我启动 VPN 隧道时显示没有 route-nopull
Destination Gateway Genmask Flags Iface
0.0.0.0 10.20.30.40 128.0.0.0 UG tun10 //without route-nopull
0.0.0.0 101.102.103.104 0.0.0.0 UG eth0
10.0.0.0 0.0.0.0 255.255.255.0 U eth1
128.0.0.0 10.20.30.40 128.0.0.0 UG tun10 //without route-nopull
10.20.30.40 0.0.0.0 255.255.255.255 UH tun10 //without route-nopull
10.20.30.41 10.20.30.40 255.255.255.255 UHG tun10 //without route-nopull
答案1
据我所知,YaST 不会为您创建这些规则。如果您确实想使用 YaST,我帮不了您 - 但如果您只想让您的路由正常工作,请尝试以下操作:
添加路线选项到你的 OpenVPN 客户端配置中(见OpenVPN 手册页在- 路线了解详情)。这样,在与 OpenVPN 成功建立连接后,路由就会被添加。
例如:
route 141.101.120.15 255.255.255.255 10.20.30.40