Ubuntu Server 9.10 上的两个网络适配器-不能同时工作吗?

Ubuntu Server 9.10 上的两个网络适配器-不能同时工作吗?

我正在尝试在 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 节中删除默认网关,看看是否有帮助。

相关内容