两个网卡在同一个IP段

什么是解决这个问题的最佳技术解决scheme?

我有一个在一个Linux服务器中有两个网卡的24段网段(我们称之为srv ),在这个网段中有两个IP地址。

  • NIC1 / eth0 / 10.10.1.101 / MAC1
  • NIC2 / eth1 / 10.10.1.102 / MAC2

10.10.1.0 /24通过一个允许通过基于MAC / IP组合的接入的交换机进行链接,IP由该交换机通过DHCP(基于单独的MAC)通过DHCP进行设置。

到目前为止,这似乎工作 – 不知何故 。 我知道,这个设置在技术上是不行的 ,查看/var/log/messages看到eth1每500ms的预期冲突(火星源代码包):

 ...
 srv内核:[1217.220559] martian source 10.10.1.254 from 10.10.1.112,on dev eth1
 srv kernel:[1217.220563] ll header:ff:ff:ff:ff:ff:ff:00:1e:68:9d:54:05:08:06
 srv内核:[1218.313186]火星源10.10.1.255从10.10.1.59开始,在dev eth1上
 srv kernel:[1218.313190] ll header:ff:ff:ff:ff:ff:ff:00:13:d4:b7:6f:e9:08:00
 ...

每个NIC服务于其特定职责(连接到基于IP的vhosts-setup中的一个apache2服务器提供的不同网站)。

如何解决这个问题? 我知道(而且我确实是这样),可以用通常的sysctrl -p调用closures“火星包logging”:

 net.ipv4.conf.all.log_martians = 0
 net.ipv4.conf.eth0.log_martians = 0
 net.ipv4.conf.eth1.log_martians = 0
 net.ipv4.conf.lo.log_martians = 0

但问题应该可以通过一个干净的方式来解决? 或者不是?

关心和感谢

RBO

你真的需要2个尼克斯吗?

一个方法可能是添加一个别名到一个接口来分配额外的IP地址:

sudo / sbin / ifconfig eth0:1 10.10.1.102/24 up