Den mest grundlæggende del af Linux-administration og fejlfinding er at kontrollere IP-konfigurationen af et system for at sikre, at systemet har en gyldig IP og er tilgængelig på det lokale netværk.
IP-kommandoen i Linux er et kraftfuldt værktøj, der ikke kun viser den aktuelle IP-adresse på et system, men også giver dig mulighed for at se og administrere den aktuelle konfiguration af netværksgrænseflader, IP-adresser, ruter og ARP borde.
Lad os se på nogle af de almindelige anvendelsestilfælde af ip-kommandoen i Linux.
Find IP-adressen på Linux
Til find IP-adressen på dit Linux-system, brug ip-kommandoen efterfulgt af adresse, adr, eller -en mulighed:
IP-adresse
Dette vil vise konfigurationen af alle netværksgrænseflader inklusive deres IP-adresser.
I det følgende eksempel kan du se, at systemet har tre netværksgrænseflader: lo (loopback-adresse), ens33, og ens37. Outputtet indeholder følgende information:
- Layer 1-information såsom grænsefladekapacitet og fysisk lagforbindelsestilstand, MTU, grænsefladens driftstilstand (f.eks. OP eller NED) og transmissionskølængde (qlen).
- Layer 2-oplysninger såsom MAC-adressen på grænsefladen.
- Lag 3-oplysninger omfatter IP-adressen og dens type (dynamisk IP-adressering eller statisk IP-adressering).
For at vise kort information om netværksgrænseflader skal du bruge ip-kommandoen med --kort mulighed som følger:
ip --kort adressevisning
Brug følgende kommando for kun at vise IPv4-adresseoplysninger:
ip -4-adr
For at finde ud af IP-adresseoplysningerne for en bestemt netværksgrænseflade, brug følgende syntaks:
IP-adresse at vise udvikler [interface]
For eksempel for at se IP-adressen på en netværksgrænseflade ens33, vil kommandoen være:
IP-adresse at vise udvikler 33
Se og skift MAC-adressen
Ved at bruge ip-kommandoen kan du også se og ændre dit systems MAC-adresse.
Til se MAC-adressen på dit Linux-system, brug følgende kommando:
ip --kort link show
For at se MAC-adressen for en bestemt grænseflade skal du bruge:
ip --kort link vis dev [interface]
Til ændre MAC-adressen, hent først grænsefladen:
sudo ip link sæt udvikler [interface] ned
Brug derefter følgende kommando til at ændre MAC-adressen på din grænseflade:
sudo ip link sæt udvikler [interface] adresse [ny-mac-adresse]
Derefter henter du grænsefladen:
sudo ip link sæt udvikler [interface] op
Se netværksgrænsefladestatistik
Ved at bruge ip-kommandoen kan du også se statistikken for en netværksgrænseflade. Brug følgende ip-kommando til at se statistikken for alle netværksgrænseflader på dit system:
ip -s link
Outputtet inkluderer statistik såsom transmitterede og modtagne bytes/pakker, fejl, droppede pakker, multicast osv. For at vise statistik for en bestemt grænseflade skal du bruge følgende syntaks:
ip -s link at vise udvikler [interface]
For at få en grænseflade frem, brug følgende ip-kommando:
sudo ip link sæt [interface] op
For at fjerne grænsefladen skal du køre:
sudo ip link sæt [interface] ned
Du kan også ændre MTU (maksimal transmissionsenhed) for en grænseflade ved hjælp af følgende kommando:
sudo ip link sæt mtu [nummer] udvikler [interface]
For eksempel at indstille MTU'en for en netværksgrænseflade ens33 til 8000, vil kommandoen være:
sudo ip link sæt mtu 8000 dev ens33
Tilføj/fjern IP-adresse på Linux
For at tilføje en IP-adresse til en netværksgrænseflade skal du bruge følgende syntaks:
ipadrtilføje[IP-adresse]dev[grænseflade]
For at tilføje en IP-adresse 192.168.42.140/24 til netværksgrænsefladen ens33, vil kommandoen være:
ip-adr tilføje 192.168.42.140/24 dev ens33
Brug følgende kommandosyntaks til at fjerne IP-adressen fra en grænseflade:
ipadrdel[IP-adresse]dev[grænseflade]
For at fjerne IP-adressen 192.168.42.140/24 fra interface ens33, vil kommandoen være:
ip-adr del192.168.42.140/24 udvikler 33
Se routingtabellen på Linux
IP-rutekommandoen bruges til at se og ændre ruterne i et Linux-system. For at få vist rutetabellen for dit system skal du bruge ip-rutekommandoen uden nogen valgmulighed:
ip rute
Hver linje i outputtet repræsenterer en konfigureret rute. En rute består af en destinationsnetværksadresse, et næste hop (dvs. routerens IP-adresse), en grænseflade, hvorigennem pakken vil blive sendt, og metrikken (en værdi, der bruges til at bestemme den foretrukne rute, når der er flere ruter tilgængelige for bestemmelsessted). Ruten med den nederste metriske er at foretrække i dette tilfælde.
I eksemplet ovenfor repræsenterer de to første poster standardruten, som bruges, når der ikke er nogen anden rute tilgængelig for destinationsadressen. 192.168.42.2 og 192.168.10.1 er routerens IP-adresser. Dev ens33 og ens37 angive den grænseflade, der skal bruges til at sende pakkerne til routeren. Det proto dhcp felter angiver, at standardruten er lært fra DHCP.
Den anden post repræsenterer APIPA-adressen (automatisk privat IP-adressering) 169.254.0.0/16. Når en vært ikke kan få en IP-adresse fra en DHCP-server, tildeler den sig selv en tilfældig IP-adresse fra dette netværk. Det lader dem kommunikere med andre værter i undernettet, som heller ikke har kunnet opnå IP-adressen.
Den tredje og fjerde indtastning viser netværksadresserne på de lokale netværk, som systemet er tilsluttet. Det 192.168.10.0 er det netværk, der interface ens37 er knyttet til, mens den 192.168.42.0 er netværket ens33 er knyttet til.
Det src feltet angiver IP-adressen på den grænseflade, der bruges som kildeadresse, når pakker sendes gennem denne rute.
Rediger rutetabellen ved hjælp af ip
For manuelt at tilføje en rute skal du bruge ip-rutekommandoen efterfulgt af destinationsnetværksadressen og gateway-IP:
sudoiprutetilføje[netværks-id]via[gateway-ip]
For eksempel at tilføje en rute, der sender al trafik bestemt til 192.168.20.0 netværk til gatewayen kl 192.168.10.16, ville du bruge følgende kommando:
sudo ip-rute tilføje 192.168.20.0/24 via 192.168.10.16
Brug følgende kommando til at tilføje en standardrute:
sudo ip rute tilføje Standard via [ip-adresse] dev [interface]
For eksempel at tilføje standardruten, der dirigerer trafikken til routeren kl 192.168.10.1 igennem ens33, vil kommandoen være:
sudoiprutetilføjeStandardvia 192.168.10.1devens33
ip rute få [IP-adresse]
Brug følgende syntaks for at slette en routingtabelpost:
sudoipruteslette[netværksadresse]via[gateway-ip]
Du kan også se den rute, en adresse tager ved at bruge følgende syntaks:
ip rute få [IP-adresse]
Administrer Neighbor Table på Linux
Du kan bruge ip nabo kommando i Linux for at se og ændre nabotabellen, også kendt som ARP-tabellen. For at se aktuelle nabotabelposter skal du bruge følgende kommando:
ip nabo at vise
For at tilføje en ny post i nabotabellen skal du bruge følgende syntaks:
sudoipnabotilføje[IP-adresse]lladdr[Mac-adresse]dev[grænseflade]
For at fjerne en post fra nabotabellen skal du bruge følgende syntaks:
sudoipnabodel[IP-adresse]dev[grænseflade]
Tilføj farve til output af ip-kommando
For at gøre output nemmere og hurtigere at forstå kan du tilføje farve til ip-kommandooutput ved hjælp af -c mulighed:
ip -c a
Håndtering af netværk og IP-adresser på Linux
IP-kommandoen i Linux er et nyttigt værktøj til at administrere og fejlfinde netværksforbindelser. Fra at se netværksgrænseflader og ændre linkegenskaber til at finde IP-adresser og administrere ruter, lader ip-kommandoen dig udføre flere systemadministrationsopgaver via kommandolinjen.