ping响应显示它来自不同的mac地址

时间:2016-08-12 17:57:20

标签: linux networking

我一直有关于ping这种奇怪的事情。

设置为:

  • Unit A:Windows操作系统

    • 带有IP adapter1和MAC 1.2.3.4
    • 的virtIO a.b.c.d.e.f
    • 带有IP adapter2和MAC 5.6.7.8
    • 的virtIO g.h.i.j.k.l
  • Unit B:红帽操作系统

    • IP 2.4.6.8和MAC m.n.o.p.q.r

Red Hat OS的内部终端,我们ping了virtIO适配器的IP地址。

我无法理解为什么:

  1. 发生重复的ping响应,或者是其他2个ping请求。
  2. 我在执行ping操作时已完成tracedump,并且显然响应MAC地址 NOT ping请求IP的MAC地址。
  3. 运行ping 1.2.3.4时:

    PING REQ m.n.o.p.q.r > a.b.c.d.e.f  :: 2.4.6.8 > 1.2.3.4
    PING RES g.h.i.j.k.l > m.n.o.p.q :: 1.2.3.4 > 2.4.6.8
    PING RES g.h.i.j.k.l > m.n.o.p.q :: 1.2.3.4 > 2.4.6.8  DUP!
    

    我已完成arp -an,并且根据指定的IP到MAC关系,arp表条目是正确的...

    什么可能导致这种情况发生?这两个单元之间的网络是否存在误配置?

    修改

    以下是我的网络设置的确切细节...修改了mac地址; " m.n.o"前缀表示我在单位中执行命令时看到的相似之处。

    Unit B详细说明我们执行ping请求的位置。

    ifconfig -a

    ctrl: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1450
        inet 10.0.2.100  netmask 255.255.255.0  broadcast 0.0.0.0
        inet6 fe80::f427:50ff:fe58:b132  prefixlen 64  scopeid 0x20<link>
        ether **aa:bb:cc:ee:dd:ee**  txqueuelen 1000  (Ethernet)
    
    ctrlpub0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.40.90.151  netmask 255.255.255.224  broadcast 0.0.0.0
        inet6 fe80::f816:3eff:fe71:6754  prefixlen 64  scopeid 0x20<link>
        ether **m.n.o.71.67.54**  txqueuelen 1000  (Ethernet)
    
    ctrlpub1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.40.90.183  netmask 255.255.255.224  broadcast 0.0.0.0
        inet6 fe80::f816:3eff:fe52:a3d4  prefixlen 64  scopeid 0x20<link>
        ether **m:n:o:52:ad:34**  txqueuelen 1000  (Ethernet)
    
    lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
    
    oam: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1450
        inet 10.0.0.105  netmask 255.255.255.0  broadcast 0.0.0.0
        inet6 fe80::641d:cfff:feac:1129  prefixlen 64  scopeid 0x20<link>
        ether **aa.bb.cc.dd.ee.ff**  txqueuelen 1000  (Ethernet)
    

    arp -an

    ? (10.40.90.131) at **m.n.o.p.q.r** [ether] on ctrlpub0 <--- so this is the one that we ping to...
    ? (10.0.0.3) at X:X:X:X:X:X [ether] on oam
    ? (10.0.2.102) at X:X:X:X:X:X [ether] on ctrl
    ? (10.0.2.101) at X:X:X:X:X:X [ether] on ctrl
    ? (10.40.90.158) at **g.h.i.j.k.l** [ether] on ctrlpub0 <--- but this is the mac address in the reply, and yes it is not starting with the m.n.o. prefix ...
    ? (10.0.0.11) at X:X:X:X:X:X [ether] on oam
    ? (10.0.2.90) at X:X:X:X:X:X [ether] on ctrl
    ? (10.0.0.100) at X:X:X:X:X:X [ether] on oam
    ? (10.0.0.1) at X:X:X:X:X:X [ether] on oam
    ? (10.0.2.103) at X:X:X:X:X:X [ether] on ctrl
    

    在Windows操作系统中,Unit A

    PWindows IP Configuration
    
      Host Name . . . . . . . . . . . . . . . . : GEN162401
      Primary Dns Suffix . . . . . . . . . . .  : 
      Node Type . . . . . . . . . . . . . . . . : Hybrid
      IP Routing Enabled . . . . . . . . . . .  : No
      WINS Proxy Enabled . . . . . . . . . . .  : No
    
    Ethernet Adapter EXT-CP2-EL5:
    
      Connection-specific DNS Suffix . . . . .  :
      Description . . . . . . . . . . . . . . . : Red Hat VirtIO Ethernet Adapter #5
      Physical Address . . . . . . . . . . . .  : m:n:o:D5:5d:FC
      DHCP Enabled . . . . . . . . . . . . . .  : No
      Autoconfiguration Enabled . . . . . . . . : Yes
      IPv4 Address . . . . . . . . . . . . . .  : 10.40.90.163(Preferred)
      Subnet Mask . . . . . . . . . . . . . . . : 255.255.255.224
      Default Gateway . . . . . . . . . . . . . :
      NetBIOS over Tcpip . . . . . . . . . . .  : Enabled
    
    Ethernet Adapter EXT-CP1-EL4: 
    
      Connection-specific DNS Suffix . . . . .  :
      Description . . . . . . . . . . . . . . . : Red Hat VirtIO Ethernet Adapter #4
      Physical Address . . . . . . . . . . . .  : **m:n:o:p:q:r**  <---- **this is the one we are pinging to**
      DHCP Enabled . . . . . . . . . . . . . .  : No
      Autoconfiguration Enabled . . . . . . . . : Yes
      IPv4 Address . . . . . . . . . . . . . .  : 10.40.90.131(Preferred)
      Subnet Mask . . . . . . . . . . . . . . . : 255.255.255.224
      Default Gateway . . . . . . . . . . . . . :
      NetBIOS over Tcpip . . . . . . . . . . .  : Enabled
    
    Ethernet Adapter OnM:
    
      Connection-specific DNS Suffix . . . . .  :
      Description . . . . . . . . . . . . . . . : Red Hat VirtIO Ethernet Adapter
      Physical Address . . . . . . . . . . . .  : m:n:o:78:55:AA
      DHCP Enabled . . . . . . . . . . . . . .  : No
      Autoconfiguration Enabled . . . . . . . . : Yes
      Link-local IPv6 Address . . . . . . . . . : fe80:f0c1:45d2:5417:a8c3%5(Preferred)
      IPv4 Address . . . . . . . . . . . . . .  : 172.24.17.100(Preferred)
      Subnet Mask . . . . . . . . . . . . . . . : 255.255.255.0
      Default Gateway . . . . . . . . . . . . . : 172.24.17.1
      DNS Servers . . . . . . . . .  . . . . .  : fec0:0:0:ffff:1%1
                                                  fec0:0:0:ffff:2%1
                                                  fec0:0:0:ffff:3%1
      NetBIOS over Tcpip . . . . . . . . . . .  : Enabled
    

    执行ping 10.40.90.131收益:

      12:39:13.896547 **m.n.o.71.67.54** > **m:n:o:p:q:r**, ethertype IPv4 (0x0800), length 98: 10.40.90.151 > 10.40.90.131: ICMP echo request, id 843, seq 1, length 64
      12:39:13.897344 **g.h.i.j.k.l** > **m.n.o.71.67.54**, ethertype IPv4 (0x0800), length 98: 10.40.90.131 > 10.40.90.151: ICMP echo reply, id 843, seq 1, length 64
      12:39:14.897181 **m.n.o.71.67.54** > **m:n:o:p:q:r**, ethertype IPv4 (0x0800), length 98: 10.40.90.151 > 10.40.90.131: ICMP echo request, id 843, seq 2, length 64
      12:39:14.897500 **g.h.i.j.k.l** > **m.n.o.71.67.54**, ethertype IPv4 (0x0800), length 98: 10.40.90.131 > 10.40.90.151: ICMP echo reply, id 843, seq 2, length 64
      12:39:15.897284 **m.n.o.71.67.54** > **m:n:o:p:q:r**, ethertype IPv4 (0x0800), length 98: 10.40.90.151 > 10.40.90.131: ICMP echo request, id 843, seq 3, length 64
      12:39:15.897633 **g.h.i.j.k.l** > **m.n.o.71.67.54**, ethertype IPv4 (0x0800), length 98: 10.40.90.131 > 10.40.90.151: ICMP echo reply, id 843, seq 3, length 64
      12:39:16.897243 **m.n.o.71.67.54** > **m:n:o:p:q:r**, ethertype IPv4 (0x0800), length 98: 10.40.90.151 > 10.40.90.131: ICMP echo request, id 843, seq 4, length 64
      12:39:16.897483 **g.h.i.j.k.l** > **m.n.o.71.67.54**, ethertype IPv4 (0x0800), length 98: 10.40.90.131 > 10.40.90.151: ICMP echo reply, id 843, seq 4, length 64
      12:39:17.260557 **g.h.i.j.k.l** > **m.n.o.71.67.54**, ethertype IPv4 (0x0800), length 98: 10.40.90.131 > 10.40.90.151: ICMP echo reply, id 843, seq 4, length 64
    

