RHCE serija: Kaip nustatyti ir išbandyti statinį tinklo maršrutą - 1 dalis


RHCE („Red Hat“ sertifikuotas inžinierius) yra „Red Hat“ įmonės sertifikatas, suteikiantis atviro kodo operacinę sistemą ir programinę įrangą įmonės bendruomenei. Ji taip pat teikia mokymo, palaikymo ir konsultavimo paslaugas įmonėms.

Šis RHCE („Red Hat“ sertifikuotas inžinierius) yra pagal rezultatus pagrįstas egzaminas (kodinis pavadinimas EX300), kuris turi papildomų įgūdžių, žinių ir gebėjimų, kurių reikia vyresniajam sistemos administratoriui, atsakingam už „Red Hat Enterprise Linux“ (RHEL) sistemas.

Svarbu: norint gauti RHCE sertifikatą, reikalingas „Red Hat“ sertifikuoto sistemos administratoriaus (RHCSA) sertifikatas.

Toliau pateikiami egzamino tikslai, pagrįsti „Red Hat Enterprise Linux 7“ egzamino versija, kuri bus nagrinėjama šioje RHCE serijoje:

Norėdami sužinoti mokesčius ir užsiregistruoti egzaminui savo šalyje, patikrinkite RHCE sertifikavimo puslapį.

Šioje ir kitoje RHCE serijos 1 dalyje pateiksime pagrindinius, tačiau tipiškus atvejus, kai žaidžiami statinio maršruto, paketų filtravimo ir tinklo adresų vertimo principai.

Atkreipkite dėmesį, kad mes jų išsamiau neapžvelgsime, o sutvarkysime šį turinį taip, kad būtų naudinga žengti pirmuosius žingsnius ir kurti iš jų.

Statinis maršrutas „Red Hat Enterprise Linux 7“

Vienas iš šiuolaikinių tinklų stebuklų yra tai, kad yra daugybė prietaisų, kurie gali sujungti kompiuterių grupes, palyginti su nedideliu skaičiumi ir viename kambaryje ar keliose mašinose tame pačiame pastate, mieste, šalyje ar visame žemyne.

Tačiau norint veiksmingai tai pasiekti bet kurioje situacijoje, reikia nukreipti tinklo paketus arba, kitaip tariant, kažkaip reikia valdyti kelią, kuriuo jie eina nuo šaltinio iki paskirties.

Statinis maršrutas yra procesas, nurodantis tinklo paketams, išskyrus numatytuosius, numatytą maršrutą, kurį teikia tinklo įrenginys, žinomas kaip numatytasis šliuzas. Jei statiniame maršrute nenurodyta kitaip, tinklo paketai nukreipiami į numatytąjį šliuzą; naudojant statinį maršrutą, kiti keliai apibrėžiami remiantis iš anksto nustatytais kriterijais, pavyzdžiui, paketo paskirties vieta.

Apibrėžkime šį šios mokymo programos scenarijų. Mes turime „Red Hat Enterprise Linux 7“ langelį, jungiantį prie maršrutizatoriaus Nr. 1 [192.168.0.1], kad galėtume pasiekti internetą ir mašinas 192.168.0.0/24.

Antrasis maršrutizatorius (maršrutizatorius Nr. 2) turi dvi tinklo sąsajos korteles: „enp0s3“ taip pat prijungtas prie maršrutizatoriaus Nr. 1, kad būtų galima prisijungti prie interneto ir bendrauti su „RHEL 7“ dėžute bei kitomis tame pačiame tinkle esančiomis mašinomis, o kita („enp0s8“) naudojama. suteikti prieigą prie 10.0.0.0/24 tinklo, kuriame yra vidinės paslaugos, pvz., žiniatinklio ir (arba) duomenų bazės serverio.

Šis scenarijus pavaizduotas toliau pateiktoje diagramoje:

Šiame straipsnyje daugiausia dėmesio skirsime maršruto lentelės nustatymui RHEL 7 laukelyje, kad įsitikintume, jog jis gali tiek prie interneto prisijungti per maršrutizatorių Nr. 1, tiek vidinį tinklą per maršrutizatorių Nr. 2.

„RHEL 7“ naudosite komandą „ip“, kad sukonfigūruotumėte ir parodytumėte įrenginius ir maršrutą naudodami komandinę eilutę. Šie pakeitimai gali iš karto įsigalioti veikiančioje sistemoje, tačiau kadangi jie nėra nuolatiniai perkrovimo metu, mes naudosime „ifcfg-enp0sX“ ir „route-enp0sX“ failus/etc/sysconfig/network-scripts, kad visam laikui išsaugotume konfigūraciją.

Norėdami pradėti, atspausdinkime dabartinę maršruto lentelę:

# ip route show

Iš aukščiau pateikto rezultato galime pamatyti šiuos faktus:

  1. Numatytasis šliuzo IP adresas yra 192.168.0.1 ir prie jo galima prisijungti per „enp0s3“ NIC.
  2. Paleidus sistemą ji leido „zeroconf“ kelią į 169.254.0.0/16 (tik tuo atveju). Keliais žodžiais, jei mašina nustatyta gauti IP adresą per DHCP, bet to padaryti nepavyksta dėl kokių nors priežasčių, jai automatiškai priskiriamas adresas šiame tinkle. Esmė ta, kad šis maršrutas leis mums bendrauti, taip pat per „enp0s3“, su kitomis mašinomis, kurioms nepavyko gauti IP adreso iš DHCP serverio.
  3. Galiausiai, bet ne mažiau svarbu, mes galime bendrauti su kitais langeliais, esančiais 192.168.0.0/24 tinkle, per „enp0s3“, kurio IP adresas yra 192.168.0.18.

Tai yra tipiškos užduotys, kurias turėtumėte atlikti tokioje aplinkoje. Jei nenurodyta kitaip, maršrutizatoriuje Nr. 2 reikia atlikti šias užduotis:

Įsitikinkite, kad visi NIC buvo tinkamai įdiegti:

# ip link show

Jei vienas iš jų neveikia, iškelkite jį:

# ip link set dev enp0s8 up

ir priskirkite jam 10.0.0.0/24 tinklo IP adresą:

# ip addr add 10.0.0.17 dev enp0s8

Oi! Mes padarėme klaidą nurodydami IP adresą. Turėsime pašalinti anksčiau priskirtą ir tada pridėti tinkamą (10.0.0.18):

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

Dabar atkreipkite dėmesį, kad maršrutą prie paskirties tinklo galite pridėti tik per vartus, kuriuos jau galima pasiekti. Dėl šios priežasties „enp0s3“ turime priskirti IP adresą 192.168.0.0/24 diapazone, kad mūsų „RHEL 7“ dėžutė galėtų su juo bendrauti:

# ip addr add 192.168.0.19 dev enp0s3

Galiausiai turėsime įgalinti paketų persiuntimą:

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

ir sustabdykite/išjunkite (tik kol kas - kol aptarsime paketų filtravimą kitame straipsnyje) ugniasienę:

# systemctl stop firewalld
# systemctl disable firewalld

Konfigūruokime maršrutą į RHEL 7 langelį (192.168.0.18) nuo 10.0.0.0/24 iki 192.168.0.19 (enp0s3 2 maršrutizatoriuje):

# ip route add 10.0.0.0/24 via 192.168.0.19

Po to maršruto lentelė atrodo taip:

# ip route show

Taip pat pridėkite atitinkamą maršrutą mašinoje (-ose), kurią bandote pasiekti naudodami 10.0.0.0/24:

# ip route add 192.168.0.0/24 via 10.0.0.18

Galite patikrinti pagrindinį ryšį naudodami ping:

RHEL 7 laukelyje paleiskite

# ping -c 4 10.0.0.20

kur 10.0.0.20 yra žiniatinklio serverio IP adresas 10.0.0.0/24 tinkle.

