Zoeken op website

24 Handige "IP"-opdrachten om netwerkinterfaces te configureren


Kort: in deze handleiding bespreken we enkele praktische voorbeelden van het ip-commando. Aan het einde van deze handleiding kunnen gebruikers netwerktaken efficiënt uitvoeren in Linux vanaf de opdrachtregelinterface.

Systeembeheerders moeten vaak netwerktaken uitvoeren op Linux-servers. Er zijn diverse grafische en opdrachtregelprogramma's op de markt verkrijgbaar. De meeste Linux-gebruikers geven echter de voorkeur aan het ip-commando vanwege de eenvoud en rijke functionaliteit ervan.

De ip-opdracht is een nieuw opdrachtregelhulpprogramma voor netwerken dat wordt gebruikt om een IP-adres toe te wijzen aan een netwerkinterface of om nuttige netwerkvariabelen op een Linux-systeem te configureren/bij te werken.

Het maakt deel uit van het iproute2-pakket en biedt verschillende netwerkbeheertaken, zoals het omhoog of omlaag brengen van netwerkinterfaces, het toewijzen en verwijderen van IP-adressen en routes, het beheren van ARP-cache en nog veel meer.

Het ip-commando lijkt veel op het oude ifconfig-commando, maar is veel krachtiger en er zijn meer functies en mogelijkheden aan toegevoegd.

Het ifconfig-commando is verouderd en vervangen door het ip-commando in alle moderne Linux-distributies. Het ifconfig commando werkt echter nog steeds en is beschikbaar voor de meeste Linux-distributies.

Opmerking: maak een back-up van het configuratiebestand voordat u wijzigingen aanbrengt.

1. Configureer permanent een statisch IP-adres in Linux

Om permanent een statisch IP-adres in Linux te configureren, moet u het netwerkconfiguratiebestand bijwerken of bewerken om een statisch IP-adres aan een systeem toe te wijzen. U moet een superuser zijn met de opdracht su (switch user) vanaf de terminal of opdrachtprompt.

Stel een statisch IP-adres in RHEL-systemen in

Open en bewerk de netwerkconfiguratiebestanden voor (eth0 of eth1) met uw favoriete teksteditor. Wijs bijvoorbeeld als volgt een IP-adres toe aan de eth0-interface voor op RHEL gebaseerde distributies.

vi /etc/sysconfig/network-scripts/ifcfg-eth0     [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]

Stel een statisch IP-adres in in Debian-systemen

Om het permanente statische IP-adres te configureren, moet u uw netwerkinterfaceconfiguratiebestand /etc/network/interfaces wijzigen om permanente wijzigingen aan te brengen, zoals hieronder weergegeven voor op Debian gebaseerde distributies.

sudo nano /etc/network/interfaces     [On Debian, Ubuntu and Mint]

Start vervolgens de netwerkservices opnieuw op nadat u alle details hebt ingevoerd met behulp van de volgende opdracht.

sudo systemctl restart networking

2. Configureer tijdelijk een statisch IP-adres in Linux

Voor tijdelijke netwerkconfiguraties kunt u het ip-commando gebruiken om direct een IP-adres toe te wijzen aan een specifieke interface (eth2).

ip addr add 172.19.1.10/24 dev eth2
OR
sudo ip addr add 172.19.1.10/24 dev eth2

Opmerking: Helaas gaan al deze instellingen verloren na een herstart van het systeem.

3. Hoe alle netwerkinterfaces worden weergegeven

In ip command vertegenwoordigt het linkobject de netwerkinterface. We kunnen de opdracht show gebruiken om alle netwerkinterfaces weer te geven.

Laten we nu alle netwerkinterfaces weergeven met behulp van de volgende opdracht:

ip link show

De bovenstaande uitvoer toont de details van alle netwerkinterfaces, zoals interfacenaam, vlaggen, status, linkadres, uitzendadres, enz.

4. Hoe u een IP-adres van een specifieke netwerkinterface kunt controleren

Om de diepte-informatie van uw individuele netwerkinterface te krijgen, zoals IP-adres en MAC-adresinformatie, gebruikt u de volgende opdracht, zoals hieronder weergegeven.

ip link show eth2

