Linux-gebaseerde distributies hebben een set commando’s waarmee netwerken op een eenvoudige en krachtige manier geconfigureerd kunnen worden via de commandoregel. Deze set commando’s is beschikbaar in het net-tools-pakket, dat al lange tijd op bijna alle distributies aanwezig is, en omvat commando’s zoals: ifconfig, route, nameif, iwconfig, iptunnel, netstat, arp.

Deze commando’s zijn voldoende om het netwerk te configureren zoals elke beginnende of ervaren Linux-gebruiker zou willen, maar door de vooruitgang in de Linux-kernel in de afgelopen jaren en het gebrek aan onderhoud van deze set commando’s worden ze afgeschaft en komt er een krachtiger alternatief naar voren.
Dit alternatief is ook al geruime tijd beschikbaar en is veel krachtiger dan een van deze commando’s. De rest van de secties zal dit alternatief belichten en vergelijken met een van de commando’s uit het net-tools pakket, namelijk ifconfig.
ip – Een vervanging voor ifconfig
Ifconfig is al lange tijd beschikbaar en wordt nog steeds gebruikt om netwerkinterfaces te configureren, weergeven en beheren door velen, maar er bestaat nu een nieuwe, krachtigere alternatief op Linux-distributies. Dit alternatief is het ip
-commando uit het iproute2util-pakket.
Hoewel deze opdracht misschien aanvankelijk een beetje complex aanvoelt, biedt ze een veel bredere functionaliteit dan de ifconfig. Ze is functioneel georganiseerd over twee lagen van de Netwerk Stack, namelijk de Laag 2 (Link Laag) en de Laag 3 (IP Laag), en vervult de taken van alle bovenvermelde commando’s uit het net-tools pakket.
While de ifconfig voornamelijk de interfaceën van een systeem weergeeft of wijzigt, kan deze opdracht de volgende taken uitvoeren:
- Weergeven of wijzigen van interfaceeigenschappen.
- Toevoegen, verwijderen van ARP-cache-entries en het maken van een nieuwe statische ARP-entry voor een host.
- Weergeven van MAC-adressen die aan alle interfaces zijn gekoppeld.
- Weergeven en wijzigen van kernelroute tabellen.
Een van de belangrijkste kenmerken dat het onderscheidt van zijn oude broer ifconfig is dat de laatste ioctl gebruikt voor netwerkconfiguratie, wat een minder goed wordende manier van interactie met de kernel is, terwijl de eerste de voorkeur geeft aan de netlink socket mechanisme voor hetzelfde, wat een veel flexibeler opvolger is van ioctl voor de intercommunicatie tussen kernel en gebruikersruimte met behulp van rtnetlink (waardoor de manipulatiescapabeliteit van het netwerkenvironment wordt toegevoegd).
We kunnen nu beginnen met de functionaliteiten van ifconfig te benadrukken en hoe deze effectief zijn opgevolgd door de ip opdracht.
ip vs ifconfig Commands
In het volgende gedeelte worden enkele van de ifconfig commando’s en hun vervangingen met behulp van ip commando’s beschreven:
1. alle Netwerkinterfaces in Linux weergeven
Hier, een onderscheidende eigenschap tussen ip en ifconfig is dat whereas ifconfig alleen geactiveerde interfaces weergeeft, ip alle interfaces, geactiveerd of niet, weergeeft.
ifconfig Commando
$ ifconfig

ip Commando
$ ip a

