Hoe Linux-netwerkverbindingen te beheren vanaf de opdrachtregel

0
243
Romeinse Samborskyi/Shutterstock.com< /figure>

Met het nmcli-commando kun je direct vanaf de opdrachtregel profiteren van de kracht van de Linux NetworkManager, waardoor het perfect is voor servers zonder desktopomgeving en extern SSH-shellbeheer.

Het nmcli-commando

Het nmcli-commando is niet nieuw, het werd uitgebracht in 2010. Samen met het ip-commando vervangt het het eerbiedwaardige —maar verouderde— ifconfig. Oude gewoonten sterven moeilijk, en veel systeembeheerders gebruiken nog steeds ifconfig. Ze weten al hoe ze het moeten gebruiken, er is geen leercurve en ze moeten gewoon de klus klaren. Dus waarom nog een andere tool leren?

Nou, uiteindelijk zal ifconfig door de distributies worden verwijderd, dus het is een verandering die eraan komt, leuk vinden of niet. Maar nmcli heeft een aantal handige trucjes die het de moeite waard maken om uit te zoeken wat het te bieden heeft.

De ncmli-concepten en syntaxis

Zoals alle CLI-opdrachten accepteert nmcli opdrachtregelparameters. De parameters zijn gegroepeerd in drie categorieën.

  • Opties: Deze wijzigen het gedrag van nmcli
  • Secties : Deze vertellen nmcli welke reeks acties u aanroept. Zie secties als verzamelingen van opdrachten.
  • Acties: deze vertellen nmcli wat u wilt dat het doet. Zie ze als opdrachten.

Het algemene syntaxisformaat is:

nmcli <opties> <secties> <actie> Houd er echter rekening mee dat u niet altijd alle drie de sets parameters voor elke opdracht nodig hebt. De nmcli-secties zijn:

  • Help: biedt korte helpteksten over de ncmcli-opdrachten
  • Algemeen: haalt de status en configuratie van NetworkManager
  • Netwerken: opvragen, in- of uitschakelen van netwerkverbindingen
  • Radio: opvragen, inschakelen of schakelt wifi-netwerkverbindingen uit
  • Monitor: bewaakt NetworkManager en statuswijzigingen van netwerkverbindingen
  • Verbinding: manipuleert rechtstreeks netwerkinterfaces, inclusief in- en uitschakelen, nieuwe verbindingen toevoegen en bestaande verbindingen verwijderen< /li>
  • Apparaat: Wijzigt netwerkapparaatparameters en verbindt of verbreekt een apparaat met een bestaande verbinding
  • Geheim: registreert nmcli als een NetworkManager-geheim agent. Omdat nmcli dit automatisch doet, wordt dit zeer zelden gebruikt.

Eerste stappen met nmcli

Laten we zorg ervoor dat NetworkManager is geïnstalleerd en actief is en dat we er verbinding mee kunnen maken met nmcli. We gebruiken de statusactie uit het algemene gedeelte.

nmcli algemene status

< /p> Advertentie

Status is eigenlijk de standaardactie voor algemeen, dus we hadden dat woord uit het commando kunnen laten. Maar we hebben geverifieerd dat nmcli "en dus NetworkManager" is geïnstalleerd en operationeel is. Laten we wat meer te weten komen over deze computer.

We kunnen alle in-memory en on-disk netwerkverbindingsprofielen weergeven met behulp van de actie show uit het verbindingsgedeelte:

nmcli-verbindingsshow

De uitvoer is breder dan het terminalvenster. Onze resultaten waren:

NAAM UUID TYPE APPARAAT Bekabelde verbinding 1 d2864443-9cee-31ec-ab2e-55e9ebddd53e ethernet enp0s3 ethernet-enp0s8 9aad8efa-3427-4a5c-bef5-270340cd33d0 ethernet enp0s8 ethernet-enp0ces9 testmachine die voor dit artikel wordt gebruikt, draait een pre-lanceringsversie van Ubuntu 21.10. Er zijn drie netwerkadapters geïnstalleerd, genaamd enp0s3, enp0s8 en enp0s9.

Inzicht in het sanitair

Met een netwerkverbinding kan uw computer via een netwerk met een ander apparaat communiceren. Intern bewaart nmcli alle informatie over een netwerkverbinding in een gegevensobject dat het een verbinding noemt.

Een nmcli-verbinding bevat alle informatie met betrekking tot die verbinding, inclusief de datalinklaag en IP-adresgegevens. U kunt de verbindingen van nmcli beschouwen als de configuratiedetails voor echte netwerkverbindingen.

