ifconfig vs ip: Hvad er forskel og sammenligning af netværkskonfiguration


Linux-baserede distributioner har præsenteret sæt kommandoer, der giver mulighed for at konfigurere netværk på en nem og effektiv måde gennem kommandolinjen. Disse kommandosæt er tilgængelige fra net-tools-pakken, som har været der i lang tid på næsten alle distributioner og inkluderer kommandoer som: ifconfig, route, nameif, iwconfig, iptunnel, netstat, arp.

Disse kommandoer er næsten tilstrækkelige til at konfigurere netværket på en måde, som en nybegynder eller en ekspert Linux-bruger ønsker, men på grund af fremskridt i Linux-kernen gennem de seneste år og uvedligeholdelig af dette pakkede sæt kommandoer bliver de forældede og en mere kraftfuld et alternativ, der har evnen til at erstatte alle disse kommandoer, dukker op.

Dette alternativ har også været der i nogen tid nu og er meget stærkere end nogen af disse kommandoer. Resten af sektioner vil fremhæve dette alternativ og sammenligne det med en af kommandoen fra net-tools-pakken, dvs. ifconfig.

ip - En erstatning for ifconfig

ifconfig har været der i lang tid og bruges stadig til at konfigurere, vise og kontrollere netværksgrænseflader af mange, men der findes nu et nyt alternativ på Linux-distributioner, som er meget kraftigere end det. Dette alternativ er ip kommando fra iproute2util-pakke.

Selvom denne kommando måske virker lidt kompleks på det første sted, men den er meget bredere i funktionalitet end ifconfig. Det er funktionelt organiseret i to lag af Networking Stack, dvs. Layer 2 (Link Layer), Layer 3 (IP Layer) og udfører arbejdet med alle de ovennævnte kommandoer fra net-tools-pakken.

Mens ifconfig for det meste viser eller ændrer grænsefladerne til et system, er denne kommando i stand til at udføre følgende opgaver:

  1. Visning eller ændring af interfaceegenskaber.
  2. Tilføjelse, fjernelse af ARP-cache-poster sammen med oprettelse af ny statisk ARP-post for en vært.
  3. Viser MAC-adresser, der er knyttet til alle grænseflader.
  4. Visning og ændring af kerne-routingtabeller.

Et af hovedhøjdepunkterne, der adskiller det fra dets gamle modstykke ifconfig, er, at sidstnævnte bruger ioctl til netværkskonfiguration, hvilket er en mindre værdsat måde at interagere med kerne på, mens tidligere udnytter netlink-sokkelmekanismen til det samme, som er en meget mere fleksibel efterfølger af ioctl til interkommunikation mellem kerne og brugerplads ved hjælp af rtnetlink (som tilføjer kapacitet til manipulation af netværksmiljø).

Vi kan nu begynde at fremhæve funktionerne i ifconfig og hvordan de effektivt erstattes af ip-kommandoen.

ip vs ifconfig-kommandoer

I det følgende afsnit fremhæves nogle af ifconfig-kommandoer og deres udskiftning ved hjælp af ip-kommandoer:

Her er en skelneegenskab mellem ip og ifconfig, at mens ifconfig kun viser aktiverede grænseflader, viser ip alle grænseflader, om de er aktiveret eller deaktiveret.

$ ifconfig
$ ip a

Nedenstående kommando tildeler IP-adressen 192.168.80.174 til grænsefladen eth0 .

# ifconfig eth0 add 192.168.80.174

Syntaks til tilføjelse/fjernelse af en grænseflade ved hjælp af ifconfig-kommandoen:

# ifconfig eth0 add 192.168.80.174
# ifconfig eth0 del 192.168.80.174
# ip a add 192.168.80.174 dev eth0

Syntaks til tilføjelse/fjernelse af en grænseflade ved hjælp af ip-kommandoen:

# ip a add 192.168.80.174 dev eth0
# ip a del 192.168.80.174 dev eth0

Nedenstående kommando indstiller hardware-adressen til grænsefladen eth0 til den værdi, der er angivet i kommandoen. Dette kan bekræftes ved at kontrollere værdien HWaddr i output fra ifconfig-kommandoen.

Her er syntaksen for tilføjelse af MAC-adresse ved hjælp af ifconfig-kommandoen:

# ifconfig eth0 hw ether 00:0c:29:33:4e:aa

Her er syntaksen for tilføjelse af MAC-adresse ved hjælp af ip-kommandoen:

# ip link set dev eth0 address 00:0c:29:33:4e:aa

Bortset fra at indstille IP-adresse eller hardware-adresse inkluderer andre konfigurationer, der kan anvendes på en grænseflade:

  1. MTU (maksimal overførselsenhed)
  2. Multicast-flag
  3. Send kølængde
  4. Promiskuøs tilstand
  5. Aktivér eller deaktiver al multicast-tilstand

# ifconfig eth0 mtu 2000
# ip link set dev eth0 mtu 2000
# ifconfig eth0 multicast
# ip link set dev eth0 multicast on
# ifconfig eth0 txqueuelen 1200
# ip link set dev eth0 txqueuelen 1200
# ifconfig eth0 promisc
# ip link set dev eth0 promisc on
# ifconfig eth0 allmulti
# ip link set dev eth0 allmulti on

Nedenstående kommandoer aktiverer eller deaktiver specifik netværksgrænseflade.

Nedenstående kommando deaktiverer grænsefladen eth0 , og den bekræftes af output fra ifconfig, som som standard kun viser de grænseflader, der er op.

# ifconfig eth0 down

For at genaktivere grænsefladen skal du bare erstatte ned med op.

# ifconfig eth0 up

Nedenstående ip-kommando er alternativ for ifconfig til at deaktivere en bestemt grænseflade. Dette kan verificeres ved hjælp af output fra ip a kommando, der som standard viser alle grænseflader, enten op eller ned, men fremhæver deres status sammen med beskrivelsen.

# ip link set eth0 down

For at genaktivere grænsefladen skal du bare erstatte ned med op.

# ip link set eth0 up

Nedenstående kommandoer aktiverer eller deaktiverer ARP-protokol på den specifikke netværksgrænseflade.

Kommandoen gør det muligt at bruge ARP-protokol med interface eth0. For at deaktivere denne indstilling skal du bare erstatte arp med -arp .

# ifconfig eth0 arp

Denne kommando er ip-alternativet til at aktivere ARP til grænsefladen eth0. For at deaktivere skal du bare skifte til med fra.

# ip link set dev eth0 arp on

Konklusion

Således har vi fremhævet funktioner i ifconfig-kommandoen, og hvordan de kan gøres ved hjælp af ip-kommandoen. I øjeblikket giver Linux-distributioner en bruger begge kommandoer, så han kan bruge i henhold til sin bekvemmelighed. Så hvilken kommando er passende efter dig, som du foretrækker at bruge? Nævn dette i dine kommentarer.

Hvis du vil lære mere om disse to kommandoer, skal du gennemgå vores tidligere artikler, der viser nogle praktiske eksempler på ifconfig og ip-kommando på en mere detaljeret måde.