问题现象
- 宿主机 ping 虚拟机 192.168.0.90:成功
- 虚拟机 ping 虚拟机 192.168.0.90:成功
- 虚拟机 ping 宿主机 192.168.0.120:失败
- 虚拟机 ping 路由器 192.168.0.1:失败
- 虚拟机 ping 外网 180.101.51.73:失败
防火墙排查
- systemctl stop firewalld 暂停防火墙
- ping测试
- systemctl start firewalld 恢复防火墙
ICMP排查
- ICMP影响ping回环
- 检查当前ICMP设置
- firewall-cmd --get-icmptypes
- 列出了所有支持的 ICMP 类型,包括 echo-request(ping 请求)和 echo-reply(ping 回复)。这表明系统支持这些类型。
- firewall-cmd --zone=public --list-all|grep icmp
- icmp-block-inversion: no:表示没有 ICMP 阻塞反转(默认行为:未列出的 ICMP 类型允许)
- icmp-blocks: (空):表示 public 区域中没有阻塞任何 ICMP 类型。echo-request 和 echo-reply 默认允许,防火墙不会阻挡 ping 流量。
- 结论:firewalld 不是导致 VM 无法 ping 的原因
- firewall-cmd --get-icmptypes
路由表排查
- 查看路由表:ip route show
- 正常:default via 192.168.0.1 dev ens33 proto static metric 100
- 正常:192.168.0.0/24 dev ens33 proto kernel scope link src 192.168.0.90 metric 100
[root@VMCentos7 ~]# cat /etc/resolv.conf # Generated by NetworkManager nameserver 192.168.1.1 # 路由1 nameserver 192.168.0.1 # 路由2 nameserver 240c::6666 # NOTE: the libc resolver may not support more than 3 nameservers. # The nameservers listed below may not be recognized. nameserver 240c::6644
- 问题可能:两个路由器ip在dns同时存在
- 修改网卡配置 vi /etc/sysconfig/network-scripts/ifcfg-ens33
- 重启网络生效 systemctl restart NetworkManager
DNS排查
- 查看DNS:cat /etc/resolv.conf
- 正常:nameserver 192.168.0.1
- 正常:nameserver 8.8.8.8
ARP排查
- 检查ARP表:arp -a