看个例子:
1.on server
ifconfig eth4 192.168.1.10/24 up
ifconfig eth5 192.168.1.11/24 up
2.on client
ifconfig eth4 192.168.1.20/24 up

3.on client
ping 192.168.1.10 -c 3
ping 192.168.1.11 -c 3

Actual results:
[root@client ~]# arp
Address HWtype HWaddress Flags Mask Iface
192.168.1.11 ether 00:1B:21:4A:FE:98 C eth4 <===== 错了吧?
192.168.1.10 ether 00:1B:21:4A:FE:98 C eth4

Expected results:
[root@client ~]# arp
Address HWtype HWaddress Flags Mask Iface
192.168.1.11 ether 00:1B:21:4A:FE:99 C eth4
192.168.1.10 ether 00:1B:21:4A:FE:98 C eth4

Additional info:
23:28:23.272726 arp reply 192.168.1.10 is-at 00:1b:21:4a:fe:99 (oui Unknown)
23:28:23.272783 arp reply 192.168.1.10 is-at 00:1b:21:4a:fe:98 (oui Unknown)

23:28:46.750823 arp reply 192.168.1.11 is-at 00:1b:21:4a:fe:99 (oui Unknown)
23:28:46.750850 arp reply 192.168.1.11 is-at 00:1b:21:4a:fe:98 (oui Unknown)
这个问题是是由Linux的路由和arp机制造成的,主要是路由。
在Linux中,IP地址是主机的属性,而不是接口的属性。
这就造成在反向路由查找时,可以考虑包进入的接口,也可以不考虑。
此时arp请求包会有两个应答,client会选择后一个。
关键是server会接着发一个arp请求,并且始终从eth4发出来(因为eth4的路由在前边),
这样client在应该该arp请求时,又会更新arp表。
所以我们在client上看到arp表中始终是eth4的mac。

解决方法:
1 echo 1 > /proc/sys/net/ipv4/conf/all/arp_filter 
2 ip route add 192.168.1.20/32 nexthop via 192.168.1.10 weight 1 nexthop via 192.168.1.11 weight 1

这里,添加的新路由的作用是以192.168.1.20作为目标地址进行反向路由检查时,依次循环选择eth4和eth5。
而arp_filter的作用是,只有通过了反向路由检查的包才会发出去。

同台机器2个网卡配置同段IP的更多相关文章

  1. linux下一个网卡配置多个ip【虚拟ip】

    Linux下配置网卡ip别名何谓ip别名?用windows的话说,就是为一个网卡配置多个ip.什么场合增加ip别名能派上用场?布网需要.多ip访问测试.特定软件对多ip的需要...and so on. ...

  2. centos linux系统日常管理复习 CPU物理数逻辑核数,iftop ,iotop ,sar ,ps,netstat ,一网卡多IP,mii-tool 连接,ethtool速率,一个网卡配置多个IP,mii-tool 连接,ethtool速率 ,crontab备份, 第十八节课

    centos linux系统日常管理复习 物理CPU和每颗CPU的逻辑核数,uptime ,w,vmstat,iftop ,iotop ,sar ,ps,netstat ,一个网卡配置多个IP,mii ...

  3. 虚拟IP---Linux下一个网卡配置多个IP

    转:http://blog.csdn.net/turkeyzhou/article/details/16971225 Linux下配置网卡ip别名何谓ip别名?用windows的话说,就是为一个网卡配 ...

  4. 关于linux Centos 7一个网卡配置多个IP的方法

    有时我们在工作中,会遇到一个网卡配置多个ip的情况,尤其是在linux服务器方面的应用教多 于是笔者将其配置过程整理如下,希望能帮到遇到同样问题的朋友,这里以vmware虚拟机下的Centos 7为例 ...

  5. CentOS工作内容(五)单一网卡配置多个IP

    CentOS工作内容(五)单一网卡配置多个IP 用到的快捷键 tab 自动补齐(有不知道的吗) ctrl+a 移动到当前行的开头(a ahead) ctrl+e 移动到当前行的开头(e end) ct ...

  6. 一个网卡配置多个ip配置实现,centos7系统

    仅一个网卡情况下,配置多个ip可以让该设备通过几个ip被访问,或隐藏常用ip,让其他人访问临时ip 一.永久性增加一个IP 方法1: vim /etc/sysconfig/network-script ...

  7. ubuntu下为单个网卡配置多个ip

    参考文档: https://www.jb51.net/os/Ubuntu/418951.html https://blog.csdn.net/ying1989920/article/details/4 ...

  8. linux下一个网卡配置多个IP

    转自:http://blog.csdn.net/beckdon/article/details/15815197 最常用的给网卡配置ip的命令为 #ifconfig eth0 192.168.0.1 ...

  9. 为网卡配置多个IP地址(windows)

    转自:https://jingyan.baidu.com/article/fcb5aff7e0fd76edaa4a71d3.html 为电脑配置多个IP,免去到不同地点需要更改IP的烦恼. 譬如电脑在 ...

随机推荐

  1. Jmeter-线程组执行顺序控制

    线程组按顺序来执行,大概思路, 1.需要控制线程组内的操作在满足某一条件才执行,那么就需要使用if或者while: 2.要使用if或者while都需要一个变量,而这个变量要在两个或多个线程组内使用,那 ...

  2. WindowsXamlHost:在 WPF 中使用 UWP 的控件(Windows Community Toolkit)

    Windows Community Toolkit 再次更新到 5.0.以前可以在 WPF 中使用有限的 UWP 控件,而现在有了 WindowsXamlHost,则可以使用更多 UWP 原生控件了. ...

  3. ASP.NET Word转为PDF

    1.首先安装 Microsoft Office 2007加载项:Microsoft Save as PDF-简体中文版:下载地址: http://download.microsoft.com/down ...

  4. TypeScript学习笔记(七) - 命名空间

    本篇将介绍TypeScript的命名空间,并简单说明一下与模块的区别. 在之前的例子里,有如下一段代码,通过修改这段代码来演示命名空间的用法. interface Animal { name: str ...

  5. os、os.path、shutil操作文件和文件路径的常用方法总结

    os模块是python标准库中的一个用于访问操作系统功能的模块,下面简要介绍一下常用的命令 1.os.name().    判断现在正在使用的平台,windows返回’nt’,Linux返回‘posi ...

  6. mongodb数据处理工具

    最近大家需要对mongodb和postgres数据库操作比较频繁,给大家推荐一个数据处理工具Kettle,希望对你能有所帮助 ①   将mongodb数据库中的表进行处理然后导出来生成csv,txt, ...

  7. 【Xamarin】Visual Studio 2013 Xamarin for Android开发环境搭建与配置&Genymotion

    Xamarin Xamarin是基于Mono的平台. Xamarin旨在让开发者可以用C#编写iOS, Android, Mac应用程序,也就是跨平台移动开发. 下载资源 1,进入Xamarin官方网 ...

  8. 【转】Linux shell的&&和||

    原文网址:http://www.2cto.com/os/201302/189655.html Linux shell的&&和||   shell 在执行某个命令的时候,会返回一个返回值 ...

  9. clamav完整查杀linux病毒实战(转)

    开篇前言 Linux服务器一直给我们的印象是安全.稳定.可靠,性能卓越.由于一来Linux本身的安全机制,Linux上的病毒.木马较少,二则由于宣称Linux是最安全的操作系统,导致很多人对Linux ...

  10. 显示Deprecated: Assigning the return value of new by reference is deprecated in解决办法

    很多朋友的php程序当php的版本升级到5.3以后,会出现”Deprecated: Assigning the return value of new by reference is deprecat ...