2. Een of meer IP-adressen toevoegen of verwijderen in Linux
Het volgende commando toewijst de IP-adres 192.168.80.174 aan de interface eth0
.
ifconfig – Toevoegen/Verwijderen van IP-adres
# ifconfig eth0 add 192.168.80.174
Syntaxis voor toevoegen/verwijderen van een interface met behulp van het ifconfig-commando:
# ifconfig eth0 add 192.168.80.174 # ifconfig eth0 del 192.168.80.174
ip – Toevoegen/Verwijderen van IP-adres
# ip a add 192.168.80.174 dev eth0
Syntaxis voor toevoegen/verwijderen van een interface met behulp van het ip-commando:
# ip a add 192.168.80.174 dev eth0 # ip a del 192.168.80.174 dev eth0
4. MAC-hardwareadres aan netwerkinterface toevoegen
Het volgende commando stelt het hardwareadres in voor de interface eth0
tot de waarde die in het commando is opgegeven. Dit kan worden bevestigd door het controleren van de HWaddr
waarde in de uitvoer van het ifconfig-commando.
ifconfig – MAC-adres toevoegen
Hier, de syntaxis voor het toevoegen van een MAC-adres met behulp van het ifconfig-commando:
# ifconfig eth0 hw ether 00:0c:29:33:4e:aa
ip – MAC-adres toevoegen
Hier, de syntaxis voor het toevoegen van een MAC-adres met behulp van het ip-commando:
# ip link set dev eth0 address 00:0c:29:33:4e:aa
4. Andere configuraties van netwerkinterface instellen
Naast het instellen van IP-adres of hardwareadres kunnen aan een interface andere configuraties worden toegepast, inclusief:
- MTU (Maximum Transfer Unit)
- Multicastvlag
- Verzendkolomlengte
- Promiscue modus
- Inschakelen of uitschakelen van alle multicastmodus
ifconfig – Andere netwerkconfiguraties
ip – Andere netwerkconfiguraties
a. Set MTU value to 2000.
# ifconfig eth0 mtu 2000
# ip link set dev eth0 mtu 2000
b. Enable or Disable multicast flag.
# ifconfig eth0 multicast
# ip link set dev eth0 multicast on
c. Setting the transmit queue length.
# ifconfig eth0 txqueuelen 1200
# ip link set dev eth0 txqueuelen 1200
d. Enabling or disabling promiscuous mode.
# ifconfig eth0 promisc
# ip link set dev eth0 promisc on
e. Enable or disable all multicast mode.
# ifconfig eth0 allmulti
# ip link set dev eth0 allmulti on
5. Inschakelen of uitschakelen van netwerkinterface
De onderstaande opdrachten schakelen een specifieke netwerkinterface in of uit.
ifconfig – Netwerkinterface uitschakelen/inschakelen
De onderstaande opdracht schakelt de interface eth0
uit en dit wordt bevestigd door de uitvoer van ifconfig, die standaard alleen interfaces weergeeft die actief zijn.
# ifconfig eth0 down
Om de interface opnieuw in te schakelen, vervang je down door up.
# ifconfig eth0 up
ip – Netwerkinterface uitschakelen/inschakelen
De onderstaande ip opdracht is een alternatief voor ifconfig om een specifieke interface uit te schakelen. Dit kan worden bevestigd door de uitvoer van de 'ip a'
opdracht, die standaard alle interfaces weergeeft, of ze nu actief of inactief zijn, maar hun status samen met de omschrijving benadrukt.
# ip link set eth0 down
Om de interface opnieuw in te schakelen, vervang je down door up.
# ip link set eth0 up
6. Inschakelen of uitschakelen van het gebruik van het ARP-protocol
De onderstaande opdrachten schakelen het ARP-protocol op een specifieke netwerkinterface in of uit.
ifconfig – ARP-protocol inschakelen/uitschakelen
De opdracht schakelt het ARP-protocol in voor gebruik met interface eth0. Om deze optie uit te schakelen, vervang je arp gewoon door -arp
.
# ifconfig eth0 arp
ip – ARP-protocol inschakelen/uitschakelen
Deze opdracht is de ip-alternatief om ARP in te schakelen voor het netwerkinterface eth0. Als je dit wilt uitschakelen, vervang dan gewoon aan door uit.
# ip link set dev eth0 arp on
Conclusie
Zo hebben we de functies van de ifconfig opdracht en hoe ze kunnen worden gedaan met behulp van de ip opdracht in de schijnwerper gezet. Momenteel bieden Linux-distributies de gebruiker beide opdrachten aan, zodat hij of zij kan kiezen volgens zijn of haar gemak. Dus, welke opdracht vind je handig en welke zou je liever gebruiken? Geef dit dan aan in je reacties.
Als je meer wilt leren over deze twee opdrachten, moet je onze eerdere artikelen doornemen die praktische voorbeelden van de ifconfig en ip opdracht geven op een meer gedetailleerde manier.
Moge niet missen: 15 “ifconfig” voorbeelden om het netwerkinterface in Linux te configureren
Moge niet missen: 10 “ip” Commando voorbeelden om het netwerkinterface in Linux te configureren
Source:
https://www.tecmint.com/ifconfig-vs-ip-command-comparing-network-configuration/