Preambule:ip
a ifconfig
jsou nástroje pro ovládání a sledování vytváření sítí. Obvykle se nepoužívají pro čtení/zápis trvalých konfiguračních souborů – a proto ip link
nefunguje. Trvalá správa konfigurace musí být prováděna jinými prostředky, jako je NetworkManager
.
(To je pravděpodobně zbytečné říkat, ale jako vedlejší poznámka iproute2
, který poskytuje ip
, byl/je přijímán mnoha distribucemi jako náhrada za net-tools
, který poskytuje ifconfig
. Často jsou oba dodávány jako výchozí balíčky v distribucích z důvodů kompatibility).
Proč ifup
pracoval a systemctl restart NetworkManager
ne:
Na CentOS (zkontroloval jsem CentOS 7), ifup
a ifdown
jsou poskytovány initscripts
; pracují se skripty v /etc/sysconfig/network-scripts/
, které poskytuje stejný balíček. V ifup
tedy žádné překvapení budete moci použít změny, které jste tam provedli.
NetworkManager – výchozí poskytovatel síťových služeb, kterého CentOS zdědil z upstreamu – na Red Hatu a Fedoře je nakonfigurován tak, aby používal ifcfg-rh
plugin pro čtení/zápis konfigurace sítě z /etc/sysconfig/network-scripts/ifcfg-*
. Ale nemonitoruje tyto soubory.
man nm-settings-ifcfg-rh
varuje, že
Uživatelé mohou vytvářet nebo upravovat soubory připojení ifcfg-rh ručně, i když to není doporučený způsob správy profilů. Pokud se tak ale rozhodnou udělat, musí o svých změnách informovat NetworkManager (viz monitor-connection-file v nm-settings(5) a nmcli con (re)load).
Tedy systemctl reload NetworkManager
nemá znovu načítat konfiguraci síťového připojení ze souboru na CentOS. Chcete-li to provést, můžete vyvolat nmcli connection reload
nebo změňte NetworkManager
konfigurace, jak je uvedeno v man NetworkManager.conf
:
monitor-connection-soubory
Zda má nakonfigurovaný modul(y) nastavení nastavit monitory souborů a okamžitě převzít změny provedené v souborech připojení, když je NetworkManager spuštěn. Toto je ve výchozím nastavení zakázáno; NetworkManager bude číst soubory připojení pouze při spuštění a na výslovný požadavek prostřednictvím volání ReloadConnections D-Bus. [...]
ip
přímo mění stav hardwaru, stejně jako ifconfig
. Jediný rozdíl mezi ifconfig
a ip
je to ip
má jinou syntaxi a podporuje některé funkce ifconfig
ne.
ifup
a ifdown
, na druhou stranu spouštějte spoustu skriptů, přečtěte si svůj /etc/network/interfaces
soubor a další konfigurační soubory a podle toho jednat. To zahrnuje přidání nastavení statické IP adresy, které jste pravděpodobně vložili do /etc/network/interfaces
.
V zásadě by je měl Network Manager vyzvednout také, ale já Network Manager nespouštím (většinou mi překáží), takže vám nemohu říct, proč to nefungovalo.
Takže:pokud chcete, aby byly brány v úvahu vaše konfigurační soubory sítě, použijte ifup
/ifdown
a Správce sítě. Pokud chcete přímo změnit nastavení rozhraní, použijte ip
a ifconfig
.