Pakettisuodatuksen, verkko-osoitteiden kääntämisen ja ytimen ajonaikaisten parametrien asettaminen - Osa 2


Kuten luvattiin osassa 1 ("Staattisen verkon reitityksen määrittäminen"), tässä artikkelissa (RHCE-sarjan Osa 2) aloitamme esittelemällä pakettisuodatuksen ja verkko-osoitteiden muuntamisen (NAT) periaatteet Red Hat Enterprise Linux 7:ssä, ennen kuin sukeltaa ajonaikaisten ytimen parametrien asettamiseen käynnissä olevan ytimen toiminnan muokkaamiseksi, jos tietyt olosuhteet muuttuvat tai tarpeita ilmenee.

Verkkopakettien suodatus RHEL 7:ssä

Kun puhumme pakettisuodatuksesta, tarkoitamme palomuurin suorittamaa prosessia, jossa se lukee jokaisen datapaketin otsikon, joka yrittää läpäistä sen läpi. Sitten se suodattaa paketin suorittamalla vaaditut toimet järjestelmänvalvojan aiemmin määrittämien sääntöjen perusteella.

Kuten luultavasti tiedät, alkaen RHEL 7:stä, oletuspalvelu, joka hallitsee palomuurisääntöjä, on palomuuri. Kuten iptables, se keskustelee Linux-ytimen netfilter-moduulin kanssa verkkopakettien tutkimiseksi ja käsittelemiseksi. Toisin kuin iptablesissa, päivitykset voivat tulla voimaan välittömästi keskeyttämättä aktiivisia yhteyksiä – sinun ei tarvitse edes käynnistää palvelua uudelleen.

Toinen palomuurin etu on, että sen avulla voimme määrittää sääntöjä valmiiksi määritettyjen palvelunimien perusteella (lisätietoja minuutissa).

Osassa 1 käytimme seuraavaa skenaariota:

Muistat kuitenkin, että poistimme palomuurin reitittimestä #2 esimerkin yksinkertaistamiseksi, koska emme olleet vielä käsittäneet pakettisuodatusta. Katsotaan nyt, kuinka voimme ottaa käyttöön saapuvat paketit, jotka on tarkoitettu tietylle palvelulle tai portille kohteessa.

Lisätään ensin pysyvä sääntö, joka sallii saapuvan liikenteen enp0s3:ssa (192.168.0.19) enp0s8:ssa (10.0.0.18) vahva >>):

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

Yllä oleva komento tallentaa säännön tiedostoon /etc/firewalld/direct.xml:

cat /etc/firewalld/direct.xml

Ota sitten sääntö käyttöön, jotta se tulee voimaan välittömästi:

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

Nyt voit muodostaa telnetin verkkopalvelimelle RHEL 7 -laatikosta ja suorittaa tcpdumpin uudelleen valvoaksesi TCP-liikennettä kahden koneen välillä, tällä kertaa reitittimen 2 palomuurilla. käytössä.

telnet 10.0.0.20 80
tcpdump -qnnvvv -i enp0s3 host 10.0.0.20

Entä jos haluat sallia vain saapuvat yhteydet verkkopalvelimeen (portti 80) osoitteesta 192.168.0.18 ja estää yhteydet muista lähteistä osoitteessa 192.168.0.0/ 24-verkko?

Lisää verkkopalvelimen palomuuriin seuraavat säännöt:

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

Nyt voit tehdä HTTP-pyyntöjä verkkopalvelimelle numerosta 192.168.0.18 ja jostain muusta koneesta osoitteessa 192.168.0.0/24. Ensimmäisessä tapauksessa yhteyden pitäisi valmistua onnistuneesti, kun taas toisessa tapauksessa se lopulta aikakatkaistaan.

Voit tehdä tämän käyttämällä mikä tahansa seuraavista komennoista:

telnet 10.0.0.20 80
wget 10.0.0.20

Suosittelen vahvasti tutustumaan Firewalld Rich Language -dokumentaatioon Fedora Project Wikissä saadaksesi lisätietoja monipuolisista säännöistä.

Verkko-osoitteiden käännös RHEL 7:ssä

Verkko-osoitteiden käännös (NAT) on prosessi, jossa yksityisen verkon tietokoneryhmälle (se voi olla vain yksi niistä) määritetään yksilöllinen julkinen IP-osoite. Tämän seurauksena ne tunnistetaan edelleen yksilöllisesti omalla yksityisellä IP-osoitteellaan verkon sisällä, mutta ulospäin ne kaikki "näyttävät" samalta.