Jak konfigurować i zarządzać połączeniami sieciowymi za pomocą narzędzia „NMCLI”

Jak konfigurować i zarządzać połączeniami sieciowymi za pomocą narzędzia „NMCLI”

Jako administrator Linux masz różne narzędzia do użycia w celu skonfigurowania połączeń sieciowych, takich jak: nmtui, twój NetworkManager z GNOM Graficzny interfejs użytkownika i oczywiście NMCLI (Narzędzie wiersza poleceń menedżera sieci).

Skonfiguruj połączenie Network Ethernet za pomocą narzędzia NMCLI

Widziałem wielu administratorów korzystających z nmtui dla prostoty. Jednak użycie NMCLI Oszczędza czas, daje pewność siebie, możesz używać go w skryptach i jest to pierwsze narzędzie do użycia w celu rozwiązywania problemów z serwerami Linux i szybkiego przywrócenia jej funkcjonalności.

Widząc wiele komentarzy pytających o pomoc NMCLI, Postanowiłem napisać ten artykuł. Oczywiście zawsze powinieneś czytać starannie ludzkie strony (to pomoc No1 dla Ciebie). Moim celem jest zaoszczędzenie czasu i pokazanie kilku wskazówek.

Składnia NMCLI to:

# nmcli [opcje] Obiekt polecenie | pomoc 

Gdzie OBIEKT jest jednym z: ogólnych, sieciowych, radia, połączenia, urządzenia, agenta.

Dobrym punktem wyjścia byłoby sprawdzenie naszych urządzeń:

# NMCLI STATUM Typ urządzenia Połączenie Docker0 Most Connected Docker0 Virbr0 Bridge Connected VIRBR0 ENP0S3 Ethernet Connected ENP0S3 Virbr0-NIC Ethernet odłączone-LO LOOPBACK Nie zarządzane -- 

Jak widać w pierwszej kolumnie, znajduje się lista naszych urządzeń sieciowych. Mamy jedną karty sieciowe z nazwą ENP0S3. W swoim komputerze można było zobaczyć inne nazwy.

Nazwa zależy od rodzaju karty sieciowej (jeśli jest ona na pokładzie, karta PCI itp.). W ostatniej kolumnie widzimy nasze pliki konfiguracyjne używane przez nasze urządzenia w celu połączenia się z siecią.

Łatwo jest zrozumieć, że nasze urządzenia same w sobie nie mogą nic zrobić. Potrzebują nas do wykonania pliku konfiguracyjnego, aby poinformować, jak osiągnąć łączność sieciową. Nazywamy te pliki również jako „Profile połączeń”. Znajdujemy je w /etc/sysconfig/scripts informator.

# cd/etc/sysconfig/scripts/ # ls 
Przykładowy wyjście
IFCFG-ENP0S3 ifdown-ISDN IFUP IFUP-PLIP IFUP-TUNNEL IFCFG-LO ifdown-post IFUP-aliases IFUP-Plusb IFUP-Wireless Ifdown-pppp ifup-bnep ifup-post init init init init init ifup-post.IPv6-global ifdown-bnep ifdown-routes IFUP-ETH IFUP-PPP Funkcje sieciowe Ifdown-Eth Ifdown-Sit IFUP-IB IFUP-Routes Network-Functions-Ipv6 ifdown-IB ifdown-Team IFUP-IPPP IFUP-SIT Ifdown-Ipppp Ifdown-Teagport IFUP-IPV6 IFUP-TEAM IFDOWN-IPV6 IFDOWN-TUNNEL IFUP-ISDN IFUP-TEAMPORT 

Jak widać tutaj, pliki o nazwie zaczynają ifcfg- (Konfiguracja interfejsu) to profile połączeń. Kiedy tworzymy nowe połączenie lub modyfikujemy istniejącego z NMCLI Lub nmtui, Wyniki są zapisane tutaj jako profile połączeń.

