- 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.
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

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
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.
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.
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.).
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.
Passioneret forfatter om bytes-verdenen og teknologien generelt. Jeg elsker at dele min viden gennem skrivning, og det er det, jeg vil gøre i denne blog, vise dig alle de mest interessante ting om gadgets, software, hardware, teknologiske trends og mere. Mit mål er at hjælpe dig med at navigere i den digitale verden på en enkel og underholdende måde.