Tot nu toe hebben we het linkobject gebruikt dat gedetailleerde informatie over de netwerkinterfaces toont. Het toont echter niet het IP-adres dat aan de netwerkinterface is gekoppeld. Om deze beperking te omzeilen, kunnen we het object addr gebruiken met de opdracht ip.

Laten we dit begrijpen met een voorbeeld.

ip addr show

Hier kunnen we zien dat de uitvoer nu de IP-adressen van alle netwerkinterfaces toont, samen met andere details.

Om het IP-adres van de individuele netwerkinterface weer te geven, hoeft u alleen maar de naam van de netwerkinterface op te geven als argument voor de opdracht.

ip addr show eth2

5. Hoe u het IP-adres in gekleurde uitvoer kunt weergeven

Het ip-commando toont gedetailleerde informatie over de netwerkobjecten. Soms moeten we echter naar de beperkte informatie kijken. In dergelijke gevallen kunnen we de gekleurde uitvoer inschakelen. Met deze optie worden belangrijke details in verschillende kleuren benadrukt.

Laten we de optie --color van het commando gebruiken om de uitvoer in verschillende kleuren weer te geven:

ip --color addr show eth2

In de bovenstaande uitvoer kunnen we zien dat de interfacenaam, het ethernetadres en de status in verschillende kleuren zijn gemarkeerd.

6. Hoe u een IP-adres in JSON-formaat kunt weergeven

In de voorgaande voorbeelden zagen we dat het ip-commando betekenisvolle informatie toont. Het is echter geen gemakkelijke taak om de onbewerkte uitvoer te ontleden en betekenisvolle informatie te extraheren met behulp van rudimentaire scripts. In dergelijke gevallen kunnen we het ip-commando opdracht geven om de uitvoer in een JSON-formaat te genereren.

Laten we dus de optie -j gebruiken met de opdracht om dezelfde uitvoer in een JSON-indeling weer te geven:

ip -j link show eth2

Deze methode is handig bij automatisering, omdat JSON een algemeen geaccepteerd formaat is en er veel JSON-parserbibliotheken/tools beschikbaar zijn in verschillende programmeertalen.

7. Hoe u JSON-uitvoer leesbaarder kunt maken

In het vorige voorbeeld hebben we de optie -j gebruikt om de uitvoer in een JSON-indeling weer te geven. Dit standaard JSON-formaat is compact en ruimtebesparend. De uitvoer is echter niet gemakkelijk te lezen vanwege een gebrek aan inspringing.

Om deze beperking te omzeilen, kunnen we de optie -p gebruiken, die de uitvoer leesbaarder maakt door deze te laten inspringen. Laten we dit begrijpen met het onderstaande voorbeeld:

ip -j -p link show eth2

Hier kunnen we zien dat dezelfde uitvoer veel beter leesbaar is in vergelijking met de vorige voorbeelden.

8. Hoe u een IP-adres van de netwerkinterface kunt verwijderen

In het vorige voorbeeld gebruikten we het subcommando add om een IP-adres toe te wijzen. Op een vergelijkbare manier kunnen we het subcommando del gebruiken om een bepaald IP-adres te verwijderen.

De volgende opdracht verwijdert een toegewezen IP-adres uit de gegeven interface (eth2).

ip addr del 172.19.1.10/24 dev eth2
OR
sudo ip addr del 172.19.1.10/24 dev eth2

Laten we nu verifiëren dat het IP-adres is verwijderd:

ip -j -p addr show eth2

In de bovenstaande uitvoer kunnen we zien dat de nu eth2 netwerkinterface slechts één IP-adres heeft.

9. Hoe u de netwerkinterface inschakelt

De vlag “omhoog” met interfacenaam (eth2) schakelt een netwerkinterface in. Met het volgende commando wordt bijvoorbeeld de eth2 netwerkinterface geactiveerd.

ip link set eth2 up
OR
sudo ip link set dev eth2 up

Laten we nu de bijgewerkte status controleren:

ip -j -p link show eth2 | grep operstate

10. Hoe u de netwerkinterface kunt uitschakelen

De vlag “down” met interfacenaam (eth2) schakelt een netwerkinterface uit. Met de volgende opdracht wordt bijvoorbeeld de eth2 netwerkinterface gedeactiveerd.

ip link set eth2 down
OR
sudo ip link set eth2 down

Laten we nu de status van de eth2 netwerkinterface controleren:

ip -j -p link show eth2 | grep operstate

