Konfigurer Linux Server med IP-kommandoer fra iproute2 I stedet for ifconfig

Når vi trenger å konfigurere nettverket til en Linux-basert server, for mange år siden ble kommandoen “ifconfig” brukt, faktisk kan du fortsette å bruke den, men du må installere en ekstra pakke i operativsystemet, fordi suiten nå brukes som standard iproute2, og populær “Ip” -kommandoen . Alle Linux-brukere har alltid brukt ifconfig, men den nye ip-kommandoen er mye mer intuitiv og enkel å bruke, i tillegg kan vi også konfigurere statiske ruter i operativsystemet uten å måtte bruke et annet tilleggsprogram (rute). Vil du vite alt om ip-kommandoen til iproute2 suite for å konfigurere Linux-serveren din på nettverksnivå?

Hovedtrekkene i IProute2 på Linux

Iproute2 er en nettverksverktøyspakke som finnes som standard i de fleste Linux-baserte operativsystemer i dag, for eksempel Debian, Ubuntu, RedHat og mange andre stasjonære og serverorienterte distribusjoner. Denne pakken inkluderer et veldig komplett sett med verktøy som lar oss konfigurere og administrere nettverksgrensesnitt i detalj. Denne pakken erstatter ifconfig-, rute- og arp-funksjonene fullstendig, alt under den samme “ip” -kommandoen for å gjøre det lettere for brukerne å bruke dette kraftige verktøyet. Selvfølgelig har vi ikke bare de samme funksjonene som alltid, men i iproute2 har de lagt til veldig viktige funksjoner.

Konfigurer Linux Server med IP-kommandoer

IProute2 er et mye mer komplett og moderne verktøy enn ifconfig, så det anbefales å bruke det når du administrerer forskjellige aspekter av nettverket vårt. Med IP kan vi utføre de samme handlingene som vi kan gjøre med ifconfig, og fordi vi er en mye mer komplett suite, kan vi konfigurere flere parametere som ifconfig ikke tillater oss.

QoS (Service of Quality)

iproute2 gir oss QoS, den er i stand til å prioritere forskjellige typer trafikk effektivt, trafikkontroll består av flere operasjoner som utføres internt av verktøyet, for eksempel pakkeklassifiseringsmekanismen, plassering i forskjellige klasser eller strømmer, og til og med begrensning av antall pakker eller byte som kan brukes i en datastrøm.

Lastbalansering og IP-tunneler

Dette verktøyet gjør det mulig å tildele vekter til hvert av nettverksgrensesnittene vi har på serveren, og derfor kan vi gjøre en belastningsbalansering basert på forskjellige algoritmer, ideelt for å balansere trafikken mellom flere grensesnitt og ikke kollapse en av dem. iproute2 lar oss også lage tunneler som innkapsler pakker i IPv4-format og sendes gjennom IP-infrastrukturen.

Flere rutetabeller

iproute2 vil tillate oss å opprette flere rutetabeller i operativsystemet, vi kan konfigurere en hovedrutetabell, og senere opprette forskjellige rutetabeller for effektivt å rute all trafikk. Selvfølgelig kan vi i hver rutetabell definere en annen standard gateway (gateway). Dette er ideelt hvis vi har flere nettverksgrensesnitt på serveren, og vi vil at trafikken som kommer gjennom ett grensesnitt skal gå ut gjennom det samme grensesnittet, selv om det også kan gå ut gjennom et annet grensesnitt, alt avhenger av hvordan du har konfigurert ruting på serveren din. Uten tvil er denne funksjonaliteten en av de viktigste som iproute2 integrerer, da den vil gi oss stor fleksibilitet.

Betjening av ip-kommandoen

Hovedverktøyet til iproute2 er kommandoen “ip”, ​​som vi kan vise og konfigurere IP-adresser med, vise og konfigurere rutetabeller, vise og konfigurere IP-tunneler, og også vise og konfigurere det fysiske grensesnittet. Syntaksen vi må bruke med denne kommandoen er følgende:

  • ip [ALTERNATIVER] OBJEKT [KOMMANDO]

