Brug af kommandoerne ifconfig og route i Linux og deres erstatning iproute2

Sidste ændring: 14/01/2026
Forfatter: Isaac
  • ifconfig og route tilhører net-tools og giver dig mulighed for at konfigurere grænseflader, IP-adresser og ruter, men de betragtes som forældede i mange distributioner.
  • iproute2-pakken, med ip-kommandoen, forener og udvider disse funktioner og administrerer grænseflader, adresser, ruter, ARP, QoS, tunneler og flere routingtabeller.
  • iproute2 muliggør avanceret routing med IP-rute og IP-regel, hvilket tillader flere tabeller, load balancing mellem gateways og kilde- og destinationsbaserede politikker.
  • Overgangen til iproute2 giver mere kraft og fleksibilitet, selvom det kræver at lære en ny syntaks og tilpasse ældre scripts baseret på ifconfig og route.

 

De værste Linux-distributioner at undgå

Administrer netværksgrænseflader og IP-ruter korrekt Det er en af ​​de grundlæggende opgaver, som du bliver nødt til at påtage dig før eller siden, hvis du administrerer systemer. LinuxI mange år, den kommandoer Classic ifconfig y route De har været den perfekte værktøjskasse til at konfigurere IP'er, oprette kort eller definere gatewayen.

I dag dog, Det gamle sæt af netværktøjer betragtes som forældede. i mange moderne distributioner, som har erstattet den med pakken iproute2 og dens stjernekommando ipAlligevel på ældre servere, undervisningsmaterialer, ældre scripts eller kurser af hacking y cybersikkerhed, du bliver ved med at finde ifconfig y route overalt, så man forstår, hvordan de fungerer (og hvordan de oversættes til ip) er grundlæggende.

Fra ifconfig og route til iproute2 suite

Overgang fra ifconfig og route til iproute2

kommandoer ifconfig y rute De er en del af den historiske pakke net-værktøjer, arvet fra verden UnixDe er blevet konfigureret netværksgrænseflader, IP-adresser, masker, gateways og statiske ruter i årtier, sammen med andre forsyningsvirksomheder som f.eks. arp, netstat, iptunnel, mii-tool o rarp.

med El tiempoNetværksbehov i Linux er blevet mere komplekse: IPv6, QoS, load balancing, flere routingtabeller, tunneler, VLAN'er VPN, netværksnavnerumDen gamle net-tools-pakke kom til kort og var praktisk talt fastfrosset i funktionalitet.

For at dække alt dette dukkede op iproute2, en samling af moderne værktøjer, hvor omdrejningspunktet er kommandoen ipMed denne ene binære fil kan du udføre opgaver, der tidligere krævede kombination. ifconfig, rute, arp, netstat, iptunnel og virksomhed, plus mange avancerede funktioner som net-tools aldrig havde drømt om at understøtte.

I praksis, iproute2 erstatter net-tools fuldstændigtDerfor markerer distributioner som Debian, nyere Ubuntu-versioner og mange systemd-baserede distributioner net-tools som "forældet" og installerer det ikke længere som standard. Alligevel, ifconfig og route findes stadig i mange miljøer, især formative eller ældre fag, så det er tilrådeligt at mestre begge verdener.

ifconfig-kommando: grundlæggende grænsefladekonfiguration

Brug af ifconfig-kommandoen i Linux

Kommandoen ifconfig (interfacekonfigurator) har traditionelt været brugt til at Vis og rediger netværksgrænsefladeindstillingerDet giver dig mulighed for at initialisere et kort, tildele det en IP-adresse, aktivere eller deaktivere det, ændre parametre som MTU eller promiskuøs tilstand osv.

Den generelle syntaks for ifconfig Det er meget simpelt: ifconfig [opciones] [interfaz] at vise information, og ifconfig interfaz [configuración] [up|down] når vi vil ændre parametre eller hæve/sænke kortet.

