我在 virt-manager 中有虚拟机。通常,他们可以连接到互联网。这些虚拟机连接到我的默认虚拟网络 device virbr0
。为了访问互联网,虚拟网络被配置为“NAT 转发”。
但是虚拟机无法再连接到互联网。他们可以ping
使用 IP 地址 192.168.122.1 上的主机,VM 将其视为默认路由器。但是,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
可能出了什么问题?我怎样才能知道?
虚拟网络上的 NAT 转发使用
iptables
规则。因此,如果 iptables 规则为空,它就无法工作:-)。问题发生是因为我已经停止并开始
firewalld
诊断不同的问题。这消除了必要的iptables
规则。要重置虚拟网络,重新创建必要的
iptables
规则,运行systemctl restart libvirtd
.