Serija RHCE: Kako postaviti i testirati statičko mrežno rutiranje - 1. dio


RHCE (Red Hat Certified Engineer) je certifikat kompanije Red Hat, koji korporativnoj zajednici daje operativni sistem i softver otvorenog koda, također pruža obuku, podršku i konsultantske usluge za kompanije.

Ovaj RHCE (Red Hat Certified Engineer) je ispit zasnovan na učinku (kodni naziv EX300), koji posjeduje dodatne vještine, znanje i sposobnosti potrebno od višeg sistemskog administratora odgovornog za Red Hat Enterprise Linux (RHEL) sisteme.

Važno: Certifikacija Red Hat Certified System Administratora (RHCSA) potrebna je za stjecanje RHCE certifikata.

Slijede ciljevi ispita zasnovani na Red Hat Enterprise Linux 7 verziji ispita, koji će pokrivati ovu RHCE seriju:

Da vidite naknade i prijavite se za ispit u svojoj zemlji, pogledajte stranicu RHCE Certification.

U ovom 1. dijelu serije RHCE i sljedećem, predstavit ćemo osnovne, ali tipične slučajeve u kojima dolaze principi statičkog usmjeravanja, filtriranja paketa i prevođenja mrežnih adresa u igru.

Imajte na umu da ih nećemo detaljno obrađivati, već ćemo ih organizirati na takav način da će vam pomoći da napravite prve korake i dalje odatle.

Statičko usmjeravanje u Red Hat Enterprise Linuxu 7

Jedno od čuda modernog umrežavanja je ogromna dostupnost uređaja koji mogu povezati grupe računara, bilo da su u relativno malom broju i da su ograničeni na jednu prostoriju ili nekoliko mašina u istoj zgradi, gradu, državi ili širom kontinenata.

Međutim, da bi se ovo efikasno postiglo u bilo kojoj situaciji, mrežni paketi moraju biti rutirani, ili drugim riječima, put koji oni slijede od izvora do odredišta mora se nekako upravljati.

Statičko usmjeravanje je proces određivanja rute za mrežne pakete koji nisu zadani, a koji osigurava mrežni uređaj poznat kao default gateway. Osim ako nije drugačije navedeno putem statičkog rutiranja, mrežni paketi se usmjeravaju na zadani gateway; sa statičkim usmjeravanjem, druge staze se definiraju na osnovu unaprijed definiranih kriterija, kao što je odredište paketa.

Hajde da definišemo sledeći scenario za ovaj tutorijal. Imamo Red Hat Enterprise Linux 7 kutiju koja se povezuje na ruter #1 [192.168.0.1] za pristup Internetu i mašinama na 192.168.0.0/24.