“OBJECTS” som vi har i ip er følgende, og det er de vi kan se og konfigurere de fysiske lenkene, ip-adressene, ruter og mer. Det er veldig viktig at alle bestillinger er slik vi legger dem, alt i små bokstaver, ellers vil det returnere en feil. Her er de viktigste:

  • link : den brukes til å konfigurere de fysiske eller logiske nettverksgrensesnittene, for eksempel for å se statusen til alle nettverksgrensesnittene.
  • adresse : lar deg vise og konfigurere IPv4- og IPv6-adressene tilknyttet de forskjellige nettverksgrensesnittene. Hvert grensesnitt må ha minst en IP-adresse konfigurert.
  • adrlabel : legg til en etikett
  • nabo : lar deg se nabolagskoblingene, det vil si at du kan se ARP-tabellen til operativsystemet.
  • herske : lar deg se og konfigurere rutingpolicyer og endre dem, dette brukes spesielt når du skal konfigurere flere rutetabeller.
  • rute : lar deg se og konfigurere rutetabellene, både for hovedrutetabellen og for de "sekundære" du konfigurerer.
  • tunnel : lar deg se IP-tunnelene og også konfigurere dem.
  • maddr - Se og konfigurer adresser med flere lenker.
  • mute - Vis og konfigurer multicast-rutetabellen.
  • mule - Vis og konfigurer retningslinjer for multicast-adresseruting.
  • overvåke : lar deg overvåke statusen til nettverkskortene kontinuerlig, også IP-adresser og ruter.
  • ntabell: administrerer nabobufferen (ARP)
  • tuntap : administrerer TUN / TAP-grensesnitt, orientert mot VPN-er som OpenVPN eller WireGuard.
  • madress : konfigurering av multicast-adresser
  • xfrm : administrerer IPsec-policyer.
  • netns : administrere nettverksrom
  • L2TP : L2TP-konfigurasjon
  • tcp_metrics : administrerer TCP-beregninger.
  • token: administrerer tokeniserte identifikatorer for grensesnittene.

Hvordan ip-rutekommandoen fungerer

Selv om “ip-rute” er innebygd i iproute2, har den flere spesifikke innstillinger. “Ip-rute” lar oss se og konfigurere rutesystemet til operativsystemet, men det vil også gi oss muligheten til å se og konfigurere alle rutetabellene vi lager i selve operativsystemet. Vi må huske at for hver oppføring i rutetabellen må vi ha nettverksadresse, maske og gateway, i tillegg kan vi også konfigurere ToS (type tjeneste). Linux-operativsystemet vil tillate oss å opprette totalt 253 rutetabeller, som standard angir operativsystemet rutene i hovedrutetabellen som har ID 254, og kjernen bruker bare denne tabellen til å beregne banene. Rutetabellen med ID 255 er den lokale adressetabellen og kringkastingsadressen. Denne tabellen vedlikeholdes av kjernen og bør ikke berøres av nettverksadministratorer.

Hvis vi vil legge til eller fjerne rutetabeller, må vi redigere filen «/ etc / iproute2 / rt_tables», i denne artikkelen viser vi deg senere hvordan du oppretter en andre rutetabell og konfigurerer den, siden vi må bruke av «ip-regel» og også «ip-rute».

"Ip" -kommandoer for å konfigurere IP-adressering

I denne artikkelen skal vi indikere hovedkommandoene vi kan bruke når vi ser på og konfigurerer IP-adressering, vi skal aldri bruke kommandoen “ifconfig”, men vi skal indikere “oversettelsen” slik at du kan sammenligne begge kommandoene .

Vis nettverksenheter og deres innstillinger

Med kommandoen “ifconfig” kunne vi se alle grensesnittene og IP-adresseringskonfigurasjonen i detalj.

ifconfig

Med ip-kommandoen har vi to like kommandoer, en av dem viser oss all informasjon på IP-adresseringsnivå (ip addr show), og den andre viser oss statusen til det fysiske grensesnittet (ip link show):

ip addr show ip link show

Aktiver et nettverksgrensesnitt

I dette tilfellet er kommandoene veldig like.

ifconfig ens33 up ip link set ens33 up

Deaktiver et nettverksgrensesnitt

Som du kan se er kommandoene nesten de samme, men det er nødvendig å bruke "ip link" siden vi refererer til nettverkskortet.

ifconfig ens33 down ip link set ens33 down

For å kjøre "ip link" -hjelpen og se alle kommandoene vi kan utføre, kan du ganske enkelt si:

ip link help

Konfigurer en IP-adresse på et grensesnitt

