与主机上的 KVM 来宾虚拟机的网络连接丢失 网络重新启动

与主机上的 KVM 来宾虚拟机的网络连接丢失 网络重新启动

我刚刚重新启动了 KVM 主机中的网络服务,并且运行虚拟机来宾的网络无法访问。

我通过 Bridge 启用了虚拟机访客的网络。只有在访客重新启动后,我才能访问虚拟机 IP。

为什么它会导致网络重新启动问题以及我如何在不重新启动的情况下访问来宾虚拟机 IP。

答案1

我曾经遇到过这个问题。

现在,每当我使用安装新虚拟机时virt-install,我总是确保包含以下选项--nographics-x console=ttyS0。该-x console=ttyS0选项通过 ttyS0 端口创建虚拟控制台连接。这允许我从主机登录到虚拟机virsh console <VMname>,然后我可以重置虚拟机上的网络设置,而无需完全重新启动它。在虚拟机本身内,这会将以下设置添加到 /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,9600n8" GRUB_CMDLINE_LINUX=""

在我的一台虚拟机上,我必须在安装后手动添加这些行并使用重建 grubgrub-mkconfig才能使设置在重新启动后仍然有效。

答案2

下面的行是允许主机在 KVM 环境中与访客通信所必需的

假设您的主机界面如下所示

interface: eth0
ip: 192.168.0.10/24
gateway: 192.168.0.1

编辑/etc/rc.local并添加以下命令

ip link add link eth0 address 51:51:51:A8:28:A1 macvlan0 type macvlan mode bridge

ip address add 192.168.0.10/24 dev macvlan0

ip link set dev macvlan0 up

ip route flush dev eth0

ip route add default via 192.168.0.1 dev macvlan0 proto static

相关内容