如何设置启动界面时添加哪些路由

如何设置启动界面时添加哪些路由

我的一台机器上有两个接口,一个是从 DHCP 获取 IP 的互联网连接,没问题。

另一个接口 (eth1) 用于本地计算机,并且gateway 192.168.3.1在其配置文件(基于 Ubuntu 的发行版)中进行了设置。

问题是,当我启动接口时eth1,它会自动将默认(0.0.0.0)路由添加到路由表(正如它应该做的那样),并且我无法连接到互联网,因为它尝试发送数据包发送到本地网络。到目前为止,我必须通过删除192.168.3.1网关的默认路由来手动完成此操作。

有没有办法设置一旦我打开界面就不会添加默认路由?我仍然需要gateway 192.168.3.1保留在配置文件中,因为我必须有一些特定的3.x网络路由。

这是我的路由表:

192.168.3.0     *               255.255.255.0   U     0      0        0 eth1
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
default         192.168.3.1     0.0.0.0         UG    100    0        0 eth1
default         DD-WRT          0.0.0.0         UG    100    0        0 eth0

答案1

不要声明192.168.3.1为网关。网关几乎意味着“默认路由”。如果接口地址位于 192.168.3.1/24 网络内,那么netmask 255.255.255.0就足够了。

如果不是这种情况,请将您需要的任何路由添加为接口设置脚本的一部分。在 Debian/Ubuntu 上,up在 中放入一个子句/etc/network/interfaces,或在 中添加一个脚本/etc/network/if-up.d。要运行的命令是route add 192.168.3.1 eth1 && route add -net 192.168.3.0/24 gw 192.168.3.1

答案2

首先执行此操作ip route list,然后在 eth1 接口上再次检查相同的情况。将相同的内容放入/etc/sysconfig/network-scripts/route-eth1 文件中,以便每次重新启动接口时,都会应用接口文件中的路由配置。另一方面,如果您想专门为其执行某些操作,您可以放入/etc/rc.d/init.dnetwork脚本在每次网络重新启动时为您执行此操作,它也将读取route-eth1文件并应用路由配置。

相关内容