Så här hanterar du Linux-nätverksanslutningar från kommandoraden

0
147
Roman Samborskyi/Shutterstock.com < /figure>

Med kommandot nmcli kan du utnyttja kraften hos Linux NetworkManager direkt från kommandoraden, vilket gör den perfekt för servrar utan skrivbordsmiljö och fjärrstyrd SSH -skaladministration.

Kommandot nmcli

NMcli -kommandot är inte nytt, det släpptes 2010. Tillsammans med ip -kommandot ersätter det det vördnadsvärda — men utfasade — ifconfig. Gamla vanor dör hårt, och många sysadminer använder fortfarande ifconfig. De vet redan hur man använder det, det finns ingen inlärningskurva och de behöver bara få jobbet gjort. Så varför lära dig ännu ett verktyg?

Tja, så småningom kommer ifconfig att släppas av fördelningarna så det är en förändring som kommer, gillar det eller inte. Men nmcli har några helt egna knep som gör det värt att ta reda på vad den kan erbjuda.

ncmli-begreppen och syntaxen

Liksom alla CLI -kommandon accepterar nmcli kommandoradsparametrar. Parametrarna är grupperade i tre kategorier.

  • Alternativ : Dessa ändrar nmcli: s beteende
  • Avsnitt : Dessa berättar för nmcli vilken uppsättning åtgärder du åberopar. Tänk på sektioner som samlingar av kommandon.
  • Åtgärder : Dessa berättar för nmcli vad du vill att den ska göra. Se dem som kommandon.

Det allmänna syntaxformatet är:

nmcli & lt; optioner & gt; & lt; sektioner & gt; & lt; action & gt; Men observera att du inte alltid behöver alla tre uppsättningar parametrar för varje kommando. NMcli -sektionerna är:

  • Hjälp : Ger korta hjälptexter för ncmcli -kommandona
  • Allmänt : Hämtar status och konfiguration av NetworkManager
  • Nätverk : Frågar, aktiverar eller inaktiverar nätverksanslutningar
  • Radio : Frågor, aktiverar eller inaktiverar Wi-Fi-nätverksanslutningar
  • Övervaka : Övervakar NetworkManager och statusändringar för nätverksanslutningar
  • Anslutning : Direkt manipulerar nätverksgränssnitt, inklusive att aktivera och inaktivera dem, lägga till nya anslutningar och ta bort befintliga anslutningar < /li>
  • Enhet : Ändrar parametrar för nätverksenheter och ansluter eller kopplar bort en enhet från en befintlig anslutning
  • Hemlig : Registrerar nmcli som en NetworkManager hemlig agent. Eftersom nmcli gör detta automatiskt används det väldigt sällan.

Första steg med nmcli

Låt oss ’ s se till att NetworkManager är installerat och körs så att vi kan ansluta till det med nmcli. Vi kommer att använda statusåtgärden från det allmänna avsnittet.

nmcli allmän status

< /p> Annons

Egentligen är status standardåtgärden för general, så vi kunde ha lämnat det ordet utanför kommandot. Men vi har verifierat att nmcli — och därför NetworkManager — är installerat och operativt. Låt oss ta reda på lite mer om den här datorn.

Vi kan lista alla nätverksanslutningsprofiler i minnet och på disken med hjälp av showåtgärden från anslutningsdelen:

nmcli -anslutning visa

Utmatningen är bredare än terminalfönstret. Våra resultat var:

NAMN UUID TYPENHET Kabelförbindelse 1 d2864443-9cee-31ec-ab2e-55e9ebddd53e ethernet enp0s3 ethernet-enp0s8 9aad8efa-3427-4a5c-bef5-270340cd33d0 etherb-en9089329-899032-109-489329-489329-109-109-48932-109-489-109-489-109-489-109-489-1064 testmaskin som används för denna artikel kör en pre-launch-version av Ubuntu 21.10. Den har tre nätverkskort installerade i den, som heter enp0s3, enp0s8 och enp0s9.

Förstå VVS

En nätverksanslutning gör att din dator kan kommunicera över ett nätverk till en annan enhet. Internt rymmer nmcli all information om en nätverksanslutning i ett dataobjekt som den kallar en anslutning.

En nmcli -anslutning inkapslar all information som är relaterad till den anslutningen, inklusive datalänkskikt och IP -adresseringsinformation. Du kan tänka på nmcli: s anslutningar som konfigurationsdetaljer för verkliga nätverksanslutningar.

För att nå omvärlden måste en anslutning använda en nätverksgränssnittsenhet, till exempel ett nätverkskort. En anslutning är bunden till en enhet. När en enhet är aktiv och kan ta emot eller överföra data sägs anslutningen vara aktiv eller uppe. Motsvarande inaktiva tillstånd kallas, överraskande, inaktivt eller nere.

Lägga till nätverksanslutningar

Med nmcli kan du skapa en nätverksanslutning och ställa in några av dess konfigurationsalternativ med ett enda kommando. På den här testdatorn finns det ingen anslutning på enp0s8, namnet på vår trådbundna anslutning (ethernet) nummer 2. Vi lägger till en anslutning till enp0s8. Eftersom vi gör systemändringar måste du använda sudo:

sudo nmcli -anslutning lägg till typ ethernet ifname enp0s8

Detta kommando använder add -åtgärden från anslutningsavsnittet. Vi använde typalternativet för att begära en Ethernet -anslutning och alternativet ifname (gränssnittsnamn) för att ange nätverksgränssnittsenheten som vi vill att denna anslutning ska använda.

Låt oss kontrollera vad ’ s hände:

nmcli -anslutningshow Annonsering

NAMN UUID TYPENHET Kabeldragen anslutning 1 d2864443-9cee-31ec-ab2e-55e9ebddd53e ethernet enp0s3 ethernet-enp0s8 9aad8efa-3427-4a5c-bef5-270340cd33d0 etherb-en808-et8-et8 1 b874aa09-3a25-4f52-b20b-1b95d9741be9 ethernet-

Vår nya anslutning, ethernet-enp0s8-1, har skapats. Dess universellt unika identifierare (UUID) har tilldelats och anslutningstypen är ethernet. Vi kan nu göra det aktivt med kommandot upp. Uppkommandot måste följas av anslutningsnamnet eller dess UUID:

nmcli-anslutning upp ethernet-enp0s8-1

Låt oss kontrollera våra aktiva anslutningar en gång till:

nmcli-anslutning visar –aktiv

NAME UUID TYPE DEVICE Trådlös anslutning 1 d2864443-9cee-31ec-ab2e-55e9ebddd53e Ethernet enp0s3 ethernet-sv -1 b874aa09-3a25-4f52-b20b-1b95d9741be9 eternet enp0s8 ethernet-enp0s9 5bc49cef-bc3d-4832-9073-460b408932b6 etnnet enp0s9

Vår nya anslutning, Ethernet-enp08-1 enhet.

Justera anslutningar

Naturligtvis låter ncmli dig också ändra parametrarna för befintliga anslutningar. Anta att vi vill byta ett nätverksgränssnitt från Dynamic Host Configuration Protocol (DHCP) till att använda en statisk IP -adress. För att matcha vårt nätverk behöver vi en fast IP -adress på 192.168.1.40 för vår nya anslutning.

För att uppnå det måste du utfärda två kommandon. En för att ställa in IP -adressen, och en för att ställa in anslutningens metod för att få en IP -adress till manuell:

nmcli-anslutning ändra ethernet-enp0s8-1 ipv4.address 192.168.1.40/24 nmcli-anslutning ändra ethernet-enp0s8-1 ipv4.metodhandbok

Annonsering

The “/24 ” vi tillhandahåller IP-adressen som delmask i Classless Inter-Domain Routing (CIDR). I detta sammanhang “/24 ” betyder “ 255.255.255.0. ”

Ändringarna träder inte i kraft förrän anslutningen har studsats. ” Det vill säga funktionshindrade och återförs online. Det första kommandot tar ner anslutningen och det andra tar upp den igen.

nmcli-anslutning ner ethernet-enp0s8-1 nmcli-anslutning upp ethernet-enp0s8-1

Om du vill vända ändringen och flytta från en statisk IP -adress till en DHCP IP -adress använder du alternativet auto istället för manuellt.

nmcli-anslutning ändra ethernet-enp0s8-1 ipv4.method auto

Enhetshantering

Avsnittet nmcli -enhet innehåller åtgärder (kommandon) som låter dig hantera nätverksgränssnitt som är installerade på din dator. För att se status för alla nätverksgränssnitt på din dator använder du:

nmcli -enhetsstatus

< /p>

Visar enhetsinformation

För att undersöka detaljerna i ett nätverksgränssnitt använder vi showåtgärden från enhetsdelen. Om du inte anger ett enhetsnamn hämtas och visas detaljerna för alla enheter. Du kan rulla och bläddra upp och ner för att granska dem.

Låt oss ta en titt på enp0s8, enheten som vår nya anslutning använder. Vi kan verifiera att IP -adressen som används är den adress som vi tidigare begärt.

nmcli device show enp0s8

GENERAL.ENVICE: enp0s8 GENERAL.TYPE: ethernet GENERAL.HWADDR: 08: 00: 27: 79: A7: 68 GENERAL.MTU: 1500 GENERAL.STATE: 100 (connected) GENERAL.CONNECTION: ethernet-enp0s8-1 GENERAL.CON -PATH:/org/freedesktop/NetworkManager/ActiveConnection/8 WIRED-PROPERTIES.CARRIER: på IP4.ADRESS [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.ADRESS [1]: fe80 :: 3241: 457d: cd1c: 2436/64 IP6.GATEWAY: – IP6.ROUTE [1]: dst = fe80 ::/64, nh = ::, mt = 102

En skärmfull information returneras av nmcli. Några av de vanligt användbara objekten är:

  • ENHET : Namnet på den enhet som vi undersöker.
  • TYP : Typ av anslutning som använder den här enheten.
  • HWADDR : Gränssnittskortets MAC -adress.
  • STATE : Om den här enheten har en levande anslutning.
  • IP4.ADRESS [1] : IP-adressen och undernätmasken för den här enheten.
  • ANSLUTNING : Namnet på anslutningen med den här enheten.

Nmcli Interactive Editor

Även om nmcli är ett kommandoradsverktyg har den en elementär interaktiv editor. Redigeringsåtgärden i anslutningsdelen öppnar den interaktiva redigeraren för anslutningen du skickar på kommandoraden:

nmcli-anslutning redigera ethernet-enp0s8-1

Annonsering

En del hjälptext skrivs ut på skärmen, och du kommer att presenteras med “ nmcli & gt; ” kommandotolken.

om du skriver utskrift och trycker på “ Enter &#8221 ;, listar nmcli alla egenskaper som är kopplade till anslutningen. Det finns många av dem. Du kan bläddra igenom dem för att granska dem.

print

Låt & Det ändrar vår anslutning till att använda DHCP. Vi kommer att använda “ ipv4 ” inställningar. För att göra det måste vi “ gå ” till IPv4 -inställningarna.

gå till ipv4

Egenskapen vi vill ändra är metod. Vi vill ställa in den på automatisk.

sätt metod auto

Du kommer att se följande uppmaning:

Vill du också rensa 'ipv4.addresses'? [ja]: Annons

Om du inte rensar IP -adressen, nästa gång du ställer in denna anslutning för att använda en statisk IP -adress, kommer den att använda den som tidigare angavs. Om du rensar det måste du ange en ny IP -adress om du någonsin ändrar denna anslutning till att använda en statisk IP -adress. Skriv “ yes ” eller tryck bara på “ Ange ” att rensa det. Skriv “ nej ” och tryck på “ Enter ” för att behålla det.

Vi måste spara våra ändringar:

spara

Skriv “ sluta ” för att lämna den interaktiva redigeraren. Om du inte vill sluta skriver du “ tillbaka ” för att gå tillbaka till huvudnivån och fortsätta använda redigeraren.

Det finns mycket mer i människan

nmcli -kommandot kan göra mycket mer. Den har många kommandoradsparametrar och alternativ. Så många faktiskt att dess man -sida går till över 1200 rader. Granska dem för att se vad nmcli mer kan göra åt dig.

Och naturligtvis, om du fjärrhanterar nätverksanslutningar, inaktiverar du inte den anslutning du har anslutit till på . Det är aldrig kul.