Pakettide filtreerimise, võrguaadressi tõlkimise ja kerneli käitamise parameetrite määramine - 2. osa


Nagu lubati 1. osas (\ "Staatilise võrgu marsruutimise seadistamine"), alustame selles artiklis (RHCE seeria 2. osa) Red Hat Enterprise Linux 7 pakettide filtreerimise ja võrguaadressi tõlkimise (NAT) põhimõtete tutvustamisega enne sukeldumine käituse kerneli parameetrite seadistamisse, et muuta töötava tuuma käitumist, kui teatud tingimused muutuvad või vajadused tekivad.

Võrgupakettide filtreerimine RHEL-is 7

Pakettide filtreerimisest rääkides peame silmas tulemüüri teostatud protsessi, kus see loeb iga seda läbida üritava andmepaketi päist. Seejärel filtreerib see paketi, tehes nõutavad toimingud reeglite alusel, mille süsteemiadministraator on eelnevalt määratlenud.

Nagu te ilmselt teate, on tulemüüri reegleid haldav vaiketeenus tulemüür RHEL 7 alustades tulemüür. Nagu iptables, kõneleb see ka Linuxi tuuma mooduliga netfilter, et uurida ja manipuleerida võrgupakettidega. Erinevalt iptables'ist võivad värskendused jõustuda kohe ilma aktiivseid ühendusi katkestamata - te ei pea isegi teenust taaskäivitama.

Teine tulemüüri eelis on see, et see võimaldab meil määratleda reeglid, mis põhinevad eelkonfigureeritud teenusenimedel (täpsemalt sellest minutiga).

1. osas kasutasime järgmist stsenaariumi:

Mäletate siiski, et keelasime ruuteri nr 2 tulemüüri näite lihtsustamiseks, kuna me polnud veel pakettide filtreerimist käsitlenud. Vaatame nüüd, kuidas saame sihtkohas kindlale teenusele või sadamale mõeldud sissetulevad paketid lubada.

Kõigepealt lisame püsiva reegli, et lubada sissetulev liiklus enp0s3 (192.168.0.19) kuni enp0s8 (10.0.0.18):

# firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -i enp0s3 -o enp0s8 -j ACCEPT

Ülaltoodud käsk salvestab reegli /etc/firewalld/direct.xml:

# cat /etc/firewalld/direct.xml

Seejärel lubage reegel, et see jõustuks kohe:

# firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -i enp0s3 -o enp0s8 -j ACCEPT

Nüüd saate telneti kaudu RHEL 7-st veebiserverisse käivitada ja uuesti käivitada tcpdump, et jälgida kahe masina vahelist TCP-liiklust, seekord lubades ruuteri nr 2 tulemüüri.

# telnet 10.0.0.20 80
# tcpdump -qnnvvv -i enp0s3 host 10.0.0.20

Mida teha, kui soovite lubada sissetulevaid ühendusi veebiserveriga (port 80) ainult alates 192.168.0.18 ja blokeerida ühendused muudest allikatest võrgus 192.168.0.0/24?

Lisage veebiserveri tulemüüri järgmised reeglid:

# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.18/24" service name="http" accept'
# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.18/24" service name="http" accept' --permanent
# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="http" drop'
# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="http" drop' --permanent

Nüüd saate teha HTTP-päringuid veebiserverile alates 192.168.0.18 ja mõnest muust masinast 192.168.0.0/24. Esimesel juhul peaks ühendus edukalt lõpule jõudma, teisel aga aegumine.

Selleks teeb trikki mõni järgmistest käskudest:

# telnet 10.0.0.20 80
# wget 10.0.0.20

Rikkalike reeglite kohta lisateabe saamiseks soovitame tungivalt tutvuda Fedora projekti Wiki tulemüüri rikkaliku keele dokumentatsiooniga.

Võrgu aadresside tõlkimine RHEL-is 7

Võrguaadressi tõlkimine (NAT) on protsess, kus eravõrgus olevale arvutirühmale (see võib olla ka üks neist) määratakse ainulaadne avalik IP-aadress. Seetõttu on võrgusisene isiklik IP-aadress endiselt identifitseeritav, kuid väljastpoolt tunduvad nad kõik ühesugused.