Zoeken op website

RHCE-serie: Statische netwerkroutering instellen en testen - Deel 1


RHCE (Red Hat Certified Engineer) is een certificering van het bedrijf Red Hat, dat een open source besturingssysteem en software aan de zakelijke gemeenschap biedt. Het geeft ook training, ondersteuning en adviesdiensten voor de bedrijven.

Deze RHCE (Red Hat Certified Engineer) is een op prestaties gebaseerd examen (codenaam EX300), die over de aanvullende vaardigheden, kennis en capaciteiten beschikt vereist van een senior systeembeheerder die verantwoordelijk is voor Red Hat Enterprise Linux (RHEL)-systemen.

Belangrijk: Red Hat Certified System Administrator (RHCSA)-certificering is vereist om de RHCE-certificering te behalen.

Hieronder volgen de examendoelstellingen gebaseerd op de Red Hat Enterprise Linux 7 versie van het examen, die in deze RHCE-serie aan de orde komen:

Om de kosten te bekijken en u te registreren voor een examen in uw land, gaat u naar de RHCE-certificeringspagina.

In dit Deel 1 van de RHCE serie en de volgende zullen we fundamentele, maar typische gevallen presenteren waarin de principes van statische routering, pakketfiltering en vertaling van netwerkadressen voorkomen in het spel.

Houd er rekening mee dat we ze niet diepgaand zullen bespreken, maar deze inhoud eerder op een zodanige manier zullen organiseren dat het nuttig zal zijn om de eerste stappen te zetten en van daaruit verder te bouwen.

Statische routering in Red Hat Enterprise Linux 7

Een van de wonderen van moderne netwerken is de enorme beschikbaarheid van apparaten die groepen computers met elkaar kunnen verbinden, zowel in relatief kleine aantallen en beperkt tot een enkele kamer als tot meerdere machines in hetzelfde gebouw, in dezelfde stad, in een land of over verschillende continenten heen.

Om dit echter in elke situatie effectief te bereiken, moeten netwerkpakketten worden gerouteerd, of met andere woorden, het pad dat ze volgen van bron naar bestemming moet op de een of andere manier worden bepaald.

Statische routering is het proces waarbij een route wordt gespecificeerd voor andere netwerkpakketten dan de standaardroute, die wordt geleverd door een netwerkapparaat dat bekend staat als de standaardgateway. Tenzij anders aangegeven via statische routering, worden netwerkpakketten naar de standaardgateway geleid; bij statische routering worden andere paden gedefinieerd op basis van vooraf gedefinieerde criteria, zoals de pakketbestemming.

Laten we het volgende scenario voor deze zelfstudie definiëren. We hebben een Red Hat Enterprise Linux 7-box die verbinding maakt met router #1 [192.168.0.1] voor toegang tot internet en machines in 192.168.0.0/24.

