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.
TYPE
, mir hunn den Ethernet Typ hei. Mir kéinten Wifi hunn, Team, Bond an anerer.DEVICE
, den Numm vum Netzwierkapparat deen mat dësem Profil assoziéiert ass.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.IPADDR
, ass déi statesch IP déi mir eise Profil zouginn.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.GATEWAY
, de Gateway-IP.DNS1
,DNS2
, zwee DNS-Server déi mir benotze wëllen.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:
Typ
– fir den Typ vun der Verbindung.ifname
– fir den Apparatnumm deen eis Verbindung zougewisen ass.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.