Žiniatinklio serveryje (10.0.0.20) paleiskite

# ping -c 192.168.0.18

kur 192.168.0.18 yra, kaip jūs prisiminsite, mūsų RHEL 7 mašinos IP adresas.

Arba mes galime naudoti „tcpdump“ (gali reikėti jį įdiegti su „yum install tcpdump“), kad patikrintume dvipusį ryšį per TCP tarp langelio RHEL 7 ir žiniatinklio serverio 10.0.0.20.

Norėdami tai padaryti, pradėkime registravimą pirmoje mašinoje:

# tcpdump -qnnvvv -i enp0s3 host 10.0.0.20

ir iš kito tos pačios sistemos terminalo telnet į 80 prievadą žiniatinklio serveryje (darant prielaidą, kad „Apache“ klausosi to uosto; kitaip nurodykite tinkamą prievadą šioje komandoje):

# telnet 10.0.0.20 80

„Tcpdump“ žurnalas turėtų atrodyti taip:

Kur ryšys tinkamai inicijuotas, kaip galime pasakyti, žiūrėdami į dvipusį ryšį tarp mūsų dėžutės RHEL 7 (192.168.0.18) ir žiniatinklio serverio (10.0.0.20).

Atminkite, kad šie pakeitimai išnyks, kai paleisite iš naujo sistemą. Jei norite, kad jie būtų nuolatiniai, turėsite redaguoti (arba sukurti, jei jų dar nėra) šiuos failus tose pačiose sistemose, kuriose atlikome aukščiau nurodytas komandas.

Nors tai nėra būtina mūsų bandymo atvejui, turėtumėte žinoti, kad/etc/sysconfig/network yra visos sistemos tinklo parametrai. Tipiškas/etc/sysconfig/network atrodo taip:

# 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

Kai reikia nustatyti konkrečius kintamuosius ir reikšmes kiekvienam NIC (kaip tai darėme 2 maršrutizatoriui), turėsite redaguoti/etc/sysconfig/network-scripts/ifcfg-enp0s3 ir/etc/sysconfig/network-scripts/ifcfg -enp0s8.

Pagal mūsų atvejį

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

ir

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

atitinkamai enp0s3 ir enp0s8.

Kalbant apie maršrutą mūsų kliento mašinoje (192.168.0.18), mums reikės redaguoti/etc/sysconfig/network-scripts/route-enp0s3:

10.0.0.0/24 via 192.168.0.19 dev enp0s3

Dabar perkraukite sistemą ir turėtumėte pamatyti tą maršrutą savo lentelėje.

Santrauka

Šiame straipsnyje aptarėme esminius statinio maršruto parinkimo būdus sistemoje „Red Hat Enterprise Linux 7“. Nors scenarijai gali skirtis, čia pateiktas atvejis iliustruoja reikalingus principus ir procedūras šiai užduočiai atlikti. Prieš pradėdamas darbą, norėčiau pasiūlyti jums peržiūrėti „Linux“ dokumentavimo projekto svetainės „Linux“ užtikrinimo ir optimizavimo skyriaus 4 skyrių, kur rasite daugiau informacijos apie čia aptariamas temas.

Nemokama el. Knyga apie „Linux“ apsaugą ir optimizavimą: įsilaužimo sprendimas (v.3.0) - šioje 800+ el. Knygoje yra išsami „Linux“ saugos patarimų kolekcija ir kaip juos saugiai ir lengvai naudoti norint sukonfigūruoti „Linux“ pagrįstas programas ir paslaugas.

Kitame straipsnyje kalbėsime apie paketų filtravimą ir tinklo adresų vertimą, kad galėtume apibendrinti pagrindinius tinklo įgūdžius, reikalingus RHCE sertifikavimui.

Kaip visada, laukiame jūsų, todėl nedvejodami palikite klausimus, komentarus ir pasiūlymus naudodamiesi žemiau esančia forma.