Hvis du kører det uden argumenter, `ifconfig` viser alle aktive grænseflader med dens IP, maske, udsendelse, adresse MACMTU og trafikstatistik:

/sbin/ifconfig

til Se også inaktive grænseflader (for eksempel et kort, der findes, men er deaktiveret), tilføjes muligheden -asom oplister absolut alt:

ifconfig -a

Når du vil fokusere på en enkelt, konkret grænsefladeAngiv blot navnet. For eksempel for at se detaljer om den primære Ethernet-forbindelse:

ifconfig eth0

På mange moderne maskiner er navnet ikke længere eth0men noget i retning af ens33, enp0s3 eller lignendeMen ideen er den samme: hviskonfiguration Den giver dig dens IP, dens MAC, status (UP, RUNNINGosv.), subnetmasken og andre nyttige oplysninger.

Almindelige operationer med ifconfig

En af de hyppigste opgaver med netværktøjer er aktivere eller deaktivere en netværksgrænseflade. Med ifconfig Det gøres sådan her:

# Levantar (activar) la interfaz
ifconfig ens33 up

# Bajar (desactivar) la interfaz
ifconfig ens33 down

En anden klassisk operation er tildel en IPv4-adresse og dens undernetmaske. Med ifconfig IP-adressen angives, efterfulgt af masken (og eventuelt udsendelse):

# Asignar IP y máscara
ifconfig eth0 193.144.84.77 netmask 255.255.255.0 broadcast 193.144.84.255 up

Kommandoen tillader også juster MTU (maksimal transmissionsenhed)Det vil sige den maksimale størrelse af datagrammet i bytes, der kan cirkulere gennem den pågældende grænseflade:

# Cambiar la MTU a 500 bytes
ifconfig eth0 mtu 500

Derudover ifconfig kan ændre grænsefladen "flags", såsom at aktivere promiskuøs tilstand for at opfange al trafik, deaktivere ARP eller endda ændre MAC-adressen, hvis enheden understøtter det:

# Activar modo promiscuo
ifconfig eth0 promisc

# Desactivar ARP
ifconfig eth0 -arp

# Cambiar la dirección hardware (MAC)
ifconfig eth0 hw ether 52:54:00:12:34:56

Angående IPv6, ifconfig kan også vise og håndtere version 6-protokoladresserOg i sagens natur tillader IPv6 flere adresser på den samme grænseflade uden behov for Tricks af aliasser, noget som net-tools understøtter perfekt.

IP-aliasser og andre relaterede værktøjer

Et klassisk træk i gamle omgivelser er IP-aliasingsom tillader tildeling flere IPv4-adresser til det samme kort ved hjælp af identifikatorer af typen dispositivo:número:

# Primera IP en la interfaz
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 up
route add -net 192.168.1.0 netmask 255.255.255.0 eth0

# Alias con otra red en la misma tarjeta
ifconfig eth0:0 192.168.10.1 netmask 255.255.255.0 up
route add -net 192.168.10.0 netmask 255.255.255.0 eth0:0

Sammen med ifconfig inkluderer net-tools-økosystemet andre værktøjer til niveau 2- og 3-operationer, såsom ifup/ifdown for at aktivere eller deaktivere grænseflader ved hjælp af distributionens konfigurationsfiler, eller iwconfig til WiFi-netværk:

# Desactivar una interfaz según configuración del sistema
ifdown eth0

# Configurar parámetros WiFi
iwconfig eth1 essid "Mi Red"

I moderne miljøer er alt dette blevet erstattet af højere niveauer af værktøjer som f.eks. NetworkManager, Wicked, netplan, ConnMan eller WicdMange af dem har en grafisk brugerflade og er designet til brugere, der er mindre vant til terminal.

  Amazon Prime Video virker ikke. Årsager, løsninger, alternativer

rutekommando: klassisk routingtabelstyring

Den anden søjle i net-tools er kommandoen rute, ansvarlig for vise og manipulere kernens IPv4-routingtabelMed den kan du liste ruter, tilføje eller fjerne statiske ruter og definere standardgatewayen.

For at se routingtabellen i et læsbart format er den sædvanlige praksis at bruge route -n, som viser uløste numeriske værtsnavnadresser (meget nyttigt i netværksadministration):

/sbin/route -n -ee

Flagene i hver række angiver rutetypen: U (aktiv grænseflade), H (værtsdestination), G (brug gatewayen), D (dynamisk oprettet), M (dynamisk modificeret), R (rehabiliteret) eller ! (rute afvist).

til tilføj eller slet statiske ruter, ruten bruger syntaksen:

route [add|del] [default] [-net|-host] target \
      [netmask Nm] [gw Gw] [opciones] [[dev] If]

For eksempel for nå netværket 192.168.0.0/24 igennem eth1:

route add -net 192.168.0.0 netmask 255.255.255.0 dev eth1

Og for at definere standard gateway (hvorigennem alt, der ikke går til kendte netværk, vil forlades), gøres det således:

route add default gw 10.0.2.2

Hvis du ønsker, at et fjernnetværk skal være tilgængeligt ved hjælp af en mellemliggende gangstiDu definerer det også med `route`. For eksempel netværket 172.16.0.0/24 gennem værten 192.168.0.1:

route add -net 172.16.0.0 netmask 255.255.255.0 gw 192.168.0.1

For at dette sidste stykke udstyr rent faktisk kan dirigere trafik mellem grænseflader, er det nødvendigt aktiver IP-videresendelse i kernen:

echo 1 > /proc/sys/net/ipv4/ip_forward

Klassiske netværksdiagnosticeringsværktøjer

Udover ifconfig og route, leverer net-tools-pakken og tilhørende værktøjer almindeligt anvendte diagnostiske kommandoer som fortsat er gældende, såsom netstat, arp, ping, traceroute eller mii-tool.

Kommandoen netstat tillade Se aktive forbindelser, routingtabeller, grænsefladestatistik og brug efter protokol. For eksempel netstat -i tilbyder en opsummering svarende til ifconfig -s, Og netstat -r viser routingtabellen (svarende til route med muligheder).

Kommandoen arp manipuler systemets ARP-cache: Viser poster, sletter eller tilføjer statiske posterEn typisk liste ville være:

arp
arp -a hostname
arp -i eth0
arp -d hostname
arp -s hostname hw_addr

For at kontrollere IP-niveau-forbindelse, ping sender ICMP-pakker ECHO_REQUEST og måler tur-retur-tiden. Det er vigtigt at huske på, at Mange firewalls blokerer ICMPSå fraværet af et svar betyder ikke altid, at værten er nede.

Når du vil se, hvor en pakke "rejser hen", indtil den når sin destination, vises det traceroutesom er afhængig af TTL-feltet i IP-headeren og ICMP-svar af typen TIME_EXCEEDED. Der findes varianter som f.eks. tcptraceroute eller traceproto, som bruger andre protokoller til at omgå visse restriktioner.

Endelig, for detaljer om det fysiske lag og linkforhandling, mii-værktøj o ethool De giver dig mulighed for at se og justere hastighed, duplextilstand og andre elektriske parametre for Ethernet-grænsefladen.

Springet til iproute2: ip-kommando og grundlæggende objekter

Alt ovenstående eksisterer stadig, men i moderne systemer anbefales det at bruge iproute2Dens hovedkommando, ip, tilbyder en sammenhængende syntaks baseret på objekt + handling:

ip [OPCIONES] OBJETO COMANDO [parámetros]

De mest almindelige genstande er link, adresse (addr), rute, regel, nabo (neigh), tunnel, maddr, mroute, monitor, ntable, tuntap, xfrm, netns, l2tp, tcp_metrics, tokenblandt andre. Hver enkelt fokuserer på et specifikt aspekt af netværksstakken.

  • link: administrerer fysiske eller logiske grænseflader (tilstand, MTU, flag, MAC).
  • adresse / adressehåndterer IPv4- og IPv6-adresser tilknyttet grænseflader.
  • rute: opretter, sletter og viser ruter i routingtabeller.
  • naboviser og manipulerer ARP-tabellen (eller IPv6-nabolaget).
  • regeredefinerer routingpolitikker for flere tabeller.

Desuden kommandoen ip Den indeholder meget nyttige globale muligheder: -4 y -6 at filtrere efter adressefamilie, -s til statistik, -br for forkortet tabeloutput, -o for en enkelt linje (ideel til grep o wc), -c at farve udgangen eller -f at vælge protokolfamilien (inet, inet6, bridge, mpls osv.).

Grundlæggende ækvivalenser: ifconfig vs. ip

Hvor det tidligere blev brugt ifconfig For at se grænsefladerne og deres IP-konfiguration anbefales nu to iproute2-kommandoer:

# Ver direcciones IP y configuración
ip addr show

# Ver información de capa 2 (MAC, MTU, flags)
ip link show

til hæv eller sænk en grænsefladeDet tilsvarende ville være:

# ifconfig ens33 up
ip link set ens33 up

# ifconfig ens33 down
ip link set ens33 down

Tildel en IP-adresse til en grænseflade Den har også sin "oversættelse". Hvor du plejede at gøre:

ifconfig ens33 192.168.1.1/24

Med iproute2 gøres det sådan her, hvor enheden også specificeres:

ip addr add 192.168.1.1/24 dev ens33

til slet en specifik IP-adresse (noget som ifconfig ikke direkte understøtter og tvinger dig til at bruge 0.0.0.0), med ip er det lige så intuitivt som at ændre add af del:

ip addr del 192.168.1.1/24 dev ens33

Og hvis du har brug for det opret en virtuel grænseflade eller et aliasI ifconfig ville du gøre det med ens33:1, mens i ip muligheden spilles label at mærke den adresse:

# Alias con etiqueta personalizada
ip addr add 10.0.0.1/8 dev ens33 label ens33:redes

IP-adresse og ARP-tabellen med iproute2

ARP-styring (eller nabostyring i IPv6) er også integreret i iproute2 via objektet naboFor at vise naboernes tabel (svarende til arp -n):

ip neigh show

Hvis du vil tilføj manuelt en permanent ARP-post, du angiver IP, MAC (lladdr), angiv type og enhed:

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

til slette en post, igen tyr de til del:

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

Som med alle andre ting kan du altid Se detaljeret hjælp med:

ip neigh help

ip route: moderne erstatning for route-kommandoen

Objektet rute iproute2 er ansvarlig for administrere routingtabellerBåde hoved- og sekundærmissionerne. Deres mission er analog med den gamle kommandoenheds. routemen med meget mere kraft og fleksibilitet.

  Opdag, hvordan du fjerner blokeringen af ​​et WiFi-netværk i 5 enkle trin

til Se den primære routingtabelFølgende bruges:

ip route show
# o
ip route list

Hvis du vil tilføj en statisk rute For at oprette forbindelse til et bestemt netværk skal du angive præfikset og gatewayen (eller grænsefladen):

# Añadir ruta a 10.8.0.0/24 vía 192.168.1.2
ip route add 10.8.0.0/24 via 192.168.1.2

til slet den sti, ganske enkelt:

ip route del 10.8.0.0/24 via 192.168.1.2

Du kan også ændre gatewayen på en eksisterende rute hjælp chg (o change):

ip route chg 10.8.0.0/24 via 192.168.1.3

La standardgateway Den er defineret med en standardrute:

# Añadir gateway predeterminado
ip route add default via 192.168.1.1

# Borrarlo usando otra IP de gateway
ip route del default via 192.168.1.254

Flere routingtabeller og politikker med IP-regel

En af de store fordele ved iproute2 er evnen til at arbejde med flere routingtabeller samtidigtDette er umuligt med net-tools. Linux-kernen tillader op til 253 forskellige tabeller, udover hovedtabellen (ID 254) og den lokale tabel (ID 255, beregnet til lokale og broadcast-adresser, som du ikke bør røre).

Tabellerne er defineret i filen /etc/iproute2/rt_tableshvor du vil se noget i retning af dette:

# reserved values
255 local
254 main
253 default
0   unspec

For at tilføje en ny tabel skal du blot tildele den et nummer og et navn. For eksempel, for at oprette tabellen redeszone Med ID 66 tilføjes en linje:

66 redeszone

Derfra kan du tilføj specifikke ruter til den tabelForestil dig, at din enhed har IP-adressen 10.10.2.2 på grænsefladen ens37og du vil have, at tabellen skal dirigere trafik til 10.8.0.0/24 ved hjælp af den grænseflade:

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

til slet den sti I den sekundære tabel angiver du de samme parametre med del:

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

Og hvis du har brug for at definere en standardgateway i den tabel, gøres det sådan:

ip route add default via 10.10.2.1 dev ens37 table redeszone

Så kernen ved det hvornår skal man bruge den tabel i stedet for hovedtabellenRoutingregler tilføjes ved hjælp af IP-regelEt typisk eksempel: at al trafikken fra y til 10.10.2.2 Brug tabellen redeszone:

ip rule add from 10.10.2.2/32 table redeszone
ip rule add to   10.10.2.2/32 table redeszone

El tilstanden af ​​den tabel Du kan tjekke med:

ip route list table redeszone

Og et sæt aktive regler Det ses med:

ip rule show

QoS, load balancing, IP-tunneler og mere med iproute2

Ud over blot at erstatte ifconfig og route, tilbyder iproute2 en række avancerede funktioner, der gør det til en komplet platform til netværksstyring på Linux. Nogle af de mest interessante er trafikkontrol og QoS, load balancing på tværs af grænseflader, oprettelse af IP-tunneler og administration af flere gateways.

Brug af værktøjet tc (trafikstyring), inkluderet i iproute2, er mulig implementere QoS (Quality of Service)ved at klassificere pakker i køer, tildele prioriteter, begrænse båndbredden for bestemte strømme eller garantere ressourcer til kritisk trafik (tale, virksomhedsapplikationer osv.).

  Sådan finder og konfigurerer du din routers brugernavn og adgangskode

Selve kommandoen ip tillade Opret IP-tunneller, der indkapsler IPv4-pakker over eksisterende IP-infrastruktur, en teknik, der er meget udbredt i VPN'er, sammenkobling af websteder eller implementering af virtuelle netværk.

Med hensyn til belastningsafbalancering, iproute2 kan tildele vægte til forskellige grænseflader og distribuere udgående trafik efter forskellige kriterier (kilde-IP, destinations-IP, porte osv.). Dette passer rigtig godt til software-router-scenarier, hvor Linux-serveren selv fungerer som en load balancer på tværs af flere links.

Desuden er det muligt at designe ved at kombinere flere routingtabeller og IP-regelkonfigurationer avancerede routing-scenarier hvor trafik, der ankommer gennem en grænseflade, nødvendigvis skal forlades gennem den samme grænseflade eller gennem forskellige ruter afhængigt af oprindelse, trafiktype eller destinationsnetværk.

Persistens af IP'er, ruter og regler efter genstart

Et centralt aspekt, når man arbejder med ip er, at Alt, hvad du konfigurerer fra kommandolinjen, er volatiltNår maskinen genstarter, forsvinder ændringer af IP-adresser, ruter og regler. Derfor er dette vigtigt på live-servere. kopier disse indstillinger til systemfilerne.

