ip-tools 與舊的 ifconfig
當我在網路腳本中將 dhcp 更改為 static 然後我重新啟動 service
systemctl restart NetworkManager
。靜態 ip 設置應該被更新,但它沒有。所以我嘗試
ip link set dev enp0s3 down
進而up
沒有更新ip
然後我
ifdown enp0s3
嘗試ifup enp0s3
有效
為什麼它起作用了
ifup
?
序言:
ip
並且是用於控制和監視網路ifconfig
的實用程序。它們通常不用於讀取/寫入持久配置文件 - 這就是為什麼不起作用。持久配置管理必須通過其他方式來完成,例如.ip link``NetworkManager
(可能不用說,但是,作為旁注,
iproute2
提供ip
的 ,已經/正在被許多發行版採用,作為提供 的 的替代品。出於兼容性原因net-tools
,ifconfig
它們通常都作為發行版中的預設軟體包提供)。為什麼
ifup
有效而systemctl restart NetworkManager
無效:在 CentOS 上(我已經檢查了 CentOS 7),
ifup
並由; 它們對 中的腳本進行操作,由同一個包提供。因此,能夠應用您在此處所做的更改也就不足為奇了。ifdown``initscripts``/etc/sysconfig/network-scripts/``ifup
NetworkManager - CentOS 從上游繼承的預設網路服務提供商 - 在 Red Hat 和 Fedora 上被配置為使用
ifcfg-rh
外掛從/etc/sysconfig/network-scripts/ifcfg-*
. 但它不監視這些文件。
man nm-settings-ifcfg-rh
警告說使用者可以手動創建或修改 ifcfg-rh 連接文件,即使這不是管理配置文件的推薦方式。但是,如果他們選擇這樣做,他們必須通知 NetworkManager 他們的更改(參見 nm-settings(5) 中的 monitor-connection-file 和 nmcli con (re)load)。
因此,
systemctl reload NetworkManager
不應該從 CentOS 上的文件重新載入網路連接的配置。為此,您可以呼叫nmcli connection reload
或更改NetworkManager
配置,如man NetworkManager.conf
:monitor-connection-files
配置的設置外掛是否應該設置文件監視器並在 NetworkManager 執行時立即獲取對連接文件所做的更改。預設情況下禁用此功能;NetworkManager 只會在啟動時以及通過 ReloadConnections D-Bus 呼叫明確請求時讀取連接文件。
$$ … $$