Om de buitenwereld te bereiken, moet een verbinding een netwerkinterface-apparaat gebruiken, zoals een netwerkkaart. Een verbinding is gebonden aan een apparaat. Wanneer een apparaat actief is en gegevens kan ontvangen of verzenden, wordt gezegd dat de verbinding actief of actief is. De bijbehorende inactieve status wordt, niet verwonderlijk, inactief of uitgeschakeld genoemd.

Netwerkverbindingen toevoegen

Met nmcli kunt u een netwerkverbinding maken en enkele configuratie-opties instellen met een enkele opdracht. Op deze testcomputer is er geen verbinding op enp0s8, de naam voor onze bekabelde verbinding (ethernet) nummer 2. We voegen een verbinding toe aan enp0s8. Omdat we systeemwijzigingen doorvoeren, moet u sudo:

sudo nmcli-verbinding add type ethernet ifname enp0s8

Deze opdracht gebruikt de actie toevoegen uit de verbindingssectie. We hebben de optie type gebruikt om een ​​ethernetverbinding aan te vragen en de optie ifname (interfacenaam) om het netwerkinterface-apparaat op te geven dat we door deze verbinding willen gebruiken.

Laten we eens kijken wat er is gebeurd:

nmcli verbinding tonen advertentie

NAAM UUID TYPE APPARAAT Bekabelde verbinding 1 d2864443-9cee-31ec-ab2e-55e9ebddd53e ethernet enp0s3 ethernet-enp0s8 9aad8efa-3427-4a5c-bef5-270340cd33d0 ethernet enp0s8 ethernet-enp0ceset 1 b874aa09-3a25-4f52-b20b-1b95d9741be9 ethernet —

Onze nieuwe verbinding, ethernet-enp0s8-1 , is gemaakt. De Universally Unique Identifier (UUID) is toegewezen en het verbindingstype is ethernet. We kunnen het nu actief maken met het up-commando. Het up-commando moet worden gevolgd door de verbindingsnaam of de bijbehorende UUID:

nmcli connection up ethernet-enp0s8-1

Laten we onze actieve verbindingen nog eens controleren:

nmcli connection show –active

NAAM UUID-TYPE APPARAAT Bekabelde verbinding 1 d2864443-9cee-31ec-ab2e-55e9ebddd53e ethernet enp0s3 ethernet-enp0s8 -1 b874aa09-3a25-4f52-b20b-1b95d9741be9 ethernet enp0s8 ethernet-enp0s9 5bc49cef-bc3d-4832-9073-460b408932b6 ethernet enp0s9

Onze nieuwe verbinding, ethernet-enp0s8-1, is nu actief en verbonden met de enp0s8-1 apparaat.

Verbindingen aanpassen

Natuurlijk kunt u met ncmli ook de parameters van bestaande verbindingen wijzigen. Stel dat we een netwerkinterface willen omschakelen van Dynamic Host Configuration Protocol (DHCP) naar het gebruik van een statisch IP-adres. Om bij ons netwerk te passen, hebben we een vast IP-adres van 192.168.1.40 nodig voor onze nieuwe verbinding.

Om dat te bereiken, moet je twee commando's geven. Een om het IP-adres in te stellen en een om de verbindingsmethode voor het verkrijgen van een IP-adres op handmatig in te stellen:

nmcli-verbinding wijzigen ethernet-enp0s8-1 ipv4.address 192.168.1.40/24 nmcli-verbinding wijzigen ethernet-enp0s8-1 ipv4.methode handleiding

Advertentie

De “/24” die we leveren met het IP-adres is het subnetmasker in Classless Inter-Domain Routing (CIDR). In deze context “/24” betekent “255.255.255.0.”

De wijzigingen worden pas van kracht nadat de verbinding is 'verbounced'. Dat wil zeggen, uitgeschakeld en weer online gezet. De eerste opdracht verbreekt de verbinding en de tweede brengt deze weer omhoog.

nmcli verbinding omlaag ethernet-enp0s8-1 nmcli verbinding omhoog ethernet-enp0s8-1

Als je de wijziging ongedaan wilt maken en van een statisch IP-adres naar een DHCP IP-adres wilt gaan, gebruik dan de automatische optie in plaats van handmatig.

p> nmcli-verbinding wijzigen ethernet-enp0s8-1 ipv4.method auto

Apparaatbeheer

Het onderdeel nmcli-apparaat bevat acties (opdrachten) waarmee u de netwerkinterfaces die op uw computer zijn geïnstalleerd, kunt beheren. Om de status van alle netwerkinterfaces op uw computer te zien, gebruikt u:

nmcli device status

< /p>

Apparaatdetails tonen

Om de details van een netwerkinterface te onderzoeken, gebruiken we de actie show uit het apparaatgedeelte. Als u geen apparaatnaam opgeeft, worden de details van alle apparaten opgehaald en weergegeven. Je kunt omhoog en omlaag scrollen en pagina's omhoog en omlaag scrollen om ze te bekijken.

Laten we eens kijken naar enp0s8, het apparaat dat onze nieuwe verbinding gebruikt. We kunnen verifiëren dat het gebruikte IP-adres het adres is dat we eerder hebben aangevraagd.

nmcli device show enp0s8

ALGEMEEN.APPARAAT: enp0s8 ALGEMEEN.TYPE: ethernet ALGEMEEN.HWADDR: 08:00:27:79:A7:68 ALGEMEEN.MTU: 1500 ALGEMEEN.STATE: 100 (aangesloten) ALGEMENE.VERBINDING: ethernet-enp0s8-1 GENERAL.CON -PATH: /org/freedesktop/NetworkManager/ActiveConnection/8 WIRED-PROPERTIES.CARRIER: op IP4.ADDRESS[1]: 192.168.1.40/24 IP4.GATEWAY: — IP4.ROUTE[1]: dst = 192.168.1.0 /24, nh = 0.0.0.0, mt = 102 IP6.ADRES[1]: fe80::3241:457d:cd1c:2436/64 IP6.GATEWAY: — IP6.ROUTE[1]: dst = fe80::/64, nh = ::, mt = 102

Een scherm vol informatie wordt geretourneerd door nmcli . Enkele veelgebruikte items zijn:

  • APPARAAT: de naam van het apparaat dat we onderzoeken.
  • TYPE: het type verbinding dat dit apparaat gebruikt.
  • HWADDR: het MAC-adres van de interfacekaart.
  • STATE: of dit apparaat een live-verbinding heeft.
  • IP4.ADDRESS [1]: het IP-adres en subnetmasker voor dit apparaat.
  • VERBINDING: de naam van de verbinding die dit apparaat gebruikt.

De nmcli Interactieve Editor

Hoewel nmcli een opdrachtregelprogramma is, heeft het een elementaire interactieve editor. De bewerkingsactie in de verbindingssectie opent de interactieve editor op de verbinding die u op de opdrachtregel doorgeeft:

nmcli verbinding edit ethernet-enp0s8-1

Advertentie

Er wordt wat helptekst op het scherm afgedrukt en u krijgt de “nmcli>” opdrachtprompt.

als u print typt en op “Enter” drukt, geeft nmcli alle eigenschappen weer die aan de verbinding zijn gekoppeld. Er zijn er veel. Je kunt er doorheen scrollen om ze te bekijken.

print

Let& #8217;s verander onze verbinding terug naar het gebruik van DHCP. We gebruiken de “ipv4” instellingen. Om dat te doen, moeten we “go” naar de IPv4-instellingen.

ga naar ipv4

De eigenschap die we willen wijzigen is de methode. We willen dit op automatisch instellen.

set method auto

U ziet de volgende prompt:

Wilt u ook 'ipv4.addresses' wissen? [ja]: Advertentie

Als u het IP-adres niet wist, zal de volgende keer dat u deze verbinding instelt om een ​​statisch IP-adres te gebruiken, het eerder ingestelde IP-adres gebruiken. Als u het wel wist, moet u een nieuw IP-adres instellen als u deze verbinding ooit weer wijzigt in een statisch IP-adres. Typ “ja” of druk gewoon op “Enter” om het te wissen. Typ “nee” en druk op “Enter” om het te behouden.

We moeten onze wijzigingen opslaan:

save

Typ “stop” om de interactieve editor te verlaten. Als u niet wilt stoppen, typt u “terug” om terug te gaan naar het hoofdniveau en de editor te blijven gebruiken.

Er zit veel meer in de mens

De opdracht nmcli kan veel meer. Het heeft een groot aantal opdrachtregelparameters en opties. Zoveel zelfs dat de man-pagina meer dan 1200 regels bevat. Bekijk ze om te zien wat nmcli nog meer voor u kan doen.

En natuurlijk, als u op afstand netwerkverbindingen beheert, schakel dan niet de verbinding uit waarmee u verbinding hebt gemaakt . Dat is nooit leuk.