两个 NIC,一台服务器

两个 NIC,一台服务器

我在全新安装的 Ubuntu 10.04 LTS 上安装了两个 NIC。两个都配置为 dhcp。两个卡都位于同一个局域网中,网关也相同。除了它们获得的 IP 不同(这正是我想要的),其他一切都相同。

我想要实现的是让两个 NIC 同时运行。

目前,服务器启动时会激活两个 NIC,但服务器无法解析任何域。如果我关闭其中一个 NIC 并将其重新启动,服务器可以解析域,但我启动的 NIC 不会响应任何流量。

有任何想法吗?

解决了

因此,基本上两个 NIC 应该位于不同的子网中。否则,在我概述的场景中,内核将丢弃数据包。

一个权宜之计是禁用丢弃数据包

# for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do echo 0 > $i done

更多信息请点击这里:http://lartc.org/howto/lartc.kernel.html

答案1

我最近也遇到了类似的情况。请阅读http://lartc.org/howto/lartc.kernel.html

Ubuntu 10.04 LTS 默认会过滤那些可以直接到达主机的数据包。除非更改内核参数,否则这会导致具有多条网络路径的主机无法正常工作。

答案2

这与多宿主路由器的设置类似。我认为这是一个路由问题。接收数据包的本地进程不会自动通过同一适配器将响应数据包发送回去。

您可以使用 tshark 进行检查。在不同的 shell 上运行tshark -i eth0和(如果这些是您的适配器),然后在从外部源连接到每个 IP 时观察数据包的流动情况。如果您看到所有返回流量都返回了,那么您需要一些路由规则来解决这个问题,这就是需要解决的问题。HOWTO(tshark -i eth1eth0iproute21)(2) 非常庞大,但我找到了一篇有用的博客文章,应该可以满足您的需求,网址为:

http://kindlund.wordpress.com/2007/11/19/configuring-multiple-default-routes-in-linux/

(您可能可以跳过内核编译阶段。)

答案3

如果一个 LAN 上有两个 NIC,您几乎肯定会想要创建一个绑定接口(有时称为组合)。它们将共享一个 IP,并且可以配置为负载平衡。

相关内容