我正在尝试通过 libvirt / kvm 桥接获取连接到我的网络的来宾虚拟机的 IP。我在网上找到了一些资源,但它们似乎已经过时了,例如这和这。
我对桥接网络的理解,至少对于VMWare来说,是这样的
- VM的IP地址由dnsmasq或dhcpd分配,并且
- 即使使用其主机名我也可以访问其 IP
好吧,在我的 Debian 稳定主机上,我创建了网桥 ( br0
) 并连接eth0
到它,IP 为 192.168.0.102/24,但我的 VM 的 IPv4 地址是 169.254.93.211(来自 Red Hat 的虚拟机内) VirtIO 以太网适配器),甚至不在同一网络上。虚拟机使用我的主机 IP 作为其网关,对我来说这看起来更像 NAT 或基于主机的网络。不过虚拟机的网络工作正常。所以,
如何了解整个情况,以及如何访问我的虚拟机,例如 ssh 或使用其网络共享?
更新:这是我的 libvirt / kvm 桥接网络配置:
$ apt-cache policy libvirt-daemon libvirt-daemon-config-network
libvirt-daemon:
Installed: 9.0.0-4
Candidate: 9.0.0-4
Version table:
*** 9.0.0-4 500
500 http://deb.debian.org/debian bookworm/main amd64 Packages
100 /var/lib/dpkg/status
libvirt-daemon-config-network:
Installed: 9.0.0-4
Candidate: 9.0.0-4
Version table:
*** 9.0.0-4 500
500 http://deb.debian.org/debian bookworm/main amd64 Packages
100 /var/lib/dpkg/status
$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 12 (bookworm)
Release: 12
Codename: bookworm
答案1
VM的IP地址取决于VM中操作系统的配置。管理程序(狭义上的)与此无关。
- 您可以将虚拟机配置为使用 DHCP(通常是默认值)。
- 您可以手动配置静态IP。
169.254.0.0/16
是自动 IP 范围(当没有 DHCP 可用时使用)