3 个答案:

答案 0 :(得分:0)

在您的示例中,IP地址表示设备不在同一子网中。如果设备不在同一子网中,则它们将通过其默认网关进行通信。

通过路由器/默认网关的数据包将剥离并重建其以太网标头。导致src mac你看到的是IP数据包最后通过的路由器/ L3转发设备的mac。

此外,您看到重复的回复,所以您也可以 2个设备在同一网络(广播域)上,具有重复的IP地址配置。

答案 1 :(得分:0)

看起来10.10.90.15810.40.90.131在同一主机(在不同的界面上)分配。EXT-CP1-EL4。但是,我在您粘贴的配置中找不到此地址。

如果是这种情况,由于这些接口都在同一个网络中,因此主机绝对无法分辨在发送数据包时使用哪个接口,因为弱端网络的影响堆栈&#34 ;.因此,数据包会在另一个界面上传出,即使您已经预期它会出现在它所在的同一界面上。

您无法在此类系统上的多个接口上的重叠网络上分配多个地址(Windows,Mac OS,Linux,其他任何不特定的接口)。

编辑:更简单地说,您确定在(?:[a-zA-Z]\d)|(?:\d[a-zA-Z]) 上没有额外的地址吗?

答案 2 :(得分:0)

12:39:16.897483 g.h.i.j.k.l &gt; m.n.o.71.67.54 ,ethertype IPv4(0x0800),长度98:10.40.90.131&gt; 10.40.90.151:ICMP echo reply,id 843,seq 4,length 64   12:39:17.260557 g.h.i.j.k.l &gt; m.n.o.71.67.54 ,ethertype IPv4(0x0800),长度98:10.40.90.131&gt; 10.40.90.151:ICMP echo reply,id 843,seq 4,length 64

在你的更新中显示你提到的两个数据包来自相同的src ip和相同的src mac。可以通过在2个主机之间的路径中泛滥的交换机/网桥来复制分组。您是否有可能在主机之间的路径中有一些虚拟以太网桥(brctl)或真正的交换机?他们会形成一个循环吗?