Wéi konfiguréieren a verwalten Netzwierkverbindunge mam nmcli Tool


Als Linux Administrateur hutt Dir verschidden Tools fir ze benotzen fir Är Netzwierkverbindungen ze konfiguréieren, sou wéi: nmtui, Ären NetworkManager mat GNOME grafeschen User Interface an natierlech nmcli (Netzwierk Manager Kommandozeil Tool).

Ech hu vill Administrateuren gesinn déi nmtui fir Einfachheet benotzen. Wéi och ëmmer, d'Benotzung vun nmcli spuert Är Zäit, gëtt Iech Vertrauen, kann et a Skripte benotzen an et ass dat éischt Tool fir ze benotzen fir Är Linux Server Netzwierker ze léisen a séier seng Funktionalitéit zréckzebréngen.

Vill Kommentare gesinn, déi Hëllef iwwer nmcli froen, hunn ech beschloss dësen Artikel ze schreiwen. Natierlech sollt Dir ëmmer virsiichteg Mann Säiten liesen (seng No1 Hëllef fir Iech). Mäin Zil ass Är Zäit ze spueren an Iech e puer Tipps ze weisen.

D'Syntax vum nmcli ass:

# nmcli [OPTIONS] OBJECT {COMMAND | help}

Wou OBJECT ee vun ass: allgemeng, Netzwierk, Radio, Verbindung, Apparat, Agent.

E gudde Startpunkt wier eis Apparater ze kontrolléieren:

# nmcli dev status

DEVICE      TYPE      STATE         CONNECTION 
docker0     bridge    connected     docker0    
virbr0      bridge    connected     virbr0     
enp0s3      ethernet  connected     enp0s3     
virbr0-nic  ethernet  disconnected  --         
lo          loopback  unmanaged     --         

Wéi mir an der éischter Kolonn gesinn ass eng Lëscht vun eise Netzwierkapparater. Mir hunn eng Netzwierkkaart mam Numm enp0s3. An Ärer Maschinn kënnt Dir aner Nimm gesinn.

Benennung hänkt vun der Aart vun der Netzwierkkaart of (wann et u Bord ass, PCI Kaart, etc). An der leschter Kolonn gesi mir eis Konfiguratiounsdateien déi vun eisen Apparater benotzt gi fir mat dem Netz ze verbannen.

Et ass einfach ze verstoen datt eis Apparater eleng näischt maache kënnen. Si brauchen eis fir eng Konfiguratiounsdatei ze maachen fir hinnen ze soen wéi d'Netzverbindung z'erreechen. Mir nennen dës Dateien och als \Verbindungsprofile\ Mir fanne se am /etc/sysconfig/network-scripts Verzeichnis.

# cd /etc/sysconfig/network-scripts/
# ls
ifcfg-enp0s3  ifdown-isdn      ifup          ifup-plip      ifup-tunnel
ifcfg-lo      ifdown-post      ifup-aliases  ifup-plusb     ifup-wireless
ifdown        ifdown-ppp       ifup-bnep     ifup-post      init.ipv6-global
ifdown-bnep   ifdown-routes    ifup-eth      ifup-ppp       network-functions
ifdown-eth    ifdown-sit       ifup-ib       ifup-routes    network-functions-ipv6
ifdown-ib     ifdown-Team      ifup-ippp     ifup-sit
ifdown-ippp   ifdown-TeamPort  ifup-ipv6     ifup-Team
ifdown-ipv6   ifdown-tunnel    ifup-isdn     ifup-TeamPort

Wéi Dir hei kënnt gesinn, sinn d'Fichier'en mam Numm ugefaange mat ifcfg- (Interface Konfiguratioun) Verbindungsprofiler. Wa mir eng nei Verbindung erstellen oder eng existent mat nmcli oder nmtui änneren, ginn d'Resultater hei als Verbindungsprofile gespäichert.

Ech weisen Iech zwee vun hinnen aus menger Maschinn, eng mat enger dhcp Konfiguratioun an een mat statesch IP.

# cat ifcfg-static1
# cat ifcfg-Myoffice1

Mir mierken datt e puer Eegeschafte verschidde Wäerter hunn an e puer anerer existéieren net wann et net néideg ass. Loosst eis séier op déi wichtegst vun hinnen kucken.

  1. TYPE, mir hunn den Ethernet Typ hei. Mir kéinten Wifi hunn, Team, Bond an anerer.
  2. DEVICE, den Numm vum Netzwierkapparat deen mat dësem Profil assoziéiert ass.
  3. BOOTPROTO, wann et de Wäert \dhcp huet, dann hëlt eise Verbindungsprofil dynamesch IP vum dhcp-Server, wann et de Wäert \none huet, da brauch et keng dynamesch IP a wahrscheinlech gëtt eng statesch IP.
  4. IPADDR, ass déi statesch IP déi mir eise Profil zouginn.
  5. PREFIX, d'Subnetmaske. E Wäert vun 24 heescht 255.255.255.0. Dir kënnt d'Subnet Mask besser verstoen wann Dir säi binäre Format opschreift. Zum Beispill Wäerter vun 16, 24, 26 bedeit datt déi éischt 16, 24 oder 26 Bits respektiv 1 sinn an de Rescht 0, wat genee definéiert wat d'Netzadress ass a wat d'Bereich vun IP ass, déi zougewisen ka ginn.
  6. GATEWAY, de Gateway-IP.
  7. DNS1, DNS2, zwee DNS-Server déi mir benotze wëllen.
  8. ONBOOT, wann et de Wäert \jo huet, heescht dat, datt beim Boot eise Computer dëse Profil liest a probéiert et op säin Apparat ze zouzeschreiwen.

Elo, loosst eis weidergoen a kucken eis Verbindungen:

# nmcli con show

