
我是新手virt-manager
,qemu
所以libvirt
我幾乎不知道如何使用它們。我使用virt-manager
的 GUI 讓我更輕鬆地從 VirtualBox(包括 VBoxManage)過渡到 KVM。
到目前為止,我知道如何使用 GUI 來建立我的虛擬機,但有一個巨大的問題:一旦我的虛擬機啟動 - 主機和來賓的網路就會失去連線。
無論是 NAT 還是橋接,一旦虛擬機啟動 - 主機和來賓都沒有網路。只要虛擬機正在運行,我就無法瀏覽網頁來查找解決方案 - 我必須將其關閉,然後恢復網路。
我去journalctl -r
(和sudo
)看看是什麼原因造成的。我不太擅長理解journalctl的輸出,所以我在這裡分享它,也許有人可以在我的日誌中找到問題?
Apr 20 19:01:41 myuser systemd[1]: NetworkManager-dispatcher.service: Deactivated successfully.
Apr 20 19:01:32 myuser kernel: audit: type=1400 audit(1713628892.242:110): apparmor="STATUS" operation="profile_remove" profile="unconfined" name="libvirt-92b7cf2e-326>
Apr 20 19:01:32 myuser audit[59392]: AVC apparmor="STATUS" operation="profile_remove" profile="unconfined" name="libvirt-92b7cf2e-3262-4f04-ad63-37d5e4d94b70" pid=5939>
Apr 20 19:01:32 myuser connmand[1102]: virbr1 {newlink} index 7 operstate 2 <DOWN>
Apr 20 19:01:32 myuser connmand[1102]: virbr1 {newlink} index 7 address 52:54:00:6B:A6:9E mtu 1500
Apr 20 19:01:32 myuser connmand[1102]: virbr1 {update} flags 4099 <UP>
Apr 20 19:01:32 myuser connmand[1102]: virbr1 {TX} 28 packets 3938 bytes
Apr 20 19:01:32 myuser connmand[1102]: virbr1 {RX} 40 packets 3476 bytes
Apr 20 19:01:32 myuser connmand[1102]: vnet2 {dellink} index 8 operstate 2 <DOWN>
Apr 20 19:01:32 myuser connmand[1102]: virbr1 {newlink} index 7 operstate 6 <UP>
Apr 20 19:01:32 myuser connmand[1102]: virbr1 {newlink} index 7 address 52:54:00:6B:A6:9E mtu 1500
Apr 20 19:01:32 myuser connmand[1102]: virbr1 {update} flags 4163 <UP,RUNNING>
Apr 20 19:01:32 myuser connmand[1102]: virbr1 {TX} 28 packets 3938 bytes
Apr 20 19:01:32 myuser connmand[1102]: virbr1 {RX} 40 packets 3476 bytes
Apr 20 19:01:32 myuser connmand[1102]: Remove interface (null) [ ethernet ]
Apr 20 19:01:32 myuser connmand[1102]: (null) {remove} index 8
Apr 20 19:01:32 myuser connmand[1102]: vnet2 {dellink} index 8 operstate 2 <DOWN>
Apr 20 19:01:32 myuser connmand[1102]: vnet2 {newlink} index 8 operstate 2 <DOWN>
Apr 20 19:01:32 myuser connmand[1102]: vnet2 {newlink} index 8 address FE:54:00:DB:3A:50 mtu 1500
Apr 20 19:01:32 myuser connmand[1102]: (null) {del} address 169.254.64.167/16 label vnet2
Apr 20 19:01:32 myuser connmand[1102]: vnet2 {newlink} index 8 operstate 2 <DOWN>
Apr 20 19:01:32 myuser connmand[1102]: vnet2 {newlink} index 8 address FE:54:00:DB:3A:50 mtu 1500
Apr 20 19:01:32 myuser connmand[1102]: (null) {del} route fe80:: gw :: scope 0 <UNIVERSE>
Apr 20 19:01:32 myuser connmand[1102]: Removing default interface route failed (No such device)
Apr 20 19:01:32 myuser connmand[1102]: Removing default interface route failed (No such device)
Apr 20 19:01:32 myuser connmand[1102]: vnet2 {newlink} index 8 operstate 2 <DOWN>
Apr 20 19:01:32 myuser connmand[1102]: vnet2 {newlink} index 8 address FE:54:00:DB:3A:50 mtu 1500
Apr 20 19:01:32 myuser systemd-machined[935]: Machine qemu-3-linux2022 terminated.
Apr 20 19:01:32 myuser systemd[1]: machine-qemu\x2d3\x2dlinux2022.scope: Consumed 22.066s CPU time.
Apr 20 19:01:32 myuser systemd[1]: machine-qemu\x2d3\x2dlinux2022.scope: Deactivated successfully.
Apr 20 19:01:31 myuser systemd[1]: Started NetworkManager-dispatcher.service - Network Manager Script Dispatcher Service.
Apr 20 19:01:31 myuser dbus-daemon[928]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
Apr 20 19:01:31 myuser systemd[1]: Starting NetworkManager-dispatcher.service - Network Manager Script Dispatcher Service...
Apr 20 19:01:31 myuser dbus-daemon[928]: [system] Activating via systemd: service name='org.freedesktop.nm_dispatcher' unit='dbus-org.freedesktop.nm-dispatcher.service>
Apr 20 19:01:31 myuser NetworkManager[1101]: <info> [1713628891.9478] device (vnet2): released from master device virbr1
Apr 20 19:01:31 myuser NetworkManager[1101]: <info> [1713628891.9474] device (vnet2): state change: activated -> unmanaged (reason 'unmanaged', sys-iface-state: 'remo>
Apr 20 19:01:31 myuser avahi-daemon[925]: Withdrawing address record for 169.254.64.167 on vnet2.
Apr 20 19:01:31 myuser avahi-daemon[925]: Withdrawing address record for fe80::fc54:ff:fedb:3a50 on vnet2.
Apr 20 19:01:31 myuser avahi-daemon[925]: Leaving mDNS multicast group on interface vnet2.IPv4 with address ***.***.**.***.
Apr 20 19:01:31 myuser avahi-daemon[925]: Interface vnet2.IPv4 no longer relevant for mDNS.
Apr 20 19:01:31 myuser connman-vpnd[927]: virbr1 {newlink} index 7 operstate 2 <DOWN>
Apr 20 19:01:31 myuser connman-vpnd[927]: virbr1 {newlink} index 7 address 52:54:00:6B:A6:9E mtu 1500
Apr 20 19:01:31 myuser connman-vpnd[927]: virbr1 {update} flags 4099 <UP>
Apr 20 19:01:31 myuser connman-vpnd[927]: vnet2 {dellink} index 8 operstate 2 <DOWN>
Apr 20 19:01:31 myuser connman-vpnd[927]: virbr1 {newlink} index 7 operstate 6 <UP>
Apr 20 19:01:31 myuser connman-vpnd[927]: virbr1 {newlink} index 7 address 52:54:00:6B:A6:9E mtu 1500
Apr 20 19:01:31 myuser connman-vpnd[927]: virbr1 {update} flags 4163 <UP,RUNNING>
Apr 20 19:01:31 myuser kernel: virbr1: port 1(vnet2) entered disabled state
Apr 20 19:01:31 myuser kernel: device vnet2 left promiscuous mode
Apr 20 19:01:31 myuser connman-vpnd[927]: vnet2 {remove} index 8
Apr 20 19:01:31 myuser connman-vpnd[927]: vnet2 {dellink} index 8 operstate 2 <DOWN>
Apr 20 19:01:31 myuser connman-vpnd[927]: vnet2 {newlink} index 8 operstate 2 <DOWN>
Apr 20 19:01:31 myuser connman-vpnd[927]: vnet2 {newlink} index 8 address FE:54:00:DB:3A:50 mtu 1500
Apr 20 19:01:31 myuser connman-vpnd[927]: vnet2 {newlink} index 8 operstate 2 <DOWN>
Apr 20 19:01:31 myuser kernel: virbr1: port 1(vnet2) entered disabled state
Apr 20 19:01:31 myuser connman-vpnd[927]: vnet2 {newlink} index 8 address FE:54:00:DB:3A:50 mtu 1500
我已經啟用了libvirt
的firewalld
區域:home
,trusted
甚至public
。這似乎不起作用。
使用 Debian 12.5 (Bookworm),LXQt 桌面 GUI
更新:當我將虛擬機器的網路設定為「隔離」時,我的虛擬機器上可能沒有任何網絡,但我的主機上的網路將會運作。它發生在非隔離網路上
更新2:我停止了firewalld
,但這沒有幫助,所以這不是防火牆問題
請幫我解決這個問題。謝謝
對@AB 的回覆 -
更新 - 當虛擬機器開啟時(主機)*:
$ sudo bash -c "ip link; ip -br addr; ip route; ip rule; ip neigh"
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether 10:7b:44:93:7e:60 brd ff:ff:ff:ff:ff:ff
3: enx00e04c6802a7: <NO-CARRIER,BROADCAST,MULTICAST,DYNAMIC,UP> mtu 1500 qdisc fq_codel state DOWN mode DEFAULT group default qlen 1000
link/ether 00:e0:4c:68:02:a7 brd ff:ff:ff:ff:ff:ff
5: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
link/ether 52:54:00:3a:4a:9b brd ff:ff:ff:ff:ff:ff
6: vnet0: <BROADCAST,MULTICAST,DYNAMIC,UP,LOWER_UP> mtu 1500 qdisc noqueue master virbr0 state UNKNOWN mode DEFAULT group default qlen 1000
link/ether fe:54:00:d6:4a:49 brd ff:ff:ff:ff:ff:ff
lo UNKNOWN 127.0.0.1/8 ::1/128
enp3s0 UP 192.168.1.9/24 fe80::127b:44ff:fe93:7e60/64
enx00e04c6802a7 DOWN
virbr0 UP 192.168.100.1/24
vnet0 UNKNOWN 169.254.149.177/16 fe80::fc54:ff:fed6:4a49/64
0.0.0.0 dev vnet0 scope link
default dev vnet0 scope link
169.254.0.0/16 dev vnet0 proto kernel scope link src 169.254.149.177
192.168.1.0/24 dev enp3s0 proto kernel scope link src 192.168.1.9
192.168.1.1 dev enp3s0 scope link
192.168.100.0/24 dev virbr0 proto kernel scope link src 192.168.100.1
0: from all lookup local
32766: from all lookup main
32767: from all lookup default
192.168.1.6 dev enp3s0 lladdr 00:00:c0:34:14:db STALE
192.168.100.202 dev virbr0 lladdr 52:54:00:d6:4a:49 STALE
192.168.1.1 dev enp3s0 lladdr 74:da:88:d6:c8:e6 STALE
198.252.206.25 dev vnet0 FAILED
192.168.1.5 dev enp3s0 lladdr 50:eb:f6:24:85:a6 STALE
fe80::76da:88ff:fed6:c8e6 dev enp3s0 lladdr 74:da:88:d6:c8:e6 router STALE
fe80::9c7a:f1bb:ca7f:4c1e dev enp3s0 lladdr 50:eb:f6:24:85:a6 STALE
$ sudo systemctl stop firewalld.service && sudo nft list ruleset
table ip filter {
}
table ip nat {
}
table ip mangle {
}
table ip6 filter {
}
table ip6 nat {
}
table ip6 mangle {
}
$ sudo cat /etc/resolv.conf
# Generated by resolvconf
nameserver 192.168.1.1
- 正如我所說 - 當我在來賓上安裝 debian 時,我沒有終端(或者我不知道如何訪問它),所以我無法提供來賓的信息
答案1
在@AB 的幫助下,我找出了問題所在 - 以及......如何解決它!
connmand
AB 給了我關於使用和NM
(NetworkManager) 的提示。我開始調查這個問題,我發現它Virt-manager
用於NM
網絡,而我的設備/介面(enp3s0
)是透過connmand
(LXQt GUI 的一部分)控制的。
所以我做了以下事情:
- 我決定使用 NetworkManager 啟用我的裝置。
NM
說我的設備“嚴格不受管理”,所以我決定將我的設備從connman
.這很複雜。我find
對每個connman
可能的目錄(在/var/lib
和 中/etc
)運行了該命令,但沒有發現與我的設備相關的任何內容。 - 我決定尋找
NM
的目錄 - 也許它在那裡配置?當我發現不: - 我決定停止和停用
connmand
一陣子。但是,Virt-manager
仍然無法使用該設備。 - 於是我就走極端了——我已經徹底淨化了
connman*
,永遠,並移至NM
。 - 仍然不起作用,但它是永遠的 - 因為一旦我從文件中評論了該設備
/etc/network/interfaces
,NM
就控制了它(在 的幫助下sudo nmcli device set enp3s0 managed true
),我終於讓它正常工作了NM
。 - 重新啟動(因為我從Windows開始就習慣了,儘管我沒有必要),現在我在客戶端和主機中都有網路!