Den mest grunnleggende delen av Linux-administrasjon og feilsøking er å sjekke IP-konfigurasjonen til et system for å sikre at systemet har en gyldig IP og er tilgjengelig på det lokale nettverket.
IP-kommandoen i Linux er et kraftig verktøy som ikke bare viser den gjeldende IP-adressen til et system, men også lar deg se og administrere gjeldende konfigurasjon av nettverksgrensesnitt, IP-adresser, ruter og ARP tabeller.
La oss se på noen av de vanlige brukstilfellene av ip-kommandoen i Linux.
Finn IP-adressen på Linux
Til finn IP-adressen til Linux-systemet ditt, bruk ip-kommandoen etterfulgt av adresse, adr, eller en alternativ:
IP adresse
Dette vil vise konfigurasjonen av alle nettverksgrensesnitt inkludert deres IP-adresser.
I følgende eksempel kan du se at systemet har tre nettverksgrensesnitt: lo (tilbakekoblingsadresse), ens33, og ens37. Utgangen inneholder følgende informasjon:
- Lag 1-informasjon som grensesnittkapasitet og fysisk lags tilkoblingstilstand, MTU, driftstilstanden til grensesnittet (f.eks. OPP eller NED) og lengde på overføringskøen (qlen).
- Lag 2 informasjon som MAC-adressen til grensesnittet.
- Informasjon om lag 3 inkluderer IP-adressen og dens type (dynamisk IP-adressering eller statisk IP-adressering).
For å vise kort informasjon om nettverksgrensesnitt, bruk ip-kommandoen med --kort alternativ som følger:
ip --kort adressevisning
For å vise kun IPv4-adresseinformasjon, bruk følgende kommando:
ip -4-adr
For å finne ut IP-adresseinformasjonen til en bestemt nettverksgrensesnitt, bruk følgende syntaks:
IP adresse forestilling dev [grensesnitt]
For eksempel for å se IP-adressen til et nettverksgrensesnitt ens33, kommandoen vil være:
IP adresse forestilling dev ens33
Se og endre MAC-adressen
Ved å bruke ip-kommandoen kan du også se og endre MAC-adressen til systemet ditt.
Til se MAC-adressen til Linux-systemet ditt, bruk følgende kommando:
ip --kort lenkevisning
For å se MAC-adressen til et bestemt grensesnitt, bruk:
ip --kort lenke vis dev [grensesnitt]
Til endre MAC-adressen, ta først ned grensesnittet:
sudo ip-lenke sett dev [grensesnitt] ned
Bruk deretter følgende kommando for å endre MAC-adressen til grensesnittet ditt:
sudo ip-lenke sett dev [grensesnitt] adresse [ny-mac-adresse]
Ta deretter opp grensesnittet:
sudo ip-lenke sett dev [grensesnitt] opp
Vis nettverksgrensesnittstatistikk
Ved å bruke ip-kommandoen kan du også se statistikken til et nettverksgrensesnitt. Bruk følgende ip-kommando for å se statistikken for alle nettverksgrensesnitt på systemet ditt:
ip -s link
Utdataene inkluderer statistikk som sendte og mottatte byte/pakker, feil, droppede pakker, multicast, etc. For å vise statistikk for et bestemt grensesnitt, bruk følgende syntaks:
ip -s link forestilling dev [grensesnitt]
For å få opp et grensesnitt, bruk følgende ip-kommando:
sudo ip-lenke sett [grensesnitt] opp
For å få ned grensesnittet, kjør:
sudo ip-lenke sett [grensesnitt] ned
Du kan også endre MTU (maksimal overføringsenhet) til et grensesnitt ved å bruke følgende kommando:
sudo ip-lenke sett mtu [Antall] dev [grensesnitt]
For eksempel for å angi MTU for et nettverksgrensesnitt ens33 til 8000, kommandoen vil være:
sudo ip-lenke sett mtu 8000 dev ens33
Legg til/fjern IP-adresse på Linux
For å legge til en IP-adresse til et nettverksgrensesnitt, bruk følgende syntaks:
ipadrLegg til[IP adresse]dev[grensesnitt]
For å legge til en IP-adresse 192.168.42.140/24 til nettverksgrensesnitt ens33, kommandoen vil være:
ip-adr legg til 192.168.42.140/24 dev ens33
Bruk følgende kommandosyntaks for å fjerne IP-adressen fra et grensesnitt:
ipadrdel[IP adresse]dev[grensesnitt]
For å fjerne IP-adressen 192.168.42.140/24 fra grensesnittet ens33, kommandoen vil være:
ip-adr del192.168.42.140/24 dev ens33
Se rutetabellen på Linux
IP-rutekommandoen brukes til å vise og endre rutene i et Linux-system. For å vise rutetabellen til systemet ditt, bruk ip-rutekommandoen uten noe alternativ:
ip rute
Hver linje i utgangen representerer en konfigurert rute. En rute består av en destinasjonsnettverksadresse, et neste hopp (dvs. IP-adressen til ruteren), et grensesnitt som pakken vil bli sendt, og metrikken (en verdi som brukes til å bestemme den foretrukne ruten når det er flere ruter tilgjengelig for mål). Ruten med den nedre metrikken foretrekkes i dette tilfellet.
I eksemplet ovenfor representerer de to første oppføringene standardruten, som brukes når ingen annen rute er tilgjengelig for destinasjonsadressen. 192.168.42.2 og 192.168.10.1 er IP-adressene til ruteren. Utvikleren ens33 og ens37 angi grensesnittet som skal brukes til å sende pakkene til ruteren. De proto dhcp feltene indikerer at standardruten er lært fra DHCP.
Den andre oppføringen representerer APIPA-adressen (automatisk privat IP-adressering) 169.254.0.0/16. Når en vert ikke klarer å få en IP-adresse fra en DHCP-server, tildeler den seg selv en tilfeldig IP-adresse fra dette nettverket. Den lar dem kommunisere med andre verter i subnettet som også ikke har klart å få tak i IP-adressen.
Den tredje og fjerde oppføringen viser nettverksadressene til de lokale nettverkene som systemet er koblet til. De 192.168.10.0 er nettverket som grensesnittet ens37 er festet til mens 192.168.42.0 er nettverket ens33 er knyttet til.
De src feltet angir IP-adressen til grensesnittet som brukes som kildeadresse ved sending av pakker gjennom denne ruten.
Endre rutetabellen ved å bruke ip
For å legge til en rute manuelt, bruk ip-rutekommandoen etterfulgt av destinasjonsnettverksadressen og gateway-IP:
sudoipruteLegg til[nettverks-ID]via[gateway-ip]
For eksempel å legge til en rute som sender all trafikk destinert for 192.168.20.0 nettverk til gatewayen kl 192.168.10.16, vil du bruke følgende kommando:
sudo ip-rute legg til 192.168.20.0/24 via 192.168.10.16
Bruk følgende kommando for å legge til en standardrute:
sudo ip rute legg til misligholde via [ip-adresse] dev [grensesnitt]
For eksempel for å legge til standardruten som dirigerer trafikken til ruteren kl 192.168.10.1 gjennom ens33, kommandoen vil være:
sudoipruteLegg tilmisligholdevia 192.168.10.1devens33
ip rute få [IP adresse]
For å slette en rutetabelloppføring, bruk følgende syntaks:
sudoipruteslette[nettverksadresse]via[gateway-ip]
Du kan også se ruten en adresse vil ta ved å bruke følgende syntaks:
ip rute få [IP adresse]
Administrer nabotabell på Linux
Du kan bruke ip nabo kommando i Linux for å vise og endre nabotabellen, også kjent som ARP-tabellen. For å se gjeldende nabotabelloppføringer, bruk følgende kommando:
ip nabo forestilling
For å legge til en ny oppføring i nabotabellen, bruk følgende syntaks:
sudoipnaboLegg til[IP adresse]lladdr[mac-adresse]dev[grensesnitt]
For å fjerne en oppføring fra nabotabellen, bruk følgende syntaks:
sudoipnabodel[IP adresse]dev[grensesnitt]
Legg til farge til utdataene til ip-kommandoen
For å gjøre utdataene enklere og raskere å forstå, kan du legge til farge til ip-kommandoen ved å bruke -c alternativ:
ip -c a
Administrere nettverk og IP-adresser på Linux
IP-kommandoen i Linux er et nyttig verktøy for å administrere og feilsøke nettverkstilkoblinger. Fra å se nettverksgrensesnittene og endre lenkeegenskaper til å finne IP-adresser og administrere ruter, lar ip-kommandoen deg utføre flere systemadministrasjonsoppgaver via kommandolinjen.