Déi lescht Kolonn vun Apparater hëlleft eis ze verstoen, wéi eng Verbindung \UP ass a lafend ass a wéi eng net. Am Bild hei uewen gesitt Dir déi zwee Verbindungen déi aktiv sinn: Myoffice1 an enp0s8.

Tipp: Wann Dir nëmmen déi aktiv Verbindunge wëllt gesinn, gitt:

# nmcli con show -a

Tipp: Dir kënnt den Auto-Complete Hitting Tab benotzen wann Dir nmcli benotzt, awer et ass besser fir de minimale Format vum Kommando ze benotzen. Also sinn déi folgend Kommandoen gläich:

# nmcli connection show
# nmcli con show
# nmcli c s

Wann ech d'IP Adresse vu mengen Apparater kontrolléieren:

# ip a

Ech gesinn datt mäin Apparat enp0s3 den 192.168.1.6 IP vum dhcp-Server geholl huet, well de Verbindungsprofil Myoffice1 deen erop ass eng dhcp-Konfiguratioun huet. Wann ech \up mäi Verbindungsprofil mam Numm static1 bréngen, dann iwwerhëlt mäin Apparat déi statesch IP 192.168.1.40 wéi et am Verbindungsprofil definéiert ass.

# nmcli con down Myoffice1 ; nmcli con up static1
# nmcli con show

Loosst eis d'IP Adress erëm gesinn:

# ip a

Mir kënnen eisen éischte Verbindungsprofil maachen. Déi Mindesteigenschaften déi mir musse definéieren sinn Typ, ifname a con-name:

  1. Typ – fir den Typ vun der Verbindung.
  2. ifname – fir den Apparatnumm deen eis Verbindung zougewisen ass.
  3. con-name – fir den Numm vun der Verbindung.

Loosst eis eng nei Ethernet Verbindung mam Numm Myhome1 maachen, dem Apparat enp0s3 zougewisen:

# nmcli con add type ethernet con-name Myhome1 ifname enp0s3

Kontrolléiert seng Konfiguratioun:

# cat ifcfg-Myhome1

Wéi Dir gesitt, huet et BOOTPROTO=dhcp, well mir keng statesch IP Adress ginn hunn.

Hiweis: Mir kënnen all Verbindung mam Kommando \nmcli con mod\ änneren. Wann Dir awer eng dhcp Verbindung ännert an se op statesch ännert, vergiesst net seng \ipv4.method vun \auto op \ z'änneren. manual”. Soss kritt Dir zwou IP Adressen: eng vum dhcp Server an déi statesch.

Loosst eis en neien Ethernet Verbindungsprofil mam Numm static2 maachen, deen dem Apparat enp0s3 zougewisen gëtt, mat statesche IP 192.168.1.50, Subnet Mask 255.255.255.0=24 a Gateway 192.168 .1.1.

# nmcli con add type ethernet con-name static2 ifname enp0s3 ip4 192.168.1.50/24 gw4 192.168.1.1

Kontrolléiert seng Konfiguratioun:

# cat ifcfg-static2

Loosst eis de leschte Verbindungsprofil änneren an zwee dns Serveren derbäi.

# nmcli con mod static2 ipv4.dns “8.8.8.8 8.8.4.4”

Hiweis: Et gëtt eppes hei Dir musst oppassen: d'Eegeschafte fir IP Adress a Paart hunn verschidden Nimm wann Dir derbäigesat a wann Dir eng Verbindung ännert. Wann Dir Verbindunge bäidréit, benotzt Dir \ip4 an \gw4, wärend wann Dir se ännert, benotzt Dir \ipv4 an \gwv4.

Loosst eis elo dëse Verbindungsprofil bréngen:

# nmcli con down static1 ; nmcli con up static2

Wéi Dir gesitt, huet den Apparat enp0s3 elo d'IP Adress 192.168.1.50.

# ip a

Hiweis: Et gi vill Eegeschafte déi Dir kënnt änneren. Wann Dir se net aus Häerz erënnert, kënnt Dir Iech selwer hëllefen andeems Dir \nmcli con show tippt an duerno de Verbindungsnumm:

# nmcli con show static2

Dir kënnt all dës Properties änneren, déi a klenge Buschtawen geschriwwe sinn.

Zum Beispill: wann Dir e Verbindungsprofil erof bréngt, sicht den NetworkManager no engem anere Verbindungsprofil a bréngt en automatesch op. (Ech loossen et als Übung fir et ze kontrolléieren). Wann Dir net wëllt datt Äre Verbindungsprofil automatesch konnektéieren:

# nmcli con mod static2 connection.autoconnect no

Déi lescht Übung ass ganz nëtzlech: Dir hutt e Verbindungsprofil gemaach, awer Dir wëllt datt et vu spezifesche Benotzer benotzt gëtt. Et ass gutt Är Benotzer ze klassifizéieren!

Mir loossen nëmmen de Benotzer Stella dëse Profil benotzen:

# nmcli con mod static2 connection.permissions stella

Hiweis: Wann Dir Permissioune fir méi wéi ee Benotzer wëllt ginn, musst Dir User:user1,user2 ouni eidel Plaz tëscht hinnen aginn:

# nmcli con mod static2 connection.permissions user:stella,john

Wann Dir Iech als en anere Benotzer umellt, kënnt Dir dëse Verbindungsprofil net \opbauen:

# nmcli con show
# nmcli con up static2
# ls /etc/sysconfig/network-scripts

Eng Fehlermeldung seet datt d'Verbindung 'static2' net existéiert, och wa mir gesinn datt et existéiert. Dat ass well den aktuelle Benotzer keng Permissiounen huet fir dës Verbindung ze bréngen.

Fazit: zéckt net fir nmcli ze benotzen. Et ass einfach an hëllefräich.