我在一台机器上有两个接口,一个是从 DHCP 获取 IP 的 Internet 连接,没问题。
另一个接口 (eth1) 是本地机器,它gateway 192.168.3.1在其配置文件(基于 Ubuntu 的发行版)中设置了 。
问题是,当我打开eth1接口时,它会自动将默认 (0.0.0.0) 路由添加到路由表(应该这样做),但我无法连接到 Internet,因为它尝试发送到本地网络的数据包。到目前为止,我不得不通过删除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
Run Code Online (Sandbox Code Playgroud)
不要声明192.168.3.1为网关。网关几乎意味着\xe2\x80\x9c默认路由\xe2\x80\x9d。如果接口地址位于 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
| 归档时间: |
|
| 查看次数: |
4457 次 |
| 最近记录: |