Centos7

是否有充分的理由不在 centos-7 上禁用 /etc/init.d/network 以支持專門使用 NetworkManager?

  • March 25, 2015

rhel-7/centos-7 網路配置很奇怪——主要是因為它們跨越了舊的(通常由 /etc/init.d/network 呼叫的 shell 腳本,它改變了網路設備的配置狀態)和新的方式(NetworkManager 守護程序,它管理網路設備設置)。

據我所知——rhel7/centos-7 同時支持網路設備的兩種配置模式。他們使用名為 ifcfg-rh 的 NetworkManager 外掛,該外掛從 /etc/sysconfig/network-scripts/ifcfg-* 讀取/寫入網路配置,配置在啟動時從這些文件進入 NetworkManager,並通過 NetworkManager 進行的更改(有時)被序列化在系統操作期間通過 ifcfg-rh 外掛返回這些文件(這涉及到 /etc/sysconfig/network-scripts/ifcfg-* 中奇怪的舊配置文件格式的轉換——這種格式最初由一堆shell 腳本。)這種情況讓我害怕,讓我想起了龍。

我的看法是,跨越這兩個世界是令人困惑且容易出錯的——特別是如果您出於各種原因必須自動化網路配置更改,並且當您必須教育同事在現代系統上做事的“新方式”時—— - 可能會忘記並導致配置控制在兩個世界之間不同步的人……

因此,為了避免出現奇怪錯誤的可能性,我想完全採用 NetworkManager 並擺脫遺留選項。我是否應該期待以下方法的副作用:

> cat /etc/NetworkManager/NetworkManager.conf
[main]
plugin=keyfile

> cat /etc/NetworkManager/system-connections/dhcp-profile.conf
[connection]
id=dhcp
uuid=50263651-4f14-46bc-8dd8-818bf0fe3367
type=ethernet
autoconnect=true

[ipv6]
method=auto

[ipv4]
method=auto
> systemctl disable networking
> systemctl enable NetworkManager

我這應該確保密鑰文件格式的文件是所有 NetworkManager 設置的真實來源——並且應該刪除所有依賴於 - /etc/sysconfig/network-scripts/* - /etc/sysconfig/network - /etc 內容的行為/init.d/網路

到目前為止它似乎工作並且表現正常……我有點擔心禁用 /etc/init.d/network ‘服務’可能會產生副作用……我認為沒有任何為什麼 /etc/init.d/network 仍應在完全 NetworkManager 世界中呼叫的原因…?

有誰知道這會破壞的行為或這不是一個好主意的原因?

如果您使用的是 NetworkManager,則沒有理由(也不應該)啟用舊版網路服務。

相反,如果您使用的是舊版網路服務,則不應啟用或啟動 NetworkManager。

如果您有期望使用舊網路服務並且不了解 NetworkManager 的舊腳本,您可能會遇到問題。如果可能,應酌情調整這些內容。否則,您始終可以使用舊的網路服務。

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