忘记密码   免费注册 查看新帖 | 论坛精华区

ChinaUnix.net

  平台 论坛 博客 认证专区 大话IT HPC论坛 徽章 文库 沙龙 自测 下载 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
最近访问板块 发新帖
查看: 1039 | 回复: 1

ARP请求,对应网卡没有回复ARP Reply [复制链接]

论坛徽章:
0
发表于 2017-07-31 14:07 |显示全部楼层
本帖最后由 dxcheng 于 2017-07-31 14:12 编辑

Hi,all,

网络环境:
openstack网络下创建两个linux centos虚拟机,一个单网卡,另外一个多网卡,如下图所示:

网络拓扑

网络拓扑


问题描述:

在172.16.101.3这台单网卡虚拟机上ping 另外一台虚拟机的eth0 ip 172,16.101.7是可以通的。
但是,ping另外一块网卡172.16.101.10时,失败如下:
[root@centos2 ~]# ping 172.16.101.10
PING 172.16.101.10 (172.16.101.10) 56(84) bytes of data.
From 172.16.101.3 icmp_seq=1 Destination Host Unreachable
From 172.16.101.3 icmp_seq=2 Destination Host Unreachable


查看arp信息如下:
[root@centos2 ~]# arp -a
host-172-16-101-7.openstacklocal (172.16.101.7) at fa:16:3e:3d:73:55 [ether] on eth0
host-172-16-101-10.openstacklocal (172.16.101.10) at <incomplete> on eth0

我的分析:
在另外一台虚拟机上通过tcpdump抓包分析,可以看到ping eth1(172.16.101.10)时,eth0收到arp请求,
并做了回复,不过是将这个ip地址解析为了eth0本身的mac地址。实际的网卡eth1能收到这个arp请求,但是没有响应。
[root@centos3 ~]# tcpdump -i eth0 arp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
06:13:49.512803 ARP, Request who-has host-172-16-101-10.openstacklocal tell host-172-16-101-3.openstacklocal, length 28
06:13:49.512827 ARP, Reply host-172-16-101-10.openstacklocal is-at fa:16:3e:3d:73:55 (oui Unknown), length 28

[root@centos3 ~]# tcpdump -i eth1 arp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
06:14:17.520515 ARP, Request who-has host-172-16-101-10.openstacklocal tell host-172-16-101-3.openstacklocal, length 28
06:14:18.522618 ARP, Request who-has host-172-16-101-10.openstacklocal tell host-172-16-101-3.openstacklocal, length 28
06:14:20.518783 ARP, Request who-has host-172-16-101-10.openstacklocal tell host-172-16-101-3.openstacklocal, length 28


而且ARP发送端,一直也是没有收到ARP响应:
[root@centos2 ~]# tcpdump -i eth0 arp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
06:21:48.862254 ARP, Request who-has host-172-16-101-10.openstacklocal tell node1, length 28
06:21:49.863688 ARP, Request who-has host-172-16-101-10.openstacklocal tell node1, length 28
06:21:50.865690 ARP, Request who-has host-172-16-101-10.openstacklocal tell node1, length 28



我的问题:
1. eth0 为什么回复eth1的ARP请求?
2. eth1 为什么没有回复ARP请求?

PS. Linux core 3.10.0-514.26.2.el7.x86_64, CentOS Linux release 7.3.1611 (Core)

Thanks,
Cheng



论坛徽章:
0
发表于 2017-07-31 14:18 |显示全部楼层
补充一下:

centos3 多网卡虚拟机上查看route信息如下:
[root@centos3 ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         host-172-16-101 0.0.0.0         UG    0      0        0 eth0
169.254.169.254 host-172-16-101 255.255.255.255 UGH   0      0        0 eth1
172.16.101.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0
172.16.101.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1


将eth0的那条route删除之后就可以ping通eth1,但是eth0又ping不通了。

我的问题:
3. arp和route路由为什么还有关系?
4. centos3 上eth0的arp 响应,为什么在centos2 上收不到?

Thanks very much!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802020122
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP