Läsare som du hjälper till att stödja MUO. När du gör ett köp med hjälp av länkar på vår webbplats kan vi tjäna en affiliate-provision. Läs mer.

Den mest grundläggande delen av Linux-administration och felsökning är att kontrollera IP-konfigurationen av ett system för att säkerställa att systemet har en giltig IP och är tillgänglig på det lokala nätverket.

ip-kommandot i Linux är ett kraftfullt verktyg som inte bara visar den aktuella IP-adressen för ett system utan också låter dig se och hantera den aktuella konfigurationen av nätverksgränssnitt, IP-adresser, rutter och ARP tabeller.

Låt oss titta på några av de vanliga användningsfallen för ip-kommandot i Linux.

Hitta IP-adressen på Linux

Till hitta IP-adressen för ditt Linux-system, använd kommandot ip följt av adress, adr, eller a alternativ:

IP-adress

Detta kommer att visa konfigurationen av alla nätverksgränssnitt inklusive deras IP-adresser.

I följande exempel kan du se att systemet har tre nätverksgränssnitt: lo (loopback-adress), ens33, och ens37. Utgången innehåller följande information:

instagram viewer
  • Layer 1-information såsom gränssnittskapacitet och fysiskt lager anslutningstillstånd, MTU, gränssnittets drifttillstånd (t.ex. UPP eller NER) och överföringskölängd (qlen).
  • Layer 2-information som gränssnittets MAC-adress.
  • Information på lager 3 inkluderar IP-adressen och dess typ (dynamisk IP-adressering eller statisk IP-adressering).

För att visa kort information om nätverksgränssnitt, använd ip-kommandot med --kort alternativ enligt följande:

ip --kort adressshow

För att endast visa IPv4-adressinformation, använd följande kommando:

ip -4 adress

För att ta reda på IP-adressinformationen för en viss nätverksgränssnitt, använd följande syntax:

IP-adress show dev [gränssnitt]

Till exempel för att se IP-adressen för ett nätverksgränssnitt ens33, kommandot skulle vara:

IP-adress show utvecklare33

Visa och ändra MAC-adressen

Med hjälp av ip-kommandot kan du också visa och ändra MAC-adressen för ditt system.

Till visa MAC-adressen för ditt Linux-system, använd följande kommando:

ip --kort länk visa

För att se MAC-adressen för ett visst gränssnitt, använd:

ip --kort länk visa dev [gränssnitt]

Till ändra MAC-adressen, ta först ner gränssnittet:

sudo ip-länk uppsättning dev [gränssnitt] ner

Använd sedan följande kommando för att ändra MAC-adressen för ditt gränssnitt:

sudo ip-länk uppsättning dev [gränssnitt] adress [ny-mac-adress]

Ta sedan upp gränssnittet:

sudo ip-länk uppsättning dev [gränssnitt] upp

Visa nätverksgränssnittsstatistik

Med hjälp av ip-kommandot kan du också se statistiken för ett nätverksgränssnitt. Använd följande ip-kommando för att se statistiken för alla nätverksgränssnitt på ditt system:

ip -s länk

Utdata inkluderar statistik som överförda och mottagna byte/paket, fel, tappade paket, multicast, etc. För att visa statistik för ett visst gränssnitt, använd följande syntax:

ip -s länk show dev [gränssnitt]

För att ta fram ett gränssnitt, använd följande ip-kommando:

sudo ip-länk uppsättning [gränssnitt] upp

För att få ner gränssnittet, kör:

sudo ip-länk uppsättning [gränssnitt] ner

Du kan också ändra MTU (maximal transmission unit) för ett gränssnitt med följande kommando:

sudo ip-länk uppsättning mtu [siffra] utvecklare [gränssnitt]

Till exempel för att ställa in MTU för ett nätverksgränssnitt ens33 till 8000, kommandot skulle vara:

sudo ip-länk uppsättning mtu 8000 dev ens33

Lägg till/ta bort IP-adress på Linux

För att lägga till en IP-adress till ett nätverksgränssnitt, använd följande syntax:

ipadrLägg till[IP-adress]dev[gränssnitt]

För att lägga till en IP-adress 192.168.42.140/24 till nätverksgränssnittet ens33, kommandot skulle vara:

ip-adress add 192.168.42.140/24 dev ens33

Använd följande kommandosyntax för att ta bort IP-adressen från ett gränssnitt:

ipadrdel[IP-adress]dev[gränssnitt]

För att ta bort IP-adressen 192.168.42.140/24 från gränssnittet ens33, kommandot skulle vara:

ip-adress del192.168.42.140/24 utvecklare33

Se routingtabellen på Linux

Kommandot ip route används för att visa och ändra rutterna i ett Linux-system. För att visa routingtabellen för ditt system, använd kommandot ip route utan något alternativ:

ip rutt

Varje rad i utgången representerar en konfigurerad rutt. En rutt består av en destinationsnätverksadress, ett nästa hopp (dvs. routerns IP-adress), ett gränssnitt genom vilket paketet kommer att skickas, och måtten (ett värde som används för att bestämma den föredragna vägen när det finns flera vägar tillgängliga för destination). Rutten med den lägre måtten är att föredra i detta fall.

I exemplet ovan representerar de två första posterna standardrutten, som används när ingen annan rutt är tillgänglig för destinationsadressen. 192.168.42.2 och 192.168.10.1 är routerns IP-adresser. Utvecklaren ens33 och ens37 ange gränssnittet som kommer att användas för att skicka paketen till routern. De proto dhcp fält indikerar att standardrutten lärs in från DHCP.

Den andra posten representerar APIPA-adressen (Automatic Private IP Addressing) 169.254.0.0/16. När en värd inte lyckas få en IP-adress från en DHCP-server, tilldelar den sig själv en slumpmässig IP-adress från detta nätverk. Det låter dem kommunicera med andra värdar i undernätet som inte heller har lyckats få IP-adressen.

Den tredje och fjärde posten visar nätverksadresserna för de lokala nätverk som systemet är anslutet till. De 192.168.10.0 är nätverket som gränssnittet ens37 är fäst vid medan 192.168.42.0 är nätverket ens33 är fäst vid.

De src fältet anger IP-adressen för gränssnittet som används som källadress när paket skickas via denna väg.

Ändra rutttabellen med ip

För att manuellt lägga till en rutt, använd kommandot ip route följt av destinationsnätverkets adress och gateway IP:

sudoipruttLägg till[nätverks ID]via[Gateway IP]

Till exempel att lägga till en rutt som skickar all trafik som är avsedd för 192.168.20.0 nätverk till gatewayen kl 192.168.10.16, skulle du använda följande kommando:

sudo ip-rutt lägg till 192.168.20.0/24 via 192.168.10.16

Använd följande kommando för att lägga till en standardrutt:

sudo ip route add standard via [ip-adress] dev [gränssnitt]

Till exempel för att lägga till standardrutten som dirigerar trafiken till routern på 192.168.10.1 genom ens33, kommandot skulle vara:

sudoipruttLägg tillstandardvia 192.168.10.1devens33
ip rutt skaffa sig [IP-adress]

Använd följande syntax för att ta bort en routingtabellpost:

sudoipruttradera[nätverksadress]via[Gateway IP]

Du kan också se rutten en adress tar med följande syntax:

ip rutt skaffa sig [IP-adress]

Hantera Neighbor Table på Linux

Du kan använda ip granne kommando i Linux för att visa och ändra granntabellen, även känd som ARP-tabellen. För att se aktuella granntabellposter, använd följande kommando:

ip granne show

För att lägga till en ny post i granntabellen, använd följande syntax:

sudoipgnäggaLägg till[IP-adress]lladdr[MAC-adress]dev[gränssnitt]

För att ta bort en post från granntabellen, använd följande syntax:

sudoipgnäggadel[IP-adress]dev[gränssnitt]

Lägg till färg till utgången av ip-kommandot

För att göra utdata enklare och snabbare att förstå kan du lägga till färg till ip-kommandotutdata med hjälp av -c alternativ:

ip -c a

Hantera nätverk och IP-adresser på Linux

ip-kommandot i Linux är ett användbart verktyg för att administrera och felsöka nätverksanslutningar. Från att visa nätverksgränssnitten och ändra länkegenskaper till att hitta IP-adresser och hantera rutter, ip-kommandot låter dig utföra flera systemadministrationsuppgifter via kommandoraden.