Centos7

nmcli 在 Kickstart 腳本中不起作用

  • October 14, 2019

我在 Kickstart 安裝後腳本中有以下命令:

firewall-offline-cmd --new-zone=management
firewall-offline-cmd --zone=management --add-service=ssh --add-service=snmp
firewall-offline-cmd --zone=management --change-interface=eth1
nmcli device modify eth1 connection.zone management

從我的閱讀來看,當 NetworkManager 在圖片中時似乎firewalld無法進行這些更改,因此我在nmcli命令中添加了更改區域。但它沒有生效。安裝完成並重新啟動伺服器後,界面仍保留在預設區域中。之後我可以執行該nmcli命令,它將生效。

除了這篇文章之外,我在網上找不到任何關於這個問題的資訊,但它在付費牆後面。

我也遇到過這個問題。我用這個 hack 解決了這個問題:

echo 'ZONE=management' >> /etc/sysconfig/network-scripts/ifcfg-eth1

我更喜歡更優雅的東西,但暫時已經解決了。

長話短說:“不要使用它,它不起作用”

解析度

  • 在安裝過程中,甚至 %post 腳本執行過程中,很多鎖都沒有啟用,還有很多必需的服務沒有執行。該環境是 anaconda 執行環境,當您將其 chroot 到已安裝的機器時,相同的執行環境與偽文件系統的綁定選項一起使用。
  • 由於在 anaconda 執行期間已安裝的設置中缺少此類設置,因此 nmcli 執行存在問題。並非所有東西都可以在 kickstart 的 %post 部分執行,它可以在功能齊全的執行機器上執行,因此可能會遇到這個問題。
  • 唯一更好的方法是在機器重新啟動並在安裝後完全執行後執行它。如果只想執行一次,也可以將其放入某種首次啟動邏輯中。

所以 nmcli 是網路配置自動化的好工具。您可以將 is 用於各種目的,安裝除外。

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