使用 DHCP 增加 CentOS 中默认路由的度量

使用 DHCP 增加 CentOS 中默认路由的度量

我正在设置一台运行 CentOS 6.4 的服务器(准确地说是虚拟机)。我eth0在 CentOS 机器上有一个适配器,可以连接到 Internet(通过主机上的桥接网络)。eth0 适配器是通过 DHCP 配置的。到目前为止一切顺利。

我还想在服务器上运行 VPN 客户端,通过适配器连接tun0到互联网。VPN 客户端使用 OpenVPN 成功连接。它生成一个default度量为 0 的路由。

那么,首先,这是可能的,对吧?其次,据我所知,有两种方法可以解决这个问题:增加route贯穿的度量或减少贯穿的eth0度量。routetun0

我尝试过这两种方法,但目前还没有成功。我尝试过以下方法:METRIC=100在 中添加一条线/etc/sysconfig/network-scripts/ifcfg-eth0,但它并没有改变路线的度量。

我也尝试过metricclient.conf文件中添加 OpenVPN 选项。这也没有效果(我认为这是因为pull这个文件中有一个选项)。

我最激进的想法是手动删除routeforeth0并将其替换为相同的路由,但使用更高的度量。不幸的是,我也无法做到这一点,因为重新启动网络将重置设置,并且让守护进程一直运行似乎不是一个好的解决方案。

我愿意接受建议和想法。谢谢。

答案1

因此,如果我正确理解了这个问题,那么你基本上有一台设置为 DHCP 接口的计算机,并且你想要连接到 VPN 并通过 VPN 传递所有流量。

当 DHCP 服务器更新租约时,您会遇到问题,它会重新添加 DHCP 服务器提供的网关。

我建议您更新您的client.conf并将redirect-gateway选项替换为redirect-gateway def1。这指示 OpenVPN 添加两个比默认网关更具体的路由,而不是删除预先存在的默认网关并添加新的网关。

使用时,redirect-gateway def1您将获得如下所示的路由表。由于最具体的匹配路由是所使用的路由,因此0.0.0.0/1、和128.0.0.0/1的路由优先于默认路由,但无需删除/替换默认路由。它还消除了确保没有其他软件更改默认路由的要求。

# ip route
10.3.195.17 dev tun_rem  proto kernel  scope link  src 10.3.195.18 
172.26.222.0/23 dev eth1  proto kernel  scope link  src 172.26.222.204 
0.0.0.0/1 via 10.3.195.17 dev tun_rem 
128.0.0.0/1 via 10.3.195.17 dev tun_rem
default via 172.26.222.1 dev eth1 

如果redirect-gateway您的中没有设置该设置client.conf,那么您可能还需要添加"route-nopull忽略从 VPN 服务器拉取的路由的选项。

相关内容