Ι 'pokaż wam dwa z mojego komputera, jeden z konfiguracją DHCP i jeden ze statycznym IP.

# cat ifcfg-static1 # cat ifcfg-myoffice1 
Sprawdź konfigurację sieci

Zdajemy sobie sprawę, że niektóre właściwości mają różne wartości, a inne nie istnieją, jeśli nie jest to konieczne. Spójrzmy na najważniejsze z nich.

  1. TYP, Mamy tutaj typ Ethernet. Moglibyśmy mieć Wi -Fi, Team, Bond i innych.
  2. URZĄDZENIE, Nazwa urządzenia sieciowego, które jest powiązane z tym profilem.
  3. Bootproto, Jeśli ma wartość „DHCP” Następnie nasz profil połączenia pobiera dynamiczne IP z serwera DHCP, jeśli ma wartość "nic" Następnie nie wymaga dynamicznego adresu IP i prawdopodobnie przypisuje statyczny adres IP.
  4. IPaddr, to statyczny adres IP, który przypisujemy do naszego profilu.
  5. PREFIKS, Maska podsieci. Wartość 24 oznacza 255.255.255.0. Możesz lepiej zrozumieć maskę podsieci, jeśli zapisujesz jej format binarny. Na przykład wartości 16, 24, 26 oznacza, że ​​pierwsze 16, 24 lub 26 bitów to 1, a reszta 0, określając dokładnie, jaki jest adres sieci i jaki jest zakres IP, który można przypisać.
  6. WEJŚCIE, IP bramy.
  7. DNS1, DNS2, Dwa serwery DNS, których chcemy użyć.
  8. Onboot, Jeśli ma wartość "Tak" Oznacza to, że podczas rozruchu nasz komputer odczytuje ten profil i spróbuje przypisać go do urządzenia.

Teraz przejdźmy dalej i sprawdźmy nasze połączenia:

# nmcli con show 
Pokaż aktywne połączenia sieciowe

Ostatnia kolumna urządzeń pomaga nam zrozumieć, które połączenie jest "W GÓRĘ" I bieganie, a co nie. Na powyższym obrazie możesz zobaczyć dwa aktywne połączenia: MYOFFICE1 I ENP0S8.

Wskazówka: Jeśli chcesz zobaczyć tylko aktywne połączenia, wpisz:

# nmcli con show -a 

Wskazówka: Możesz użyć automatycznego trafienia Patka Kiedy używasz NMCLI, ale lepiej jest użyć minimalnego formatu polecenia. Zatem następujące polecenia są równe:

# nmcli połączenie show # nmcli con show # nmcli c s 

Jeśli sprawdzę adresy IP moich urządzeń:

# ip a 
Sprawdź adres IP serwera

Widzę, że moje urządzenie ENP0S3 wziął 192.168.1.6 IP z serwera DHCP, ponieważ profil połączenia MYOFFICE1 która jest w górę, ma konfigurację DHCP. Jeśli przyniosę "w górę" Mój profil połączenia z nazwą Static1 Wtedy moje urządzenie weźmie statyczne IP 192.168.1.40 Jak jest zdefiniowane w profilu połączenia.

# nmcli Con Down MyOffice1; nmcli con up static1 # nmcli con show 

Zobaczmy ponownie adres IP:

# ip a 
Sprawdź statyczny adres IP sieciowy

Możemy stworzyć nasz pierwszy profil połączenia. Minimalne właściwości, które musimy zdefiniować typ, ifname I Con-nazwa:

  1. typ - dla rodzaju połączenia.
  2. ifname - dla nazwy urządzenia, które jest przypisane naszemu połączeniu.
  3. Con-nazwa - dla nazwy połączenia.

Zróbmy nowe połączenie Ethernet z nazwą Myhome1, przypisane do urządzenia ENP0S3:

# nmcli con Dodaj typ Ethernet Con-nazwa MyHome1 ifName ENP0S3 

Sprawdź jego konfigurację:

# Cat Ifcfg-myhome1 
Utwórz nowe połączenie sieciowe

Jak widać Bootproto = DHCP, Ponieważ nie podaliśmy żadnego statycznego adresu IP.

Wskazówka: Możemy zmodyfikować dowolne połączenie z „NMCLI CON MOD” Komenda. Jeśli jednak zmodyfikujesz połączenie DHCP i zmienisz go na statyczne, nie zapomnij o zmianie „IPv4.metoda" z "automatyczny" Do "podręcznik". W przeciwnym razie skończysz z dwoma adresami IP: jeden z serwera DHCP i statyczny.

Zróbmy nowy profil połączenia Ethernet z nazwą Static2, które zostaną przypisane do urządzenia ENP0S3, ze statycznym IP 192.168.1.50, maska ​​podsieci 255.255.255.0 = 24 i brama 192.168.1.1.

# nmcli con Dodaj typ Ethernet Con-nazwa static2 ifname enp0s3 ip4 192.168.1.50/24 GW4 192.168.1.1 

Sprawdź jego konfigurację:

# CAT IFCFG-static2 
Utwórz nowe połączenie Ethernet

Zmodyfikujmy ostatni profil połączenia i dodaj dwa serwery DNS.

# nmcli con mod static2 IPv4.DNS „8.8.8.8 8.8.4.4 ” 

Wskazówka: Jest tutaj coś, co musisz zwrócić uwagę: właściwości adresu IP i bramy mają różne nazwy po dodaniu i modyfikując połączenie. Po dodaniu połączeń, których używasz „IP4” I „GW4”, podczas gdy ich modyfikujesz, używasz „IPv4” I „GWV4”.

Teraz wyświetlmy ten profil połączenia:

# nmcli Con Down static1; nmcli con up static2 

Jak widać, urządzenie ENP0S3 ma teraz adres IP 192.168.1.50.

# ip a 
Sprawdź adres IP nowego połączenia sieciowego

Wskazówka: Istnieje wiele właściwości, które możesz zmodyfikować. Jeśli nie pamiętasz ich na pamięć, możesz sobie pomóc, wpisując „Nmcli con show” a potem nazwa połączenia:

# nmcli con show static2 
Sprawdź adres IP nowego połączenia sieciowego

Możesz zmodyfikować wszystkie te właściwości napisane małymi literami.

Na przykład: Po obniżeniu profilu połączenia, NetworkManager wyszukuje inny profil połączenia i automatycznie podnosi go. (Pozostawiam to jako ćwiczenie, aby to sprawdzić). Jeśli nie chcesz, aby Twój profil połączenia jest autoconnect:

# nmcli con mod static2 połączenie.Autoconnect nr 

Ostatnie ćwiczenie jest bardzo przydatne: stworzyłeś profil połączenia, ale chcesz, aby był używany przez określonych użytkowników. Dobrze jest klasyfikować swoich użytkowników!

Pozwalamy tylko użytkownikowi Stella Aby użyć tego profilu:

# nmcli con mod static2 połączenie.uprawnienia Stella 

Wskazówka: Jeśli chcesz udzielić uprawnień więcej niż jednemu użytkownikom, musisz wpisać Użytkownik: User1, User2 Bez pustej przestrzeni między nimi:

# nmcli con mod static2 połączenie.Użytkownik uprawnień: Stella, John 
Zezwalaj na połączenia sieciowe z użytkownikami

Jeśli zalogujesz się jako inny użytkownik, nie możesz przynieść "w górę" Ten profil połączenia:

# nmcli con show # nmcli con up static2 # ls/etc/sysconfig/scripts 
Włącz połączenie sieciowe

Komunikat o błędzie mówi, że połączenie „STATIC2” nie istnieje, Nawet jeśli widzimy, że to istnieje. To dlatego, że bieżący użytkownik nie ma uprawnień do wywołania tego połączenia.

Wniosek: Nie wahaj się użyć NMCLI. To jest łatwe i pomocne.