ifconfig ens33 192.168.1.1/24 ip addr add 192.168.1.1/24 dev ens33

Fjern en IP-adresse fra et grensesnitt.

Ifconfig tillater ikke dette direkte, men IP-adressen 0.0.0.0 må konfigureres

ifconfig ens33 0.0.0.0

Når det gjelder ip, er det like enkelt som å erstatte "add" for å konfigurere en IP, med "del" for å eliminere den (delete).

ip addr del 192.168.1.1 dev ens33

Legg til et virtuelt grensesnitt (alias)

I tilfelle ifconfig kan det gjøres slik:

ifconfig ens33:1 10.0.0.1/8

Når det gjelder ip, må vi bare sette vanlig IP, men med "label ens33: 1" eller hvilket som helst alias vi vil ha.

ip addr add 10.0.0.1/8 dev ens33 label ens33:redeszone

For å kjøre "ip addr" -hjelpen og se alle kommandoene vi kan utføre, kan du ganske enkelt si:

ip addr help

Vis oppføringene i ARP-tabellen

arp -n ip neigh show

Legg til en oppføring i ARP-tabellen

I tilfellet "ifconfig" gjøres det ikke med denne kommandoen, men med kommandoen "arp" som nå har forsvunnet:

arp -i eth0 -s 192.168.0.1 00:11:22:33:44:55

Når det gjelder iproute2, må vi bruke "neigh" -objektet, som du kan se:

ip neigh add 192.168.0.1 lladdr 00:11:22:33:44:55 nud permanent dev ens33

Fjern en ARP-oppføring

ifconfig -arp ens33 ip neigh del 192.168.0.1 lladdr 00:11:22:33:44:55 nud permanent dev ens33

For å kjøre “ip neigh” -hjelpen og se alle kommandoene vi kan utføre, kan du ganske enkelt si:

ip neigh help

Som du har sett er mulighetene til iproute2 med ip link, ip addr og ip neigh nesten uendelige, i tillegg er syntaksen veldig intuitiv, og ligner veldig på Cisco-rutere som er så kjent i en verden av nettverk.

Kommandoer “ip-rute” for å konfigurere ruter

Kommandoen “ip route” vil tillate oss å konfigurere hovedrutetabellen til operativsystemet, og også de ekstra rutetabellene som vi konfigurerer i operativsystemet. Deretter har du noen eksempler på bruk med bare ip-rutekommandoen, uten å bruke den gamle "ruten" som vi hadde med "ifconfig" -serien.

Legg til en rute i rutetabellen

ip route add 10.8.0.0/24 via 192.168.1.2

Slett en rute i rutetabellen

ip route del 10.8.0.0/24 via 192.168.1.2

Endre en rute i rutetabellen

ip route chg 10.8.0.0/24 via 192.168.1.3

Legg til standard gateway (gateway)

ip route add default via 192.168.1.1

Slett standard gateway (gateway)

ip route del default via 192.168.1.254

Vis status for hovedrutetabellen

ip route show ip route list

Som du kan se, er det veldig enkelt å legge til, slette og endre statiske ruter, akkurat som å definere en standard gateway i operativsystemet vårt.

Hvordan konfigurere flere rutetabeller i Linux

En av hovedegenskapene til iproute2 er at den lar oss lage flere rutetabeller, med sikte på å kunne ha flere gateways. Det første vi må gjøre er å redigere filen i "/ etc / iproute2 / rt_tables", hvis innhold er følgende

#
# reserved values
#
255 local
254 main
253 default
0 unspec
#
# local
#
#1 inr.ruhep

Som du kan se, har vi tre tabeller, lokale, hoved og standard. Alt vi trenger å gjøre er å legge til navnet på den nye rutetabellen, for eksempel "redesone" med en preferanseidentifikator 66.

#
# reserved values
#
255 local
254 main
253 default
0 unspec
#
# local
#
#1 inr.ruhep

66 redesone

Når vi har lagt den til, lagrer vi filen, og vi begynner å legge til ruter på vanlig måte.

Vi på datamaskinen vår har en privat IP-adresse 10.10.2.2, vi vil sette gatewayen til 10.10.2.1, og legge til en rute til 10.8.0.0/24 på ens37-grensesnittet.

ip route add 10.8.0.0/24 dev ens37 src 10.10.2.2 table redeszone

