Vyhledávání na webu

Jak spravovat sítě pomocí NetworkManager v RHEL/CentOS 8


V RHEL a CentOS 8 je síťová služba spravována démonem NetworkManager a používá se k dynamické konfiguraci a ovládání síťových zařízení a udržování připojení. a aktivní, když jsou k dispozici.

NetworkManager přichází s řadou výhod, jako je podpora snadného nastavení a správy sítě pomocí rozhraní příkazového řádku a nástrojů grafického uživatelského rozhraní, poskytuje rozhraní API prostřednictvím D-Bus, které umožňuje dotazování a řízení konfigurace sítě, podpora pro flexibilitu konfigurace a mnoho dalšího.

Kromě toho lze NetworkManager konfigurovat také pomocí souborů a webové konzole Cockpit a podporuje použití vlastních skriptů pro spouštění nebo zastavování dalších služeb na základě stavu připojení.

Přečtěte si také: Jak konfigurovat a spravovat síťová připojení pomocí nástroje „nmcli“

Než půjdeme dále, uvádíme několik dalších důležitých bodů, které je třeba poznamenat o vytváření sítí v CentOS/RHEL 8:

  • Tradiční konfigurace typu ifcfg (např. ifcfg-eth0, ifcfg-enp0s3) jsou stále podporovány.
  • Síťové skripty jsou zastaralé a ve výchozím nastavení již nejsou poskytovány.
  • Minimální instalace poskytuje novou verzi skriptů ifup a ifdown, které volají NetworkManager prostřednictvím nástroje nmcli.
  • Chcete-li spustit skripty ifup a ifdown, musí být spuštěn NetworkManager.

Instalace NetworkManageru na CentOS/RHEL 8

NetworkManager by měl být předinstalován v základní instalaci CentOS/RHEL 8, jinak jej můžete nainstalovat pomocí správce balíčků DNF, jak je znázorněno.

dnf install NetworkManager

Globální konfigurační soubor pro NetworkManager se nachází na adrese /etc/NetworkManager/NetworkManager.conf a další konfigurační soubory lze nalézt v /etc/NetworkManager/ .

Správa NetworkManageru pomocí Systemctl na CentOS/RHEL 8

V CentOS/RHEL 8 a dalších moderních systémech Linux, které přijaly systemd (správce systému a služeb), jsou služby spravovány pomocí nástroje systemctl.

Následující jsou užitečné příkazy systemctl pro správu služby NetworkManager.

Kontrola stavu NetworkManageru

Minimální instalace CentOS/RHEL 8 by měla mít ve výchozím nastavení spuštěn NetworkManager a povoleno automatické spouštění při spouštění. Pomocí následujících příkazů můžete zkontrolovat, zda je NetworkManager aktivní, povolený, a vytisknout informace o stavu programu NetworkManager za běhu.

systemctl is-active NetworkManager
systemctl is-enabled NetworkManager
systemctl status NetworkManager 

Spuštění NetworkManageru

Pokud NetworkManager není spuštěn, můžete jej spustit pouhým spuštěním.

systemctl start NetworkManager

Zastavení NetworkManageru

Chcete-li z jednoho nebo druhého důvodu zastavit nebo deaktivovat NetworkManager, zadejte následující příkaz.

systemctl stop NetworkManager

Restartování NetworkManageru

Pokud jste provedli nějaké změny v konfiguračních souborech rozhraní nebo konfiguraci démona NetworkManager (obvykle umístěného v adresáři /etc/NetworkManager/), můžete restartovat (zastavit a poté spustit) NetworkManager, aby se změny projevily jako zobrazeno.

systemctl restart NetworkManager

Opětovné načítání NetworkManageru

Chcete-li znovu načíst konfiguraci démona NetworkManager (ale ne konfigurační soubor jednotky systemd) bez restartování služby, spusťte následující příkaz.

systemctl reload NetworkManager

Používání nástrojů NetworkManager a práce se soubory ifcfg

