host with multiple nic in same network

主机上多个网卡分配了同一个网络的不同IP地址,流量可能会从某一个网卡流入。

前段时间要给一台服务器增加一个新IP用作新业务使用,服务器有4个网卡,其中内网外网各使用一个,剩下两个网卡也接入了交换机外网VLAN中,以备后续使用,这不用上了。但当我使用第三个网卡并分配IP后发现流量还是从原来外网网卡进入而不是从新加的这个进入,调试了一会交换机后以为是交换机问题,但又不敢重启交换机。

后来看到有个内核参数arp_filter,默认值是0,表示系统会处理ARP请求,但并不会按照事实回应,比如交换机在学习新网卡MAC地址时,ARP请求发送到主机,主机本应该把那个网卡的MAC地址回应给交换机,但因为这个配置,主机把其他网卡MAC地址回应给了交换机,例如第一个网卡、最后一个网卡、或者第一个连通的网卡,于是交换机学习到了新IP对应的MAC地址和之前学习的一样,以后新IP的流量还是会从之前的网卡进入,达不到预想的效果。

如果希望让系统正确回应ARP请求,只需将该值设置为1,具体可参考:http://linuxinsight.com/proc_sys_net_ipv4_conf_eth0_arp_filter.html