Vi må sette kommandoen "src" etterfulgt av IP-adressen til det virkelige fysiske grensesnittet, og deretter velge "tabellen" med "tabellen". Hvis vi vil slette denne ruten som vi har opprettet i rutetabellen «redeszone», må vi sette:

ip route del 10.8.0.0/24 dev ens37 src 10.10.2.2 table redeszone

Hvis vi vil legge til gatewayen til denne nye rutetabellen, må vi sette følgende:

ip route add default via 10.10.2.1 dev ens37 table redeszone

For at operativsystemet skal vite når du skal bruke denne nye rutetabellen som vi nettopp opprettet, må to regler konfigureres, den ene med innkommende trafikk og den andre med utgående trafikk som når et bestemt grensesnitt.

ip rule add from 10.10.2.2/32 table redeszone

ip regel legge til 10.10.2.2/32 tabellen redesone

Disse to reglene indikerer at trafikk fra IP-adresse 10.10.2.2 bruker rutetabellen “redeszone”, og trafikk til IP 10.10.2.2 bruker den også.

For å se status for rutetabellen vi nettopp opprettet, kjører vi:

ip route list table redeszone

Hvis vi vil se alle de tilføyde reglene, setter vi:

ip rule show

Gjør alle endringer i IP-er og ruter vedvarende

Hvis vi starter serveren på nytt, lagres ikke alle endringene vi har gjort i operativsystemet med kommandoen “ip” når vi starter serveren på nytt, derfor må vi gjøre disse endringene vedvarende. Avhengig av operativsystem gjøres det på en eller annen måte. I denne artikkelen har vi brukt den siste versjonen av Debian for å gjøre dette. Det første vi må gjøre er å redigere konfigurasjonsfilen i “/ etc / network / interfaces”, det er her vi kan plassere alle IP-adressene og rutene og reglene vi ønsker.

Et eksempel på konfigurasjonsfil vil være følgende, der vi har totalt tre fysiske grensesnitt, flere sekundære IP-adresser med aliaser, og også totalt tre rutetabeller. For hver rutetabell trenger vi en gateway og de tilsvarende reglene med “ip rule”:

auto eth0
allow-hotplug eth0
iface eth0 inet static
address 192.168.1.154
netmask 255.255.255.0
gateway 192.168.1.153

iface eth0 inet statisk
adresse 192.168.1.155
nettmaske 255.255.255.0

selv eth1
tillat-hotplug eth1
iface eth1 inet statisk
adresse 10.10.1.114
nettmaske 255.255.255.248
post-up ip rute legge til 10.10.1.112/29 dev eth1 src 10.10.1.114 tabell tabell2
post-up ip rute legge til standard via 10.10.1.113 dev eth1 tabell tabell2
post-up ip regel legge til fra 10.10.1.114/32 tabell tabell2
post-up ip regel legge til 10.10.1.114/32 tabell tabell2

iface eth1 inet statisk
adresse 10.10.1.115
nettmaske 255.255.255.248
post-up ip rute legge til 10.10.1.112/29 dev eth1 src 10.10.1.115 tabell tabell2
post-up ip regel legge til fra 10.10.1.115/32 tabell tabell2
post-up ip regel legge til 10.10.1.115/32 tabell tabell2

selv eth2
tillat-hotplug eth2
iface eth2 inet statisk
adresse 10.20.200.114
nettmaske 255.255.255.248
post-up ip rute legge til 10.20.200.112/29 dev eth2 src 10.20.200.114 tabell tabell3
post-up ip rute legge til standard via 10.20.200.113 dev eth2 tabell tabell3
post-up ip regel legge til fra 10.20.200.114/32 tabell tabell3
post-up ip regel legge til 10.20.200.114/32 tabell tabell3

iface eth2 inet statisk
adresse 10.20.200.115
nettmaske 255.255.255.248
post-up ip rute legge til 10.20.200.112/29 dev eth2 src 10.20.200.115 tabell tabell3
post-up ip regel legge til fra 10.20.200.115/32 tabell tabell3
post-up ip regel legge til 10.20.200.115/32 tabell tabell3

Takket være iproute2 kan vi lage veldig interessante avanserte konfigurasjoner. Hvis du har spørsmål, kan du legge igjen en kommentar, så hjelper vi deg med konfigurasjonen.