NetworkManager podporuje některé nástroje pro interakci uživatelů s ním, jako jsou:

  1. nmcli – nástroj příkazového řádku používaný ke konfiguraci sítě.
  2. nmtui – jednoduché textové uživatelské rozhraní založené na curses, které se také používá ke konfiguraci a správě připojení rozhraní newtwork.
  3. Mezi další nástroje patří nm-connection-editor, control-center a ikona síťového připojení (vše pod GUI).

Chcete-li zobrazit seznam zařízení detekovaných NetworkManager, spusťte příkaz nmcli.

 
nmcli device 
OR
nmcli device status

Chcete-li zobrazit všechna aktivní připojení, spusťte následující příkaz (všimněte si, že bez -a uvádí dostupné profily připojení).

nmcli connection show -a

Nastavte statickou IP adresu na CentOS/RHEL 8

Konfigurační soubory specifické pro síťové rozhraní jsou umístěny v adresáři /etc/sysconfig/network-scripts/. Kterýkoli z těchto souborů můžete upravit, například pro nastavení statické IP adresy pro váš server CentOS/RHEL 8.

vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

Zde je ukázková konfigurace pro nastavení statické IP adresy.

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
UUID=e81c46b7-441a-4a63-b695-75d8fe633511
DEVICE=enp0s3
ONBOOT=yes
IPADDR=192.168.0.110
PREFIX=24
GATEWAY=192.168.0.1
DNS1=8.8.8.8
PEERDNS=no

Po uložení změn je třeba znovu načíst všechny profily připojení nebo restartovat NetworkManager, aby se nové změny uplatnily.

nmcli connection reload
OR
systemctl restart NetworkManager

Spouštění nebo zastavování síťových služeb/skriptů na základě připojení k síti

NetworkManager má užitečnou možnost, která uživatelům umožňuje spouštět služby (jako je NFS, SMB atd.) nebo jednoduché skripty založené na síťovém připojení.

Pokud například chcete automaticky lokálně připojit vzdálený adresář pomocí sshfs, připojte sdílené složky SMB nebo sdílené složky NFS po přepnutí mezi sítěmi. Možná budete chtít, aby se takové síťové služby spouštěly až po spuštění NetworkManager (všechna připojení jsou aktivní).

Tuto funkci poskytuje služba NetworkManager-dispatcher (která musí být spuštěna a povolena, aby se spouštěla automaticky při spouštění systému). Jakmile je služba spuštěna, můžete přidat své skripty do adresáře /etc/NetworkManager/dispatcher.d.

Všechny skripty musí být spustitelné a zapisovatelné a musí je vlastnit root, například:

chown root:root /etc/NetworkManager/dispatcher.d/10-nfs-mount.sh
chmod 755 /etc/NetworkManager/dispatcher.d/10-nfs-mount.sh

Důležité: Dispečerské skripty budou spuštěny v abecedním pořadí v době připojení a v obráceném abecedním pořadí v době odpojení.

Používání starších síťových skriptů

Jak jsme již zmínili dříve, síťové skripty jsou v CentOS/RHEL 8 zastaralé a ve výchozím nastavení se neinstalují. Pokud přesto chcete používat nsíťové skripty, musíte si nainstalovat balíček network-scripts.

yum install network-scripts

Po instalaci tento balíček poskytuje novou verzi skriptů ifup a ifdown, které volají NetworkManager prostřednictvím nástroje nmcli jsme se podívali výše. Pamatujte, že ke spuštění těchto skriptů by měl být spuštěn NetworkManager.

Další informace naleznete na manuálových stránkách systemctl a NetworkManager.

man systemctl
man NetworkManager

To je vše, co jsme v tomto článku připravili. Prostřednictvím níže uvedeného formuláře pro zpětnou vazbu můžete požádat o vysvětlení kteréhokoli z bodů nebo položit otázky nebo provést jakékoli dodatky k této příručce.