Virtualization

可以 ssh 進入 Ubuntu 20.04 虛擬機,但 domifaddr 顯示沒有 IP

  • June 4, 2021

我按照本指南創建了一個 Ubuntu 20.04 虛擬機。我可以使用我在 network-config 文件中寫入的 IP 地址 ssh 進入虛擬機,即 192.168.122.101,但是,當執行virsh domifaddr <domain>和時virsh net-dhcp-leases default,兩者都沒有顯示,沒有 IP 地址。

這只發生在 Ubuntu 20.04 雲映像中,對於早期的 Ubuntu 版本和所有 CentOS 雲映像,我可以使用上述命令查看分配的 IP 地址。

對此有什麼想法嗎?

您選擇使用手動配置的IP 地址重新配置新虛擬機,而不是從 DHCP 獲取它,這是雲映像的預設設置。如果您將其配置為使用 DHCP,它將繼續工作。

預設情況下virsh domifaddr,查詢 DHCP 伺服器租用表以查找訪客的 IP 地址。在來賓中手動配置的地址,這裡沒有什麼可以找到的,所以它什麼也不能顯示。

您可以改為要求它使用 QEMU 來賓代理查詢來賓。預設情況下,該代理應安裝並執行在以 KVM 管理程序為目標的雲映像上,例如focal-server-cloudimg-amd64-disk-kvm.img.

例如:

virsh domifaddr guestname --source agent

這將返回來自guest 內部的網路配置視圖,這將與外部視圖不同,例如,將顯示來賓網路介面名稱而不是主機虛擬介面名稱。

比較:

# virsh domifaddr example-staging 
Name       MAC address          Protocol     Address
-------------------------------------------------------------------------------
vnet1      52:54:00:6b:3b:e4    ipv4         192.168.122.248/24

和:

# virsh domifaddr example-staging --source agent
Name       MAC address          Protocol     Address
-------------------------------------------------------------------------------
lo         00:00:00:00:00:00    ipv4         127.0.0.1/8
-          -                    ipv6         ::1/128
enp1s0     52:54:00:6b:3b:e4    ipv4         192.168.122.248/24
-          -                    ipv6         fe80::72aa:277e:2feb:5e60/64

引用自:https://serverfault.com/questions/1065646