首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在同一个网络上具有多个接口的Linux服务器上,ARP以单个MAC地址进行响应。

在同一个网络上具有多个接口的Linux服务器上,ARP以单个MAC地址进行响应。
EN

Server Fault用户
提问于 2014-03-06 01:55:22
回答 2查看 3.4K关注 0票数 4

Linux服务器有两个活动的网络接口:

代码语言:javascript
运行
复制
IF:eth1    IP:192.168.1.1/24    MAC:11:11:11:11:11:11   (1GbE)
IF:eth2    IP:192.168.1.2/24    MAC:22:22:22:22:22:22   (10GbE)

其思想是10 The接口(eth2)是与网络上的主机通信的主要接口。我希望将第二个1GbE接口(eth1)保留为故障安全。如果10GbE接口出现故障:我仍然有一个简单的方法,可以更新DNS以便主机可以连接等等。

在观察接口统计数据时,我注意到所有通信量都是在eth1上发送/接收,而不是在eth2上,尽管网络上的所有主机都在寻址这个接口。我确认DNS记录指向正确接口的IP。此外,我还确认了通过IP而不是FQDN来寻址接口会产生同样的结果。

我清除了机器上的ARP缓存,并通过IP地址点击了eth1接口。我检查我的ARP表,找到eth1的MAC地址。我再次清除了ARP缓存,并通过IP地址点击了eth2接口。再次,我检查我的ARP表并找到eth1 (而不是eth2)的MAC地址。

如果我关闭eth1,物理断开接口,或者将它放到另一个逻辑网络上--我得到了预期的行为,流量就会通过我的eth2接口。

我的问题是:为什么会发生这种事?我看到一些证据表明,由于linux内核的“弱主机模型”,这是预期的行为。

如何使两个接口保持在同一个网络上,并使它们以我所期望的方式工作。

EN

回答 2

Server Fault用户

回答已采纳

发布于 2014-03-06 02:17:20

Linux旨在响应任何接口上的ARP请求。假设主机拥有IP地址,而不是特定的接口。你看到的是所谓的ARP。

可以使用sysctrl更改此行为。

arp_ignore -整型定义不同的模式,以响应接收到的解析本地目标IP地址的ARP请求:0-(默认):对任何本地目标IP地址进行回复,在任何接口1上配置--只有当目标IP地址是在传入接口上配置的本地地址时才回复--只有当目标IP地址是在传入接口上配置的本地地址时才回复,并且两个发送者的IP地址都是来自此接口3上的同一子网的部分--不要对配置了作用域主机的本地地址进行答复,只答复全局地址和链接地址的解析。

票数 3
EN

Server Fault用户

发布于 2014-03-06 08:55:21

如果您的交换机支持它,我将使用802.1ad链接聚合来提供故障转移。

使用此特性,您可以将两个接口连接在一起,并且可以设置一个为主动接口,另一个为被动接口。您的IP地址将驻留在键合接口上,因此,如果一个NIC失败,则不会发生IP地址更改。

票数 3
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/580160

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档