De bovenstaande uitvoer toont de gewijzigde status van de netwerkinterface.

11. IP-adressen van netwerkinterface wissen

In het vorige voorbeeld hebben we gezien hoe je een subcommando del kunt gebruiken om een IP-adres te verwijderen. Soms moeten we echter alle IP-adressen van de specifieke netwerkinterface verwijderen. In dergelijke gevallen kunnen we het subcommando flush gebruiken.

Gebruik eerst het subcommando flush om alle IP-adressen van de eth2 netwerkinterface te verwijderen:

sudo ip addr flush eth2

Laten we nu controleren of alle IP-adressen van de eth2 netwerkinterface zijn verwijderd:

ip -j -p addr show eth2

In de bovenstaande uitvoer toont het veld addr_info de lege JSON-array. Dit geeft aan dat er geen IP-adres is gekoppeld aan de eth2 netwerkinterface.

12. Hoe controleer ik de routeringstabel

In een routeringstabel wordt de benodigde informatie opgeslagen om een netwerkpakket naar de juiste bestemming door te sturen. We kunnen het object route van het ip-commando gebruiken om de routeringsregels weer te geven.

Laten we de onderstaande opdracht gebruiken om alle regels van de routeringstabel weer te geven:

ip route show

In de bovenstaande uitvoer vertegenwoordigt de eerste kolom de bestemming, terwijl de laatste kolom het bron-IP-adres vertegenwoordigt.

13. Hoe voeg ik een nieuwe statische route toe

Waarom moet u statische routes of handmatige routes toevoegen, omdat het verkeer niet via de standaardgateway mag gaan? We moeten statische routes toevoegen om verkeer te passeren vanaf de beste manier om de bestemming te bereiken.

sudo ip route add 172.19.1.0/24 dev eth2 proto kernel scope link src 172.19.1.2

Laten we nu controleren of het item met succes is toegevoegd:

ip route show

15. Statische route verwijderen

Het subcommando del verwijdert een bepaald item uit de routeringstabel. Met het onderstaande commando wordt bijvoorbeeld de invoer van de eth2 apparaatroute verwijderd:

sudo ip route del 172.19.1.0/24

Laten we nu controleren of het item met succes is verwijderd:

ip route show

16. Hoe voeg ik permanente statische routes toe

