KVM修改網路產生報錯

元卿發表於2024-08-13

事件描述:
使用者嘗試使用 virsh 命令啟動名為 default 的虛擬網路,但遇到了錯誤。錯誤資訊表明 default 網路無法啟動,因為沒有 .service 檔案提供 org.fedoraproject.FirewallD1 這個名稱。

報錯過程及結果:

首先編輯了 default 網路的 XML 配置檔案:

[root@localhost ~]# virsh net-edit default
已編輯網路 default XML 配置

接著,檢視了當前活動的網路列表:

[root@localhost ~]# virsh net-list
 名稱               狀態     自動開始  持久
----------------------------------------------------------
 network1             活動     是           是
 network2             活動     是           是
 network3             活動     是           是

嘗試啟動 default 網路,但失敗了,並顯示以下錯誤訊息:

[root@localhost ~]# virsh net-start default
錯誤:開始網路 default 失敗
錯誤:The name org.fedoraproject.FirewallD1 was not provided by any .service files

為了進一步診斷問題,檢查了 firewalld 服務的狀態:

[root@localhost ~]# systemctl status firewalld.service 
● firewalld.service - firewalld - 動態防火牆守護程序
   載入:已載入 (/usr/lib/systemd/system/firewalld.service; 已啟用; 供應商預設: 已啟用)
   啟用:未啟用 (死亡) 從 二 2024-08-13 11:00:44 CST; 4小時22分鐘前
     文件:man:firewalld(1)
  主 PID: 927 (退出程式碼=成功, 狀態=0/SUCCESS)

8月 12 17:13:22 localhost.localdomain systemd[1]: 啟動 firewalld - 動態防火牆守護程序...
8月 12 17:13:22 localhost.localdomain systemd[1]: 啟動了 firewalld - 動態防火牆守護程序.
8月 12 17:13:22 localhost.localdomain firewalld[927]: 警告: ICMP 型別 'beyond-scope' 在 ipv6 中不受核心支援。
8月 12 17:13:22 localhost.localdomain firewalld[927]: 警告: beyond-scope: INVALID_ICMPTYPE: 沒有受支援的 ICMP 型別。
8月 12 17:13:22 localhost.localdomain firewalld[927]: 警告: ICMP 型別 'failed-policy' 在 ipv6 中不受核心支援。
8月 12 17:13:22 localhost.localdomain firewalld[927]: 警告: failed-policy: INVALID_ICMPTYPE: 沒有受支援的 ICMP 型別。
8月 12 17:13:22 localhost.localdomain firewalld[927]: 警告: ICMP 型別 'reject-route' 在 ipv6 中不受核心支援。
8月 12 17:13:22 localhost.localdomain firewalld[927]: 警告: reject-route: INVALID_ICMPTYPE: 沒有受支援的 ICMP 型別。
8月 13 11:00:43 localhost.localdomain systemd[1]: 停止 firewalld - 動態防火牆守護程序...
8月 13 11:00:44 localhost.localdomain systemd[1]: 停止了 firewalld - 動態防火牆守護程序。
提示: 一些行被省略,使用 -l 顯示完整內容。

啟動firewalld 服務,並再次嘗試啟動 default 網路,

[root@localhost ~]# systemctl start firewalld.service 
[root@localhost ~]# virsh net-start default
網路 default 已啟動

再次檢視了網路列表,確認 default 網路現在是活動狀態:

[root@localhost ~]# virsh net-list
名稱               狀態     自動開始  持久
----------------------------------------------------------
default              活動     是           是
network1             活動     是           是
network2             活動     是           是
network3             活動     是           是

結論:
最初的問題在於 firewalld 服務沒有執行,導致 virsh 無法正確地與防火牆互動以啟動 default 網路。透過啟動 firewalld 服務,問題得到了解決,default 網路現在已經成功啟動並處於活動狀態。

相關文章