RHCE-serien: Slik konfigurerer og tester du statisk nettverksruting - del 1


RHCE (Red Hat Certified Engineer) er en sertifisering fra Red Hat-selskapet, som gir et åpen kildekode-operativsystem og programvare til bedriftssamfunnet. Det gir også opplæring, støtte og konsulenttjenester for bedriftene.

Denne RHCE (Red Hat Certified Engineer) er en prestasjonsbasert eksamen (kodenavn EX300), som har tilleggsferdighetene, kunnskapene og evnene kreves av en senior systemadministrator ansvarlig for Red Hat Enterprise Linux (RHEL)-systemer.

Viktig: Red Hat Certified System Administrator (RHCSA)-sertifisering kreves for å oppnå RHCE-sertifisering.

Følgende er eksamensmålene basert på Red Hat Enterprise Linux 7-versjonen av eksamen, som vil dekke i denne RHCE-serien:

For å se gebyrer og registrere deg for en eksamen i ditt land, sjekk RHCE-sertifiseringssiden.

I denne Del 1 av RHCE-serien og den neste vil vi presentere grunnleggende, men likevel typiske tilfeller der prinsippene for statisk ruting, pakkefiltrering og nettverksadresseoversettelse kommer i spill.

Vær oppmerksom på at vi ikke vil dekke dem i dybden, men heller organisere dette innholdet på en slik måte at det vil være nyttig å ta de første stegene og bygge derfra.

Statisk ruting i Red Hat Enterprise Linux 7

Et av underverkene med moderne nettverk er den enorme tilgjengeligheten av enheter som kan koble sammen grupper av datamaskiner, enten det er i relativt små antall og begrenset til et enkelt rom eller flere maskiner i samme bygning, by, land eller på tvers av kontinenter.

Men for å oppnå dette effektivt i enhver situasjon, må nettverkspakker rutes, eller med andre ord, banen de følger fra kilde til destinasjon må styres på en eller annen måte.

Statisk ruting er prosessen med å spesifisere en rute for andre nettverkspakker enn standarden, som leveres av en nettverksenhet kjent som standard gateway. Med mindre annet er spesifisert gjennom statisk ruting, blir nettverkspakker dirigert til standard gateway; med statisk ruting er andre stier definert basert på forhåndsdefinerte kriterier, for eksempel pakkedestinasjonen.

La oss definere følgende scenario for denne opplæringen. Vi har en Red Hat Enterprise Linux 7-boks som kobler til ruter #1 [192.168.0.1] for å få tilgang til Internett og maskiner i 192.168.0.0/24.

