环境现象:
一个物理机下机,虚拟出很多的虚拟机,A ping B的时候,间接性PING不通。B ping A可以 ping通。
分析:
从现象上看是典型的单通。
很多环境单通,是因为有一端没有路由,而这个完全不是。因为两台机器,是同一个物理机下虚拟出来的,从网段上看是同一个子网,是不是需要路由的。这走的其实是最基本的二三层转发。
1、 查看ARP,发现B上学习到正确的A的MAC。而A上学习到的B的MAC是错误的。这就是单通的最直接的原因。
2、 怀疑网络上地址冲突,咨询管理员,网络上并没有地址冲突。通过重启网桥,又都通PING通了。
3、过了一天,问题又出现了,不能忍了。现在最直接的错误就是A上面学习到的ARP错了。这个错误的MAC从哪儿来的呢。
通过度娘,找到nmap -sP 192.169.1.0/24 这么一条命令。它能给192.169.1.0/24 这个网段内所有地址都学习一遍ARP。在结果里,我搜了一下这个MAC。
果然,出现了两次,其中一次就是B的地址,正是错误的原因。那还有一次,便是虚拟机C。
登录到虚拟机C上去,TCPDUMP一下,果然,收到A的ARP请求,然后做了错误的应答。
找到管理员,这个机器上的确比较特殊,装了macvtap。
感觉这个报文,有点儿像ARP欺骗的问题了。
后续,1、熟悉一下nmap 命令。在LINUX的网络里,还是可以用一下的。
2、了解一下macvtap 这是个什么东西,原理是什么。