升级到 Ubuntu 16.04 后无法 ping 网关 | arp 问题?

升级到 Ubuntu 16.04 后无法 ping 网关 | arp 问题?

从 14.04 升级到 Ubuntu 16.04 后,我无法 ping 通网关,起初接口 eth0 没有启动,我读到刷新新的 mac 地址可以解决这个问题,所以我决定从虚拟机中删除网络接口并添加一个新的,然后发现必须将 eth0 重命名为其他名称 (ens###),如“ifconfig -a”中所示,才能启动接口。但现在我无法 ping 通网关,路由一切正常。

root@Hostname:~# arp -a
? (192.168.1.1) at <incomplete> on ens192
? (192.168.1.82) at 00:5:56:ab:bb:cc [ether] on ens192

旧的 MAC 地址会不会还留在某个地方?或者为什么会显示不完整?当我 ping 网关时,其目标无法访问,而升级前它工作正常。

您可以在 tcpdump 中看到它正在请求网关 mac 地址

tcpdump 输出图像

更新:已解决

好的,搞清楚了,看起来当我添加网络适配器时,我选择了 vmxnet3,但旧适配器是 E1000。我只是再次删除了接口,添加了 E1000 适配器,并在 /etc/network/interface 文件中再次重命名了接口名称,然后重新启动。现在它工作正常。谢谢 Daniele,再次检查了虚拟机管理器,虚拟机有所帮助

答案1

简要回顾

最近,Ubuntu 采用了 systemd,它在系统启动时处理网络接口的命名。命名将与某些东西相关联身体的在硬件中(例如插入卡的插槽),这样您就可以添加/删除/替换网络硬件,并且名称不会突然改变(就像以前使用该ethX方案一样)。

现在,您进行了升级,并且网络接口已重命名,因此/etc/network/interfaces需要修复您的配置。但是,由于感到困惑,您首先尝试删除虚拟网卡,然后添加一个新的。这给了您一个不同的 mac 地址,并且没有解决您的连接问题。然后您意识到重命名已经发生,您修复了配置,连接又恢复了。

问题(待解决):

您的虚拟机现在可以与同一 LAN 中的另一台机器()通信192.168.1.82,但不能再与网关通信。

arp replyVM 无法从网关接收信息意味着它们甚至无法在以太网级别进行通信。

可能原因(有待检查):

  • 检查新的虚拟网卡是否正确连接到网关所连接的同一虚拟网络。
  • 检查是否有任何过滤器(例如iptables或添加 iptables 规则的东西,可能在虚拟机管理程序上,而不是虚拟机本身)应用于网关 NIC 或 VM NIC,这可能会允许具有旧 MAC 地址的流量但不允许新 MAC 地址的流量。
  • 检查您选择的新虚拟网卡类型是否受客户操作系统支持。

相关内容