Een tweede router (router #2) heeft twee netwerkinterfacekaarten: enp0s3 is ook verbonden met router #1 om toegang te krijgen tot internet en te communiceren met de RHEL 7-box en andere machines in hetzelfde netwerk, terwijl de andere (enp0s8) wordt gebruikt om toegang te verlenen tot het 10.0.0.0/24 netwerk waar interne services zich bevinden , zoals een web- en/of databaseserver.

Dit scenario wordt geïllustreerd in het onderstaande diagram:

In dit artikel zullen we ons uitsluitend concentreren op het instellen van de routeringstabel op onze RHEL 7 box om ervoor te zorgen dat deze zowel toegang heeft tot internet via router #1 als tot het interne netwerk via router #2.

In RHEL 7 gebruikt u de opdracht ip om apparaten en routing te configureren en weer te geven via de opdrachtregel. Deze wijzigingen kunnen onmiddellijk van kracht worden op een draaiend systeem, maar omdat ze niet blijvend zijn bij opnieuw opstarten, zullen we de bestanden ifcfg-enp0sX en route-enp0sX gebruiken in /etc /sysconfig/network-scripts om onze configuratie permanent op te slaan.

Laten we om te beginnen onze huidige routeringstabel afdrukken:

ip route show

Uit de bovenstaande uitvoer kunnen we de volgende feiten zien:

  1. Het IP-adres van de standaardgateway is 192.168.0.1 en is toegankelijk via de enp0s3 NIC.
  2. Toen het systeem opstartte, werd de zeroconf-route naar 169.254.0.0/16 ingeschakeld (voor het geval dat). Kort gezegd: als een machine is ingesteld om een IP-adres te verkrijgen via DHCP, maar dit om de een of andere reden niet lukt, wordt er automatisch een adres in dit netwerk toegewezen. Het komt erop neer dat deze route ons in staat stelt om, ook via enp0s3, te communiceren met andere machines die er niet in zijn geslaagd een IP-adres van een DHCP-server te verkrijgen.
  3. Als laatste, maar daarom niet minder belangrijk, kunnen we communiceren met andere boxen binnen het 192.168.0.0/24 netwerk via enp0s3, waarvan het IP-adres 192.168.0.18 is >.

Dit zijn de typische taken die u in een dergelijke omgeving zou moeten uitvoeren. Tenzij anders aangegeven, moeten de volgende taken worden uitgevoerd in router #2:

Zorg ervoor dat alle NIC's correct zijn geïnstalleerd:

ip link show

Als een van deze niet beschikbaar is, breng deze dan naar voren:

ip link set dev enp0s8 up

en wijs er een IP-adres in het 10.0.0.0/24 netwerk aan toe:

ip addr add 10.0.0.17 dev enp0s8

Oeps! We hebben een fout gemaakt in het IP-adres. We zullen degene die we eerder hebben toegewezen moeten verwijderen en vervolgens de juiste moeten toevoegen (10.0.0.18):

ip addr del 10.0.0.17 dev enp0s8
ip addr add 10.0.0.18 dev enp0s8

Houd er rekening mee dat u alleen een route aan een bestemmingsnetwerk kunt toevoegen via een gateway die zelf al bereikbaar is. Om die reden moeten we een IP-adres binnen het bereik 192.168.0.0/24 toewijzen aan enp0s3, zodat onze RHEL 7-box ermee kan communiceren:

ip addr add 192.168.0.19 dev enp0s3

Ten slotte moeten we pakketdoorsturen inschakelen:

echo "1" > /proc/sys/net/ipv4/ip_forward

en stop/deactiveer (voorlopig – totdat we pakketfiltering behandelen in het volgende artikel) de firewall:

systemctl stop firewalld
systemctl disable firewalld

Terug in ons RHEL 7 vak (192.168.0.18), laten we een route configureren naar 10.0.0.0/24 via 192.168.0.19 (enp0s3 in router #2):

ip route add 10.0.0.0/24 via 192.168.0.19

Daarna ziet de routeringstabel er als volgt uit:

ip route show

Voeg op dezelfde manier de overeenkomstige route toe aan de machine(s) die u probeert te bereiken in 10.0.0.0/24:

ip route add 192.168.0.0/24 via 10.0.0.18

U kunt de basisconnectiviteit testen met ping:

In het vak RHEL 7 voert u uit

ping -c 4 10.0.0.20

waarbij 10.0.0.20 het IP-adres is van een webserver in het 10.0.0.0/24 netwerk.

Voer het programma uit op de webserver (10.0.0.20).

ping -c 192.168.0.18

waarbij 192.168.0.18, zoals u zich zult herinneren, het IP-adres is van onze RHEL 7-machine.

Als alternatief kunnen we tcpdump gebruiken (mogelijk moet je het installeren met yum install tcpdump) om de tweerichtingscommunicatie via TCP tussen onze RHEL 7-box en de webserver op 10.0.0.20 te controleren .

Om dit te doen, beginnen we met het inloggen op de eerste machine:

tcpdump -qnnvvv -i enp0s3 host 10.0.0.20

en laten we vanaf een andere terminal in hetzelfde systeem telnet naar poort 80 op de webserver gaan (ervan uitgaande dat Apache op die poort luistert; geef anders aan de juiste poort in de volgende opdracht):

telnet 10.0.0.20 80

Het tcpdump-logboek zou er als volgt uit moeten zien:

Waar de verbinding correct is geïnitialiseerd, zoals we kunnen zien aan de tweerichtingscommunicatie tussen onze RHEL 7 box (192.168.0.18) en de webserver (< sterk>10.0.0.20).

Houd er rekening mee dat deze wijzigingen verdwijnen wanneer u het systeem opnieuw opstart. Als je ze persistent wilt maken, moet je de volgende bestanden bewerken (of maken, als ze nog niet bestaan), op dezelfde systemen waarop we de bovenstaande opdrachten hebben uitgevoerd.

Hoewel dit niet strikt noodzakelijk is voor onze testcase, moet u weten dat /etc/sysconfig/network systeembrede netwerkparameters bevat. Een typisch /etc/sysconfig/network ziet er als volgt uit:

Enable networking on this system?
NETWORKING=yes
Hostname. Should match the value in /etc/hostname
HOSTNAME=yourhostnamehere
Default gateway
GATEWAY=XXX.XXX.XXX.XXX
Device used to connect to default gateway. Replace X with the appropriate number.
GATEWAYDEV=enp0sX

Als het gaat om het instellen van specifieke variabelen en waarden voor elke NIC (zoals we deden voor router #2), zul je /etc/sysconfig/network-scripts/ifcfg-enp0s3 en moeten bewerken /etc/sysconfig/network-scripts/ifcfg-enp0s8.

Naar aanleiding van onze zaak,

TYPE=Ethernet
BOOTPROTO=static
IPADDR=192.168.0.19
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
NAME=enp0s3
ONBOOT=yes

En

TYPE=Ethernet
BOOTPROTO=static
IPADDR=10.0.0.18
NETMASK=255.255.255.0
GATEWAY=10.0.0.1
NAME=enp0s8
ONBOOT=yes

voor respectievelijk enp0s3 en enp0s8.

Wat betreft routering op onze clientcomputer (192.168.0.18), zullen we /etc/sysconfig/network-scripts/route-enp0s3: moeten bewerken:

10.0.0.0/24 via 192.168.0.19 dev enp0s3

Herstart nu uw systeem en u zou die route in uw tabel moeten zien.

Samenvatting

In dit artikel hebben we de essentie van statische routering in Red Hat Enterprise Linux 7 besproken. Hoewel de scenario's kunnen variëren, illustreert de hier gepresenteerde casus de vereiste principes en de procedures om deze taak uit te voeren. Voordat ik afsluit, zou ik je willen aanraden om een kijkje te nemen in Hoofdstuk 4 van de sectie Linux beveiligen en optimaliseren op de site van het Linux Documentation Project voor meer details over de onderwerpen die hier worden behandeld.

Gratis e-boek over Linux beveiligen en optimaliseren: de hackoplossing (v.3.0) – Dit 800+ e-boek bevat een uitgebreide verzameling Linux-beveiligingstips en hoe u deze veilig en gemakkelijk kunt gebruiken om op Linux gebaseerde applicaties en services te configureren.

Download nu

In het volgende artikel zullen we het hebben over pakketfiltering en netwerkadresvertaling om de basisvaardigheden op het gebied van netwerken samen te vatten die nodig zijn voor de RHCE-certificering.

Zoals altijd kijken we ernaar uit om van u te horen, dus laat gerust uw vragen, opmerkingen en suggesties achter via het onderstaande formulier.