I Debian og derivater, der bruger det klassiske system af / etc / network / interfacesIP-adresserne og de statiske ruter deklareres i den fil, eventuelt ved hjælp af direktiver. post-up at starte kommandoer ip yderligere når grænsefladen løftes.

Un meget komplet eksempel Den blander adskillige grænseflader, sekundære adresser og adskillige routingtabeller. For én grænseflade eth1 med IP 10.10.1.114/29 og tabel tabla2Det kunne se nogenlunde sådan ud:

auto eth1
allow-hotplug eth1
iface eth1 inet static
    address 10.10.1.114
    netmask 255.255.255.248
    post-up ip route add 10.10.1.112/29 dev eth1 src 10.10.1.114 table tabla2
    post-up ip route add default via 10.10.1.113 dev eth1 table tabla2
    post-up ip rule add from 10.10.1.114/32 table tabla2
    post-up ip rule add to   10.10.1.114/32 table tabla2

Andre grænseflader på den samme vært kan gentage skemaet med forskellige tabeller (f.eks. tabla3) for at opnå flere internetadgangspunkter eller logisk segmentering ved hjælp af en enkelt Linux-server som router fremskreden.

I distributioner, der bruger NetworkManager, netplan, systemd-networkd eller tilsvarende værktøjerFilosofien er den samme: adresser, ruter, regler og parametre skal indtastes i deres tilsvarende konfigurationsfiler, så systemet automatisk kan anvende dem i hver enkelt instans. støvle.

Fordele og ulemper ved iproute2 versus net-tools

Fortsættelsen iproute2 giver en klar samlet og moderne tilgang til netværksadministration i Linux. I stedet for at sprede funktioner blandt ifconfig, route, arp, netstat og andre, koncentrerer alt i en sammenhængende samling med homogen syntaks og indbygget understøttelse af IPv4 og IPv6.

Tilstedeværelsen af ​​en enkelt central kommando (ip) der dækker grænsefladekonfiguration, adresser, ruter, tunneler, QoS, multicast, IPsec-politikker, netværksnavnerum Derudover letter det både specifikke opgaver og automatiseret scripting.

Derudover inkorporerer iproute2 avancerede routingfunktioner som ikke findes i net-tools: flere tabeller, politikbaseret routing med ip ruleLoad balancing mellem gateways, integration med indkapslingsmekanismer, båndbreddestyring osv. Dette gør Linux til en højtydende router uden behov for specifik hardware.

Som en ekstra bonus tillader iproute2 midlertidig testkonfigurationer fra kommandolinjen, og kun når de virker, flyt dem til persistente filer, hvilket reducerer risikoen for at lade din server være utilgængelig på grund af en forglemmelse.

På den mindre behagelige side er den største ulempe ændring af tankegang og læringskurvenEnhver, der har brugt det i årevis ifconfig y route Den bruger en anden syntaks og mange flere koncepter (tabeller, regler, objekter osv.). Dette kræver investering af tid i træning.

Der er også et problem med bagudkompatibilitet med ældre scriptsMange automatiserede processer skrevet med net-tools holder op med at virke, hvis ifconfig eller route forsvinder på et system, hvilket tvinger koden til at blive migreret til iproute2.

Endelig er realiteten stadig den, at Alt foregår via terminalen.For dem, der udelukkende kommer fra grafiske miljøer, kan dette virke skræmmende i starten, selvom den opnåede kraft mere end opvejer indsatsen, hvis du arbejder professionelt med netværk.

At mestre begge dele ifconfig og route som det komplette iproute2-økosystem Det sætter dig i en meget komfortabel position til at bevæge dig mellem ældre servere, klassisk dokumentation, moderne distributioner, akademiske øvelser og selvfølgelig hacking- og cybersikkerhedsmiljøer, hvor en grundig forståelse af, hvordan man konfigurerer grænseflader, routingtabeller, ARP, QoS, tunneler og flere gateways, er en klar konkurrencefordel.