我在 virt-manager 中有虚拟机。通常,他们可以连接到互联网。这些虚拟机连接到我的默认虚拟网络 device virbr0
。为了访问互联网,虚拟网络被配置为“NAT 转发”。
但虚拟机无法再连接到互联网。它们可以ping
在 IP 地址 192.168.122.1 上托管主机,虚拟机将其视为默认路由器。但是,ping google.com
挂起 5 秒然后返回No address associated with hostname
。
我认为这可能是主机防火墙的问题。我尝试过systemctl stop firewalld
,现在sudo iptables-save
显示为空,但虚拟机仍然无法连接到互联网。奇怪的是,ping google.com
现在能够解析 IP 地址,但不显示任何 ping 回复,也不显示任何 ICMP 错误。 IE:
PING google.com (216.58.198.174) 56(84) bytes of data.
^C
--- google.com ping statistics ---
44 packets transmitted, 0 received, 100% packet loss, time 44018ms
可能出了什么问题?我怎样才能找到答案?
答案1
现在
sudo iptables-save
显示为空,但虚拟机仍然无法连接到互联网。
虚拟网络的NAT转发使用iptables
规则。因此,如果 iptables 规则为空,则它无法工作:-)。
问题发生是因为我已经停止并开始firewalld
诊断另一个问题。这消除了必要的iptables
规则。
要重置虚拟网络,重新创建必要的iptables
规则,请运行systemctl restart libvirtd
。