Alle bovenstaande routes gaan verloren na een herstart van het systeem. Om een permanente statische route toe te voegen, bewerkt u het bestand /etc/sysconfig/network-scripts/route-eth2 (we slaan de statische route op voor (eth2). Standaard is de route-eth2 bestand zal er niet zijn en moet aangemaakt worden.

Stel een permanente route in RHEL-systemen in

vi /etc/sysconfig/network-scripts/route-eth2

en voeg de volgende regels toe, sla op en sluit af.

172.19.1.0/24 via 172.19.1.2 dev eth2

Stel een permanente route in in Debian-systemen

Open het bestand /etc/network/interfaces en voeg aan het einde de persistentie-statische routes toe. IP-adressen kunnen in uw omgeving verschillen.

sudo vi /etc/network/interfaces
auto eth2
iface eth2 inet static
address 172.19.50.2
netmask 255.255.255.0
gateway 172.19.50.100
#########{Static Route}###########
up ip route add 172.19.1.0/24 via 172.19.1.2 dev eth2

Start vervolgens de netwerkservices opnieuw op nadat u alle details hebt ingevoerd met behulp van de volgende opdracht.

sudo systemctl restart networking

17. Hoe voeg ik de standaardgateway toe

Bij netwerken speelt de standaardgateway een belangrijke rol. Het wordt gebruikt wanneer de routeringstabel geen informatie over de bestemming bevat.

De standaardgateway kan globaal worden opgegeven of voor interfacespecifieke configuratiebestanden. Het voordeel van de standaardgateway is dat er meer dan één NIC in het systeem aanwezig is. U kunt de standaardgateway direct toevoegen, zoals weergegeven onder de opdracht.

Laten we eerst een eth0 netwerkinterface toevoegen als standaardgateway:

sudo ip route add default via 172.17.0.1

Laten we nu de standaard gateway-instelling verifiëren met behulp van de volgende opdracht:

ip route show

Houd er rekening mee dat we deze opdracht op een testmachine hebben uitgevoerd. Wees voorzichtig bij het gebruik van deze opdracht in de productieomgeving.

18. Hoe u een standaardgateway verwijdert

We kunnen de volgende opdracht gebruiken om de standaardgateway te verwijderen:

sudo ip route del default

Laten we nu de routeringstabel vermelden om te verifiëren dat de standaardgateway is verwijderd:

ip route show

19. ARP-cache weergeven

ARP staat voor het Address Resolution Protocol, dat wordt gebruikt om het MAC-adres te vinden dat aan het specifieke IP-adres is gekoppeld.

We kunnen het neigh-object gebruiken met het ip-commando om de ARP-cache weer te geven:

ip neigh show

In het bovenstaande commando vertegenwoordigt de hinnik aangrenzende objecten.

20. Een ARP-invoer toevoegen

Om een nieuw ARP-item te maken, kunnen we het subcommando add gebruiken met het object neigh.

sudo ip neigh add 172.19.1.0 lladdr 02:42:e3:40:a6:b1 dev eth2

Laten we nu de ARP-cache-items vermelden:

ip neigh show

In de bovenstaande uitvoer kunnen we het nieuwe item voor de eth2 netwerkinterface zien.

21. Een ARP-invoer verwijderen

Net als andere netwerkobjecten kunnen we het subcommando del gebruiken om de ARP-invoer te verwijderen. Met het onderstaande commando wordt bijvoorbeeld de ARP-invoer van de eth2 netwerkinterface verwijderd:

sudo ip neigh del 172.19.1.0 dev eth2

Laten we nu verifiëren dat de vermelding is verwijderd door de ARP-cache weer te geven:

ip neigh show 

22. Hoe u de ARP-gegevens kunt wissen

We kunnen het subcommando flush gebruiken om meerdere ARP-vermeldingen te verwijderen. Om dit te begrijpen, voegt u eerst een paar ARP-items toe met de status STALE:

sudo ip neigh add 172.19.1.0 lladdr 02:42:e3:40:a6:b1 dev eth2 nud stale
sudo ip neigh add 172.19.2.0 lladdr 02:42:e3:40:a6:b2 dev eth2 nud stale
sudo ip neigh add 172.19.3.0 lladdr 02:42:e3:40:a6:b3 dev eth2 nud stale

Controleer vervolgens of de nieuwe vermeldingen succesvol zijn toegevoegd:

ip neigh show

Spoel vervolgens alle vermeldingen weg met behulp van de onderstaande opdracht:

sudo ip neigh flush all

Controleer ten slotte of alle vermeldingen zijn verwijderd:

ip neigh show

23. MTU instellen voor netwerkinterface

MTU staat voor Maximum Transmission Unit, wat de grootste pakketgrootte vertegenwoordigt die in één transactie kan worden verzonden. We kunnen de MTU-grootte manipuleren volgens onze prestatie-eisen.

Laten we eerst de MTU van de eth2 netwerkinterface vinden:

ip -j -p link show eth2 | grep mtu

Update vervolgens de MTU-grootte van de eth2 netwerkinterface naar 3000:

sudo ip link set mtu 3000 dev eth2

Controleer ten slotte of de MTU succesvol is bijgewerkt:

ip -j -p link show eth2 | grep mtu

24. Hoe u het netwerk-Mac-adres kunt wijzigen

Met het ip-commando kunnen we het MAC-adres van de netwerkinterface wijzigen. Om dit te bereiken kunnen we het subcommando set gebruiken met het linkobject:

Geef eerst het huidige MAC-adres van de eth2 netwerkinterface op:

ip -j -p link show eth2 | grep address

Wijzig vervolgens het MAC-adres van de netwerkinterface met behulp van de onderstaande opdracht:

sudo ip link set dev eth2 address 02:42:ac:13:01:03

Controleer ten slotte of het MAC-adres is gewijzigd:

ip -j -p link show eth2 | grep address

Raadpleeg de handleiding voor het uitvoeren van man ip vanaf de terminal/opdrachtprompt voor meer informatie over IP Command.

man ip
Conclusie

In dit artikel hebben we enkele veelvoorkomende voorbeelden van het ip-commando besproken. U kunt deze voorbeelden in het dagelijks leven gebruiken om netwerkbeheer uit te voeren.

Kent u een ander beste voorbeeld van de ip-opdracht in Linux? Laat ons uw mening weten in de reacties hieronder.