Hoe routering te configureren op Linux (RHEL/CentOS)

Als je met Linux-netwerken bezig bent, kan het voorkomen dat de standaardgateway weigert te veranderen of dat je de huidige routeringsinstellingen wilt bekijken. Het is geen hogere wiskunde, maar deze commando’s en bestanden kunnen wat verwarrend zijn als je nieuw bent in de branche of als dingen niet lijken te doen wat ze zouden moeten doen. Deze handleiding is bedoeld om dat wat op te helderen, vooral wanneer het lijkt alsof Linux moeilijk te bereiken is met zijn routeringstabel of standaardroutes. Na het lezen hiervan weet je hoe je routes kunt bekijken, toevoegen, verwijderen en wijzigen, en hoe je ervoor kunt zorgen dat de instellingen behouden blijven na een herstart. Want natuurlijk moet Linux het iets ingewikkelder maken dan op een knop klikken, toch?

Netwerkroutes bekijken en beheren op Linux

Hoe de huidige routeringstabel te bekijken

Om te zien welke routes Linux momenteel gebruikt – en dat is het uitgangspunt – voer je het volgende commando uit: # ip route`.Dit commando geeft de volledige routeringstabel weer. Je krijgt informatie te zien zoals de standaardgateway (de route die pakketten volgen als er geen specifieke route is), statische routes, door de kernel aangemaakte routes en hun metrics. In feite is het een momentopname van hoe Linux verkeer afhandelt.

Je zou bijvoorbeeld regels kunnen tegenkomen zoals:

default via 192.168.1.1 dev enp0s3 192.168.1.0/24 dev enp0s3 proto kernel scope link src 192.168.1.201

Die standaardregel laat zien waar verkeer dat niet voor het lokale netwerk bestemd is, naartoe wordt gestuurd — in dit geval via 192.168.1.1 op interface enp0s3. Als je nog specifieker wilt zijn, kun je Linux vragen welke interface het zou gebruiken om een ​​pakket naar een IP-adres te verzenden:

# ip route get 192.168.2.45

Dit kan bijvoorbeeld het volgende resultaat opleveren 192.168.2.45 via 192.168.1.1 dev enp0s3 src 192.168.1.201:.Handig bij het oplossen van verbindingsproblemen of om te achterhalen welk netwerkpad Linux gebruikt.

Statische routes toevoegen en verwijderen

Overweeg je om netwerkverkeer ergens anders heen te leiden, of wil je gewoon wat experimenteren met de netwerktopologie? Je kunt statische routes toevoegen met: # ip route add 192.168.0.0/24 via 192.168.1.1`.In feite vertel je Linux hiermee: “Hé, als je verkeer ziet dat bestemd is voor 192.168.0.0/24, stuur het dan via 192.168.1.1.” Dit is handig als je een nieuw subnet instelt of routeringsproblemen wilt oplossen.

Op dezelfde manier kun je een route rechtstreeks toevoegen aan een enkel host-IP-adres met: `ip route add blackhole 10.1.20.0/24`.# ip route add 192.168.1.50 via 192.168.1.1Of zelfs verkeer naar een bepaald netwerk blokkeren met een null-route (een soort zwart gat): `ip route add blackhole 10.1.20.0/24`. Handig voor het blokkeren of isoleren van segmenten.

Een route verwijderen? Voer gewoon het volgende commando uit: # ip route del 192.168.0.0/24. Dit is snel en tijdelijk, totdat je de computer opnieuw opstart of de route weer wijzigt. Om deze routes statisch en permanent te maken, moet je configuratiebestanden bewerken.

Op CentOS- of RHEL-gebaseerde distributies kunt u de naam van uw netwerkinterface vinden met # ip a. Open vervolgens:

# nano /etc/sysconfig/network-scripts/route-enp0s3

Voeg vervolgens uw routeregel toe, bijvoorbeeld zo: 192.168.0.0/24 via 192.168.1.1. Sla het op en herstart het netwerk met:

# systemctl restart network

Op Debian/Ubuntu is het een ander verhaal: je moet bestanden bewerken onder /etc/network/interfaces of netplan- configuraties gebruiken. Maar voor CentOS is deze methode eenvoudig.

Als je wilt dat routes na een herstart automatisch weer beschikbaar komen, kun je ze toevoegen aan /etc/rc.local of speciale route-scripts maken die bij het opstarten worden uitgevoerd. Houd er wel rekening mee dat handmatige instellingen slechts ip route addtijdelijk zijn, tenzij ze zijn opgeslagen in configuratiebestanden of scripts.

Hoe u de standaardgateway kunt wijzigen of resetten

Soms moet je de standaardroute wijzigen, bijvoorbeeld omdat de gateway is verplaatst of omdat je tussen netwerken wisselt. Om de huidige standaardroute te verwijderen, voer je het volgende commando uit:

# ip route del default via 192.168.1.1 dev enp0s3

En om een ​​nieuwe standaardgateway in te stellen, doe je het volgende:

# ip route add default via 192.168.1.2

Of, als u de bestaande standaard wilt vervangen door een nieuwe:

# ip route replace default via 192.168.1.2

Houd er rekening mee dat dit allemaal tijdelijk is, tenzij je deze commando’s in opstartscripts of netwerkconfiguratiebestanden plaatst. En als je het echt permanent wilt wijzigen, moet je de betreffende configuratiebestanden voor je distributie bewerken (zoals /etc/sysconfig/network-scripts/route-).(op CentOS) is meestal de beste optie.

Samenvatting

Netwerken kan soms behoorlijk frustrerend zijn, vooral wanneer routes niet veranderen of niet verschijnen waar je ze verwacht. Door met ip routecommando’s en configuratiebestanden te spelen, los je het probleem meestal wel op. Verwacht wat vallen en opstaan ​​– Linux is niet altijd even intuïtief als het gaat om permanente instellingen. Maar uiteindelijk helpt een beetje handmatig bijstellen je routering enorm. Hopelijk helpt dit iemand om die lastige routes eindelijk op orde te krijgen zonder er gek van te worden.

Samenvatting

  • Gebruik deze optie # ip routeom de huidige routeringstabel te bekijken.
  • Voeg statische routes toe met # ip route add.
  • Verwijder routes met # ip route del.
  • Wijzig de standaardgateway met behulp van # ip route add default via...of replace.
  • Behoud routes door configuratiebestanden of scripts zoals /etc/rc.local te bewerken.