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 .