En andre ruter (ruter #2) har to nettverkskort: enp0s3 er også koblet til ruter #1 for å få tilgang til Internett og for å kommunisere med RHEL 7-boksen og andre maskiner i samme nettverk, mens den andre (enp0s8) brukes til å gi tilgang til 10.0.0.0/24-nettverket der interne tjenester finnes , for eksempel en web- og/eller databaseserver.

Dette scenariet er illustrert i diagrammet nedenfor:

I denne artikkelen vil vi fokusere utelukkende på å sette opp rutetabellen på RHEL 7-boksen vår for å sikre at den både kan få tilgang til Internett via ruter #1 og det interne nettverket via ruter #2.

I RHEL 7 vil du bruke ip-kommandoen til å konfigurere og vise enheter og ruting ved hjelp av kommandolinjen. Disse endringene kan tre i kraft umiddelbart på et kjørende system, men siden de ikke er vedvarende ved omstart, vil vi bruke ifcfg-enp0sX- og route-enp0sX-filer i /etc /sysconfig/network-scripts for å lagre konfigurasjonen vår permanent.

For å begynne, la oss skrive ut vår nåværende rutetabell:

ip route show

Fra utgangen ovenfor kan vi se følgende fakta:

  1. Standard gateways IP-adresse er 192.168.0.1 og kan nås via enp0s3 NIC.
  2. Da systemet startet opp, aktiverte det zeroconf-ruten til 169.254.0.0/16 (i tilfelle). Med få ord, hvis en maskin er satt til å få en IP-adresse gjennom DHCP, men ikke klarer å gjøre det av en eller annen grunn, blir den automatisk tildelt en adresse i dette nettverket. Hovedpoenget er at denne ruten vil tillate oss å kommunisere, også via enp0s3, med andre maskiner som ikke har klart å få tak i en IP-adresse fra en DHCP-server.
  3. Sist, men ikke minst, kan vi kommunisere med andre bokser i 192.168.0.0/24-nettverket gjennom enp0s3, hvis IP-adresse er 192.168.0.18 >.

Dette er de typiske oppgavene du må utføre i en slik setting. Med mindre annet er spesifisert, bør følgende oppgaver utføres i ruter #2:

Kontroller at alle NIC-er er riktig installert:

ip link show

Hvis en av dem er nede, ta den opp:

ip link set dev enp0s8 up

og tilordne en IP-adresse i 10.0.0.0/24-nettverket til den:

ip addr add 10.0.0.17 dev enp0s8

Oops! Vi gjorde en feil i IP-adressen. Vi må fjerne den vi tildelte tidligere og deretter legge til den riktige (10.0.0.18):

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

Vær oppmerksom på at du bare kan legge til en rute til et destinasjonsnettverk gjennom en gateway som allerede er tilgjengelig. Av den grunn må vi tilordne en IP-adresse innenfor 192.168.0.0/24-området til enp0s3 slik at RHEL 7-boksen vår kan kommunisere med den:

ip addr add 192.168.0.19 dev enp0s3

Til slutt må vi aktivere pakkevideresending:

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

og stopp/deaktiver (bare foreløpig – til vi dekker pakkefiltrering i neste artikkel) brannmuren:

systemctl stop firewalld
systemctl disable firewalld

Tilbake i RHEL 7-boksen (192.168.0.18), la oss konfigurere en rute til 10.0.0.0/24 til og med 192.168.0.19 (enp0s3 i ruter #2):

ip route add 10.0.0.0/24 via 192.168.0.19

Etter det ser rutetabellen slik ut:

ip route show

På samme måte legger du til den tilsvarende ruten i maskinen(e) du prøver å nå i 10.0.0.0/24:

ip route add 192.168.0.0/24 via 10.0.0.18

Du kan teste for grunnleggende tilkobling ved å bruke ping:

Kjør i RHEL 7-boksen

ping -c 4 10.0.0.20

der 10.0.0.20 er IP-adressen til en webserver i 10.0.0.0/24-nettverket.

I webserveren (10.0.0.20), kjør

ping -c 192.168.0.18

hvor 192.168.0.18 er, som du vil huske, IP-adressen til RHEL 7-maskinen vår.

Alternativt kan vi bruke tcpdump (det kan hende du må installere den med yum install tcpdump) for å sjekke 2-veis kommunikasjon over TCP mellom RHEL 7-boksen vår og webserveren på 10.0.0.20 .

For å gjøre det, la oss starte loggingen på den første maskinen med:

tcpdump -qnnvvv -i enp0s3 host 10.0.0.20

og fra en annen terminal i samme system la oss telnet til port 80 i webserveren (forutsatt at Apache lytter på den porten; ellers, angi høyre port i følgende kommando):

telnet 10.0.0.20 80

tcpdump-loggen skal se slik ut:

Hvor tilkoblingen er riktig initialisert, som vi kan se ved å se på 2-veis kommunikasjon mellom vår RHEL 7 boks (192.168.0.18) og webserveren (10.0.0.20).

Husk at disse endringene forsvinner når du starter systemet på nytt. Hvis du vil gjøre dem vedvarende, må du redigere (eller opprette, hvis de ikke allerede eksisterer) følgende filer, i de samme systemene som vi utførte kommandoene ovenfor.

Selv om det ikke er strengt nødvendig for vårt testtilfelle, bør du vite at /etc/sysconfig/network inneholder systemomfattende nettverksparametere. Et typisk /etc/sysconfig/nettverk ser ut som følger:

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

Når det gjelder å angi spesifikke variabler og verdier for hvert NIC (som vi gjorde for ruter #2), må du redigere /etc/sysconfig/network-scripts/ifcfg-enp0s3 og /etc/sysconfig/network-scripts/ifcfg-enp0s8.

Etter vår sak,

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

og

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

for henholdsvis enp0s3 og enp0s8.

Når det gjelder ruting i klientmaskinen vår (192.168.0.18), må vi redigere /etc/sysconfig/network-scripts/route-enp0s3:

10.0.0.0/24 via 192.168.0.19 dev enp0s3

start systemet på nytt, og du bør se ruten i tabellen.

Sammendrag

I denne artikkelen har vi dekket det vesentlige av statisk ruting i Red Hat Enterprise Linux 7. Selv om scenarier kan variere, illustrerer saken som presenteres her de nødvendige prinsippene og prosedyrene for å utføre denne oppgaven. Før du avslutter, vil jeg foreslå at du tar en titt på kapittel 4 i delen Sikring og optimalisering av Linux på nettstedet for Linux Documentation Project for ytterligere detaljer om emnene som dekkes her.

Gratis e-bok om Sikring og optimalisering av Linux: Hacking Solution (v.3.0) – Denne 800+ e-boken inneholder en omfattende samling av Linux-sikkerhetstips og hvordan du bruker dem trygt og enkelt for å konfigurere Linux-baserte applikasjoner og tjenester.

Last ned nå

I den neste artikkelen vil vi snakke om pakkefiltrering og nettverksadresseoversettelse for å oppsummere de grunnleggende nettverksferdighetene som trengs for RHCE-sertifiseringen.

Som alltid ser vi frem til å høre fra deg, så legg gjerne igjen spørsmål, kommentarer og forslag ved å bruke skjemaet nedenfor.