Drugi ruter (ruter #2) ima dvije mrežne kartice: enp0s3 je također povezan na ruter #1 za pristup internetu i komunikaciju sa RHEL 7 kutijom i drugim mašinama u istoj mreži, dok se drugi (enp0s8) koristi za odobravanje pristupa mreži 10.0.0.0/24 na kojoj se nalaze interni servisi , kao što je web i/ili server baze podataka.

Ovaj scenario je ilustrovan dijagramom ispod:

U ovom članku ćemo se fokusirati isključivo na postavljanje tablice usmjeravanja na našem RHEL 7 kutiji kako bismo bili sigurni da može pristupiti internetu putem rutera #1 i interne mreže preko rutera #2.

U RHEL 7, koristit ćete ip naredbu za konfiguriranje i prikaz uređaja i rutiranja pomoću komandne linije. Ove promjene mogu odmah stupiti na snagu na pokrenutom sistemu, ali budući da nisu trajne tijekom ponovnog pokretanja, koristit ćemo datoteke ifcfg-enp0sX i route-enp0sX unutar /etc /sysconfig/network-scripts da trajno sačuvamo našu konfiguraciju.

Za početak, odštampajmo našu trenutnu tabelu usmjeravanja:

ip route show

Iz gornjeg rezultata možemo vidjeti sljedeće činjenice:

  1. Zadana IP adresa gatewaya je 192.168.0.1 i može joj se pristupiti putem enp0s3 NIC-a.
  2. Kada se sistem pokrenuo, omogućio je zeroconf rutu na 169.254.0.0/16 (za svaki slučaj). Ukratko, ako je mašina podešena da dobije IP adresu preko DHCP-a, ali to iz nekog razloga ne uspe, automatski joj se dodeljuje adresa u ovoj mreži. Zaključak je da će nam ova ruta omogućiti komunikaciju, također putem enp0s3, sa drugim mašinama koje nisu uspjele dobiti IP adresu od DHCP servera.
  3. Na kraju, ali ne i najmanje važno, možemo komunicirati sa drugim kutijama unutar 192.168.0.0/24 mreže putem enp0s3, čija je IP adresa 192.168.0.18 >.

Ovo su tipični zadaci koje biste morali obavljati u takvom okruženju. Osim ako nije drugačije navedeno, sljedeće zadatke treba izvršiti u ruteru #2:

Provjerite jesu li sve NIC-ove ispravno instalirane:

ip link show

Ako je jedan od njih dolje, podignite ga:

ip link set dev enp0s8 up

i dodijelite joj IP adresu u mreži 10.0.0.0/24:

ip addr add 10.0.0.17 dev enp0s8

Ups! Napravili smo grešku u IP adresi. Morat ćemo ukloniti onaj koji smo ranije dodijelili, a zatim dodati pravi (10.0.0.18):

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

Sada, imajte na umu da možete dodati rutu do odredišne mreže samo kroz gateway koji je već dostupan. Iz tog razloga, moramo dodijeliti IP adresu unutar 192.168.0.0/24 opsega enp0s3 tako da naša RHEL 7 kutija može komunicirati s njom:

ip addr add 192.168.0.19 dev enp0s3

Konačno, morat ćemo omogućiti prosljeđivanje paketa:

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

i zaustaviti/onemogućiti (samo za sada – dok ne obradimo filtriranje paketa u sljedećem članku) firewall:

systemctl stop firewalld
systemctl disable firewalld

Vratimo se u našu RHEL 7 kutiju (192.168.0.18), konfigurirajmo rutu do 10.0.0.0/24 do 192.168.0.19 (enp0s3 u ruteru #2):

ip route add 10.0.0.0/24 via 192.168.0.19

Nakon toga, tabela rutiranja izgleda ovako:

ip route show

Isto tako, dodajte odgovarajuću rutu u mašinu(e) do kojih pokušavate doći u 10.0.0.0/24:

ip route add 192.168.0.0/24 via 10.0.0.18

Možete testirati osnovnu povezanost pomoću pinga:

U okviru RHEL 7 pokrenite

ping -c 4 10.0.0.20

gdje je 10.0.0.20 IP adresa web servera u mreži 10.0.0.0/24.

Na web serveru (10.0.0.20), pokrenite

ping -c 192.168.0.18

gdje je 192.168.0.18, kao što se sjećate, IP adresa naše RHEL 7 mašine.

Alternativno, možemo koristiti tcpdump (možda ćete ga morati instalirati sa yum install tcpdump) da provjerimo dvosmjernu komunikaciju preko TCP-a između našeg RHEL 7 kutije i web servera na 10.0.0.20 .

Da bismo to uradili, počnimo logovanje na prvoj mašini sa:

tcpdump -qnnvvv -i enp0s3 host 10.0.0.20

i sa drugog terminala u istom sistemu hajde da telnet na port 80 na web serveru (pod pretpostavkom da Apache sluša na tom portu; u suprotnom naznačite desni port u sljedećoj naredbi):

telnet 10.0.0.20 80

Dnevnik tcpdump bi trebao izgledati ovako:

Gdje je veza ispravno inicijalizirana, kao što možemo vidjeti gledajući dvosmjernu komunikaciju između našeg RHEL 7 kutije (192.168.0.18) i web servera (10.0.0.20).

Imajte na umu da će ove promjene nestati kada ponovo pokrenete sistem. Ako želite da ih učinite postojanima, morat ćete urediti (ili kreirati, ako već ne postoje) sljedeće datoteke, na istim sistemima na kojima smo izveli gornje komande.

Iako nije striktno neophodno za naš test slučaj, trebali biste znati da /etc/sysconfig/network sadrži mrežne parametre za cijeli sistem. Tipičan /etc/sysconfig/network izgleda ovako:

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

Kada je u pitanju postavljanje specifičnih varijabli i vrijednosti za svaku NIC (kao što smo uradili za ruter #2), morat ćete urediti /etc/sysconfig/network-scripts/ifcfg-enp0s3 i /etc/sysconfig/network-scripts/ifcfg-enp0s8.

Prateći naš slučaj,

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

i

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

za enp0s3 i enp0s8, respektivno.

Što se tiče rutiranja na našem klijentskom stroju (192.168.0.18), morat ćemo urediti /etc/sysconfig/network-scripts/route-enp0s3:

10.0.0.0/24 via 192.168.0.19 dev enp0s3

Sada restartujte svoj sistem i trebalo bi da vidite tu rutu u svojoj tabeli.

Sažetak

U ovom članku smo pokrili osnove statičkog rutiranja u Red Hat Enterprise Linux 7. Iako se scenariji mogu razlikovati, ovdje predstavljen slučaj ilustruje potrebne principe i procedure za obavljanje ovog zadatka. Prije nego što završimo, želio bih vam predložiti da pogledate Poglavlje 4 odjeljka Osiguravanje i optimizacija Linuxa na stranici Linux Documentation Project za dodatne detalje o temama koje se ovdje obrađuju.

Besplatna e-knjiga o Osiguravanje i optimizacija Linuxa: rješenje za hakiranje (v.3.0) – Ova 800+ e-knjiga sadrži sveobuhvatnu kolekciju savjeta o sigurnosti za Linux i kako ih sigurno i jednostavno koristiti za konfiguriranje aplikacija i usluga zasnovanih na Linuxu.

Preuzeti sada

U sljedećem članku ćemo govoriti o filtriranju paketa i prijevodu mrežnih adresa kako bismo sumirali osnovne vještine umrežavanja potrebne za RHCE certifikaciju.

Kao i uvijek, radujemo se Vašem odgovoru, stoga slobodno ostavite svoja pitanja, komentare i prijedloge koristeći formu ispod.