我正在尝试在 Ubuntu(服务器版)9.10 中设置两个网络适配器。一个用于公共互联网,另一个用于私有 LAN。
在安装过程中,系统要求我选择主网络适配器(eth0 或 eth1)。我选择了 eth0,向安装程序提供了下面内容中列出的详细信息/etc/network/interfaces
,然后继续。过去几天,我一直在使用这些设置下的适配器,一切正常。
今天,我决定是时候设置本地适配器了。我编辑了/etc/network/interfaces
以添加 eth1 的详细信息(见下文),然后使用 重新启动网络sudo /etc/init.d/networking restart
。
此后,尝试使用外部 IP 地址 ping 该机器失败,但我可以 ping 其本地 IP 地址。
如果我使用 关闭 eth1 sudo ifdown eth1
,我可以再次通过其外部 IP 地址成功 ping 计算机(但显然不是其内部 IP 地址)。 重新启动 eth1 会让我们回到原始问题状态:外部 IP 不起作用,内部 IP 起作用。
这是我的/etc/network/interfaces
(我删除了外部 IP 信息,但这些设置与工作时没有变化)
rob@rhea:~$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary (public) network interface
auto eth0
iface eth0 inet static
address xxx.167.218.118
netmask 255.255.255.240
network xxx.167.218.112
broadcast xxx.167.218.127
gateway xxx.167.218.126
# The secondary (private) network interface
auto eth1
iface eth1 inet static
address 192.168.99.4
netmask 255.255.255.0
network 192.168.99.0
broadcast 192.168.99.255
gateway 192.168.99.254
然后我这样做:
rob@rhea:~$ sudo /etc/init.d/networking restart
* Reconfiguring network interfaces... [ OK ]
rob@rhea:~$ sudo ifup eth0
ifup: interface eth0 already configured
rob@rhea:~$ sudo ifup eth1
ifup: interface eth1 already configured
然后,从另一台机器:
C:\Documents and Settings\Rob>ping xxx.167.218.118
Pinging xxx.167.218.118 with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Ping statistics for xxx.167.218.118:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
回到有问题的 Ubuntu 服务器:
rob@rhea:~$ sudo ifdown eth1
... 在另一台机器上再次执行:
C:\Documents and Settings\Rob>ping xxx.167.218.118
Pinging xxx.167.218.118 with 32 bytes of data:
Reply from xxx.167.218.118: bytes=32 time<1ms TTL=63
Reply from xxx.167.218.118: bytes=32 time<1ms TTL=63
Reply from xxx.167.218.118: bytes=32 time<1ms TTL=63
Reply from xxx.167.218.118: bytes=32 time<1ms TTL=63
Ping statistics for xxx.167.218.118:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
那么...我做错了什么?
解决了修复方法首先从 eth1 节中删除网关信息(正如 MikeyB 建议的那样),然后从路由表中删除 eth1 网络地址的路由,如下所示:
sudo route del -net 192.168.99.0 netmask 255.255.255.0 dev eth1
答案1
您几乎肯定不应该有两个默认网关。
尝试从 eth1 节中删除默认网关,看看是否有帮助。