Bevezetés
a Firewalld számos Linux disztribúcióhoz elérhető tűzfalkezelő megoldás, amely a Linux kernel által biztosított iptables csomagszűrő rendszer frontendjeként működik. Ebben az útmutatóban bemutatjuk, hogyan állíthat be tűzfalat a kiszolgálóhoz, és bemutatjuk a tűzfal kezelésének alapjait a firewall-cmd
felügyeleti eszközzel (ha inkább a iptables
– et használja a CentOS-szal, kövesse ezt az útmutatót).
Megjegyzés: Van esély arra, hogy a firewalld újabb verziójával dolgozik, mint ami az írás idején elérhető volt, vagy hogy a kiszolgálót kissé eltérően állították be, mint az ebben az útmutatóban használt példakiszolgálót. Így az ebben az útmutatóban ismertetett egyes parancsok viselkedése az adott konfigurációtól függően változhat.
alapfogalmak a Firewalld-ban
mielőtt elkezdenénk beszélni arról, hogyan használjuk a firewall-cmd
segédprogramot a tűzfal konfigurációjának kezelésére, meg kell ismerkednünk néhány alapvető fogalommal, amelyeket az eszköz bemutat.
zónák
a firewalld
démon szabálycsoportokat kezel “zónáknak”nevezett entitások segítségével. A zónák alapvetően olyan szabálykészletek, amelyek meghatározzák, hogy milyen forgalmat kell engedélyezni, attól függően, hogy milyen szintű bizalom van a hálózatokban, amelyekhez a számítógép csatlakozik. A hálózati interfészekhez egy zóna van hozzárendelve, amely diktálja a tűzfal által megengedett viselkedést.
azoknál a számítógépeknél, amelyek gyakran mozognak a hálózatok között (például laptopok), ez a fajta rugalmasság jó módszer a szabályok megváltoztatására a környezettől függően. Lehet, hogy szigorú szabályok vannak érvényben, amelyek tiltják a legtöbb forgalmat, ha nyilvános WiFi hálózaton működnek, miközben enyhébb korlátozásokat tesznek lehetővé az otthoni hálózathoz való csatlakozáskor. Egy szerver esetében ezek a zónák nem olyan fontosak, mert a hálózati környezet ritkán, ha valaha is megváltozik.
függetlenül attól, hogy milyen dinamikus a hálózati környezet, még mindig hasznos, ha ismeri az általános elképzelést a firewalld
előre meghatározott zónái mögött. Annak érdekében, hogy a legkevésbé megbízható a legmegbízhatóbb, az előre meghatározott zónák belül firewalld
a következők:
- csepp: A bizalom legalacsonyabb szintje. Minden bejövő kapcsolat válasz nélkül megszakad, és csak kimenő kapcsolatok lehetségesek.
- blokk: a fentiekhez hasonlóan, de a kapcsolatok egyszerű megszüntetése helyett a bejövő kéréseket
icmp-host-prohibited
vagyicmp6-adm-prohibited
üzenettel utasítják el. - Nyilvános: Nyilvános, nem megbízható hálózatokat jelöl. Nem bízik más számítógépekben, de eseti alapon engedélyezheti a kiválasztott bejövő kapcsolatokat.
- külső: külső hálózatok abban az esetben, ha a tűzfalat átjáróként használja. Úgy van beállítva a NAT maszkolására, hogy a belső hálózat privát maradjon, de elérhető legyen.
- belső: a külső zóna másik oldala, amelyet az átjáró belső részéhez használnak. A számítógépek meglehetősen megbízhatóak, és további szolgáltatások állnak rendelkezésre.
- dmz: DMZ-ben található számítógépekhez használható (elszigetelt számítógépek, amelyek nem férnek hozzá a hálózat többi részéhez). Csak bizonyos bejövő kapcsolatok engedélyezettek.
- munka: munkagépekhez használják. Bízzon a hálózat legtöbb számítógépében. Néhány további szolgáltatás engedélyezhető.
- otthon: otthoni környezet. Ez általában azt jelenti, hogy megbízik a legtöbb más számítógépben, és hogy néhány további szolgáltatást elfogadnak.
- megbízható: bízzon a hálózat összes gépében. A rendelkezésre álló lehetőségek közül a legnyitottabb, ezért takarékosan kell használni.
a tűzfal használatához szabályokat hozhatunk létre, megváltoztathatjuk a zónáink tulajdonságait, majd a hálózati interfészeket a legmegfelelőbb zónákhoz rendelhetjük.
szabály állandóság
a firewalld-ban a szabályok állandónak vagy azonnalinak nevezhetők. Szabály hozzáadása vagy módosítása esetén alapértelmezés szerint a jelenleg futó tűzfal viselkedése módosul. A következő indításkor a régi szabályok visszaállnak.
a legtöbb firewall-cmd
művelet a --permanent
jelzővel jelezheti, hogy a nem mulandó tűzfalat kell megcélozni. Ez hatással lesz a rendszerindításkor újratöltött szabálykészletre. Ez az elválasztás azt jelenti, hogy tesztelheti a szabályokat az aktív tűzfalpéldányban, majd újratöltheti, ha problémák merülnek fel. A --permanent
jelzőt arra is használhatja, hogy idővel egy teljes szabálykészletet építsen ki, amelyet az újratöltési parancs kiadásakor egyszerre alkalmaznak.
telepítse és engedélyezze a tűzfal indítását indításkor
firewalld
alapértelmezés szerint telepítve van néhány Linux disztribúcióra, beleértve a CentOS 7 számos képét. Előfordulhat azonban, hogy magának kell telepítenie a firewalld-t:
- sudo yum install firewalld
a firewalld
telepítése után engedélyezheti a szolgáltatást, és újraindíthatja a kiszolgálót. Ne feledje, hogy a firewalld engedélyezése a szolgáltatás indításakor elindul. A legjobb gyakorlat a tűzfalszabályok létrehozása, és a lehetséges problémák elkerülése érdekében használja ki a lehetőséget, hogy tesztelje őket a viselkedés konfigurálása előtt.
- sudo systemctl enable firewalld
- sudo reboot
amikor a kiszolgáló újraindul, a tűzfalat fel kell hozni, a hálózati csatolókat a konfigurált zónákba kell helyezni (vagy vissza kell térni a konfigurált alapértelmezett zónába), és a zóna(ok) hoz társított szabályokat alkalmazni kell a társított csatolókra.
gépeléssel ellenőrizhetjük, hogy a szolgáltatás fut-e és elérhető-e:
- sudo firewall-cmd --state
outputrunning
ez azt jelzi, hogy a tűzfalunk az alapértelmezett konfigurációval működik.
a jelenlegi tűzfalszabályok megismerése
a módosítások megkezdése előtt ismerkedjünk meg a démon által biztosított alapértelmezett környezettel és szabályokkal.
Az alapértelmezett értékek feltárása
gépeléssel láthatjuk, hogy melyik zóna van alapértelmezettként kiválasztva:
- firewall-cmd --get-default-zone
outputpublic
mivel nem adtunk meg firewalld
parancsot az alapértelmezett zónától való eltérésre, és egyik interfészünk sincs konfigurálva egy másik Zónához való kötődésre, ez a zóna lesz az egyetlen “aktív” zóna (az a zóna, amely az interfészek forgalmát szabályozza). Ezt gépeléssel ellenőrizhetjük:
- firewall-cmd --get-active-zones
outputpublic interfaces: eth0 eth1
itt láthatjuk, hogy a példakiszolgálónknak két hálózati interfésze van, amelyeket a tűzfal vezérel (eth0
és eth1
). Jelenleg mindkettőt a nyilvános zónára meghatározott szabályok szerint kezelik.
honnan tudjuk, hogy milyen szabályok kapcsolódnak a nyilvános zónához? Az alapértelmezett zóna konfigurációját gépeléssel kinyomtathatjuk:
- sudo firewall-cmd --list-all
outputpublic (default, active) target: default icmp-block-inversion: no interfaces: eth0 eth1 sources: services: ssh dhcpv6-client ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
a kimenetből megállapítható, hogy ez a zóna mind az alapértelmezett, mind az aktív, és hogy a eth0
és eth1
interfészek ehhez a zónához vannak társítva (mindezt már korábbi vizsgálatainkból tudtuk). Ugyanakkor azt is láthatjuk, hogy ez a zóna lehetővé teszi a DHCP klienshez (IP-cím hozzárendeléséhez) és SSH-hoz (távoli adminisztrációhoz) kapcsolódó normál műveleteket.
alternatív zónák feltárása
most már van egy jó ötletünk az alapértelmezett és az aktív zóna konfigurációjáról. Más zónákról is tudunk információt szerezni.
a rendelkezésre álló zónák listájának megtekintéséhez írja be::
- firewall-cmd --get-zones
outputblock dmz drop external home internal public trusted work
láthatjuk a zónához társított speciális konfigurációt, ha a --zone=
paramétert belefoglaljuk a --list-all
parancsba:
- sudo firewall-cmd --zone=home --list-all
outputhome interfaces: sources: services: dhcpv6-client ipp-client mdns samba-client ssh ports: masquerade: no forward-ports: icmp-blocks: rich rules:
az összes zónadefiníciót a --list-all-zones
opcióval adhatja ki. A könnyebb megtekintés érdekében valószínűleg a kimenetet egy személyhívóba szeretné csövezni:
- sudo firewall-cmd --list-all-zones | less
zónák kiválasztása az interfészekhez
hacsak nem konfigurálta másként a hálózati interfészeket, a tűzfal indításakor minden interfész Az alapértelmezett zónába kerül.
interfész zónájának módosítása
szekció közben a --zone=
paraméter és a --change-interface=
paraméter együttes használatával át lehet alakítani egy interfészt a zónák között. Mint minden olyan parancs esetében, amely módosítja a tűzfalat, a sudo
parancsot kell használnia.
például a eth0
interfészünket a “home” zónába állíthatjuk át, ha ezt beírjuk:
- sudo firewall-cmd --zone=home --change-interface=eth0
outputsuccess
amikor egy interfészt új zónára vált, vegye figyelembe, hogy valószínűleg módosítja a működőképes szolgáltatásokat. Például itt a “home” zónába költözünk, ahol SSH áll rendelkezésre. Ez azt jelenti, hogy a kapcsolatunknak nem szabad megszakadnia. Néhány más zónában alapértelmezés szerint nincs engedélyezve az SSH, és ha a kapcsolat megszakad ezen zónák egyikének használata közben, előfordulhat, hogy nem tud újra bejelentkezni.
az aktív zónák ismételt kérésével ellenőrizhetjük, hogy ez sikeres volt-e:
- firewall-cmd --get-active-zones
outputhome interfaces: eth0public interfaces: eth1
Az alapértelmezett zóna beállítása
ha az összes interfészt a legjobban egyetlen zóna kezelheti, akkor valószínűleg könnyebb csak kiválasztani a legjobb alapértelmezett zónát, majd ezt használni a konfigurációhoz.
az alapértelmezett zónát a --set-default-zone=
paraméterrel módosíthatja. Ez azonnal megváltoztatja az alapértelmezett interfészt az új zónára:
- sudo firewall-cmd --set-default-zone=home
outputsuccess
Szabályok beállítása az alkalmazásokhoz
a tűzfal kivételek meghatározásának alapvető módja a rendelkezésre bocsátani kívánt szolgáltatások számára egyszerű. Itt végigmegyünk az alapötleten.
Szolgáltatás hozzáadása a zónákhoz
a legegyszerűbb módszer a szükséges szolgáltatások vagy portok hozzáadása a használt zónákhoz. Ismét megkaphatja az elérhető szolgáltatások listáját a --get-services
opcióval:
- firewall-cmd --get-services
outputRH-Satellite-6 amanda-client amanda-k5-client bacula bacula-client bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc ceph ceph-mon cfengine condor-collector ctdb dhcp dhcpv6 dhcpv6-client dns docker-registry dropbox-lansync elasticsearch freeipa-ldap freeipa-ldaps freeipa-replication freeipa-trust ftp ganglia-client ganglia-master high-availability http https imap imaps ipp ipp-client ipsec iscsi-target kadmin kerberos kibana klogin kpasswd kshell ldap ldaps libvirt libvirt-tls managesieve mdns mosh mountd ms-wbt mssql mysql nfs nrpe ntp openvpn ovirt-imageio ovirt-storageconsole ovirt-vmconsole pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy proxy-dhcp ptp pulseaudio puppetmaster quassel radius rpc-bind rsh rsyncd samba samba-client sane sip sips smtp smtp-submission smtps snmp snmptrap spideroak-lansync squid ssh synergy syslog syslog-tls telnet tftp tftp-client tinc tor-socks transmission-client vdsm vnc-server wbem-https xmpp-bosh xmpp-client xmpp-local xmpp-server
ezekről a szolgáltatásokról további részleteket kaphat, ha megnézi a hozzájuk tartozó .xml
fájlt a /usr/lib/firewalld/services
könyvtárban. Például az SSH szolgáltatás a következőképpen definiálható:
<?xml version="1.0" encoding="utf-8"?><service> <short>SSH</short> <description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.</description> <port protocol="tcp" port="22"/></service>
egy zóna szolgáltatását a --add-service=
paraméterrel engedélyezheti. A művelet az alapértelmezett zónát vagy a --zone=
paraméter által meghatározott zónát célozza meg. Alapértelmezés szerint ez csak az aktuális tűzfal munkamenetet módosítja. Az állandó tűzfal konfigurációját a --permanent
jelzővel módosíthatja.
például, ha hagyományos HTTP forgalmat kiszolgáló webszervert futtatunk, akkor ezt a forgalmat engedélyezhetjük a “nyilvános” zónánkban lévő interfészek számára ehhez a munkamenethez:
- sudo firewall-cmd --zone=public --add-service=http
kihagyhatja a --zone=
értéket, ha módosítani szeretné az alapértelmezett zónát. A --list-all
vagy --list-services
műveletek segítségével ellenőrizhetjük a művelet sikerét:
- sudo firewall-cmd --zone=public --list-services
outputdhcpv6-client http ssh
miután tesztelte, hogy minden úgy működik, ahogy kellene, valószínűleg módosítani szeretné az állandó tűzfalszabályokat, hogy a szolgáltatás újraindítás után is elérhető legyen. Tudjuk, hogy a” nyilvános ” zóna változás állandó gépeléssel:
- sudo firewall-cmd --zone=public --permanent --add-service=http
outputsuccess
a --permanent
jelző --list-services
művelethez való hozzáadásával ellenőrizheti, hogy ez sikeres volt-e. Minden sudo
művelethez --permanent
:
- sudo firewall-cmd --zone=public --permanent --list-services
outputdhcpv6-client http ssh
a “nyilvános” zóna mostantól lehetővé teszi a HTTP webes forgalmat a 80-as porton. Ha a webkiszolgáló SSL/TLS használatára van konfigurálva, akkor hozzá kell adnia a https
szolgáltatást is. Ezt hozzáadhatjuk az aktuális munkamenethez és az állandó szabálykészlethez a gépeléssel:
- sudo firewall-cmd --zone=public --add-service=https
- sudo firewall-cmd --zone=public --permanent --add-service=https
mi van, ha nem áll rendelkezésre megfelelő szolgáltatás?
a firewalld telepítéshez tartozó tűzfalszolgáltatások a leggyakoribb követelményeket jelentik azon alkalmazások számára, amelyekhez hozzáférést kíván engedélyezni. Valószínűleg azonban lesznek olyan forgatókönyvek, amikor ezek a szolgáltatások nem felelnek meg az Ön igényeinek.
ebben a helyzetben két lehetősége van.
port megnyitása a zónákhoz
az adott alkalmazás támogatásának legegyszerűbb módja az, ha megnyitja a megfelelő zónákban használt portokat. Ez olyan egyszerű, mint megadni a portot vagy a porttartományt, valamint a megnyitandó portokhoz tartozó protokollt.
például, ha az alkalmazásunk az 5000-es porton fut, és TCP-t használ, hozzáadhatjuk ezt a munkamenet “nyilvános” zónájához a --add-port=
paraméter segítségével. A protokollok lehetnek tcp
vagy udp
:
- sudo firewall-cmd --zone=public --add-port=5000/tcp
outputsuccess
a --list-ports
művelettel ellenőrizhetjük, hogy ez sikeres volt-e:
- sudo firewall-cmd --zone=public --list-ports
output5000/tcp
lehetőség van a portok szekvenciális tartományának megadására is, ha a tartomány elejét és végét egy kötőjellel elválasztjuk. Például, ha alkalmazásunk 4990-4999 UDP portokat használ, ezeket a “nyilvános” gépeléssel nyithatjuk meg:
- sudo firewall-cmd --zone=public --add-port=4990-4999/udp
a tesztelés után valószínűleg ezeket szeretnénk hozzáadni az állandó tűzfalhoz. Meg tudod csinálni, hogy beírja:
- sudo firewall-cmd --zone=public --permanent --add-port=5000/tcp
- sudo firewall-cmd --zone=public --permanent --add-port=4990-4999/udp
- sudo firewall-cmd --zone=public --permanent --list-ports
outputsuccesssuccess5000/tcp 4990-4999/udp
szolgáltatás meghatározása
a zónák portjainak megnyitása egyszerű, de nehéz lehet nyomon követni, hogy mindegyik mire szolgál. Ha valaha is leszerel egy szolgáltatást a szerveren, akkor nehezen emlékezhet arra, hogy mely megnyitott portokra van még szükség. A helyzet elkerülése érdekében lehetőség van egy szolgáltatás meghatározására.
a szolgáltatások egyszerűen portok gyűjteményei, amelyekhez társított név és leírás tartozik. A Szolgáltatások használata könnyebb adminisztrálni, mint a portok, de egy kis előzetes munkát igényel. A legegyszerűbb módja annak, hogy egy meglévő szkriptet (a /usr/lib/firewalld/services
-ben található) átmásoljon a /etc/firewalld/services
könyvtárba, ahol a tűzfal nem szabványos definíciókat keres.
például másolhatjuk az SSH szolgáltatásdefiníciót, hogy a “példa” szolgáltatásdefiníciónkhoz használjuk. A fájlnév mínusz a .xml
utótag diktálja a szolgáltatás nevét a tűzfalszolgáltatások listában:
- sudo cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/example.xml
Most módosíthatja a másolt fájlban található definíciót:
sudo vi /etc/firewalld/services/example.xml
az indításhoz a fájl tartalmazza a másolt SSH definíciót:
<?xml version="1.0" encoding="utf-8"?><service> <short>SSH</short> <description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.</description> <port protocol="tcp" port="22"/></service>
ennek a definíciónak a többsége valójában metaadat. Meg kell változtatnia a szolgáltatás rövid nevét a <short>
címkéken belül. Ez egy ember által olvasható név a szolgálatához. Adjon hozzá egy leírást is, hogy több információval rendelkezzen, ha valaha is ellenőriznie kell a szolgáltatást. Az egyetlen olyan konfiguráció, amely ténylegesen befolyásolja a szolgáltatás funkcionalitását, valószínűleg a portdefiníció lesz, ahol azonosítja a megnyitni kívánt portszámot és protokollt. Ez többször is megadható.
a “példa” szolgáltatáshoz képzeljük el, hogy meg kell nyitnunk a 7777-es portot a TCP-hez és a 8888-as portot az UDP-hez. A Beszúrás módba való belépéssel a i
megnyomásával módosíthatjuk a meglévő definíciót valami hasonlóval:
<?xml version="1.0" encoding="utf-8"?><service> <short>Example Service</short> <description>This is just an example service. It probably shouldn't be used on a real system.</description> <port protocol="tcp" port="7777"/> <port protocol="udp" port="8888"/></service>
nyomja meg a ESC
gombot, majd írja be a :x
parancsot a fájl mentéséhez és bezárásához.
töltse újra a tűzfalat, hogy hozzáférjen az új szolgáltatáshoz:
- sudo firewall-cmd --reload
láthatja, hogy most a rendelkezésre álló szolgáltatások listáján szerepel:
- firewall-cmd --get-services
outputRH-Satellite-6 amanda-client amanda-k5-client bacula bacula-client bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc ceph ceph-mon cfengine condor-collector ctdb dhcp dhcpv6 dhcpv6-client dns docker-registry dropbox-lansync elasticsearch example freeipa-ldap freeipa-ldaps freeipa-replication freeipa-trust ftp ganglia-client ganglia-master high-availability http https imap imaps ipp ipp-client ipsec iscsi-target kadmin kerberos kibana klogin kpasswd kshell ldap ldaps libvirt libvirt-tls managesieve mdns mosh mountd ms-wbt mssql mysql nfs nrpe ntp openvpn ovirt-imageio ovirt-storageconsole ovirt-vmconsole pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy proxy-dhcp ptp pulseaudio puppetmaster quassel radius rpc-bind rsh rsyncd samba samba-client sane sip sips smtp smtp-submission smtps snmp snmptrap spideroak-lansync squid ssh synergy syslog syslog-tls telnet tftp tftp-client tinc tor-socks transmission-client vdsm vnc-server wbem-https xmpp-bosh xmpp-client xmpp-local xmpp-server
most már használhatja ezt a szolgáltatást a zónákban, mint általában.
saját zónák létrehozása
bár az előre definiált zónák valószínűleg több mint elegendőek a legtöbb felhasználó számára, hasznos lehet a saját zónák meghatározása, amelyek jobban leírják a funkciójukat.
például érdemes létrehozni egy zónát a webkiszolgáló számára, az úgynevezett “publicweb”. Előfordulhat azonban, hogy egy másik zónát szeretne konfigurálni a magánhálózaton biztosított DNS-szolgáltatáshoz. Lehet, hogy ehhez egy “privateDNS” nevű zónát szeretne.
zóna hozzáadásakor hozzá kell adnia azt az állandó tűzfal konfigurációhoz. Ezután újratöltheti a konfigurációt a futó munkamenetbe. Például, létrehozhatnánk a fent tárgyalt két zónát gépeléssel:
- sudo firewall-cmd --permanent --new-zone=publicweb
- sudo firewall-cmd --permanent --new-zone=privateDNS
gépeléssel ellenőrizheti, hogy ezek jelen vannak-e az állandó konfigurációban:
- sudo firewall-cmd --permanent --get-zones
outputblock dmz drop external home internal privateDNS public publicweb trusted work
mint korábban említettük, ezek még nem lesznek elérhetők a tűzfal jelenlegi példányában:
- firewall-cmd --get-zones
outputblock dmz drop external home internal public trusted work
töltse be újra a tűzfalat, hogy ezeket az új zónákat az aktív konfigurációba hozza:
- sudo firewall-cmd --reload
- firewall-cmd --get-zones
outputblock dmz drop external home internal privateDNS public publicweb trusted work
most elkezdheti a megfelelő szolgáltatások és portok hozzárendelését a zónákhoz. Általában célszerű módosítani az aktív példányt, majd a tesztelés után átvinni ezeket a módosításokat az állandó konfigurációba. Például a “publicweb” zónához érdemes hozzáadni az SSH, HTTP és HTTPS szolgáltatásokat:
- sudo firewall-cmd --zone=publicweb --add-service=ssh
- sudo firewall-cmd --zone=publicweb --add-service=http
- sudo firewall-cmd --zone=publicweb --add-service=https
- sudo firewall-cmd --zone=publicweb --list-all
outputpublicweb target: default icmp-block-inversion: no interfaces: sources: services: ssh http https ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
hasonlóképpen hozzáadhatjuk a DNS szolgáltatást a “privateDNS” zónánkhoz:
- sudo firewall-cmd --zone=privateDNS --add-service=dns
- sudo firewall-cmd --zone=privateDNS --list-all
outputprivateDNS interfaces: sources: services: dns ports: masquerade: no forward-ports: icmp-blocks: rich rules:
ezután megváltoztathatjuk interfészeinket ezekre az új zónákra, hogy teszteljük őket:
- sudo firewall-cmd --zone=publicweb --change-interface=eth0
- sudo firewall-cmd --zone=privateDNS --change-interface=eth1
ezen a ponton lehetősége van tesztelni a konfigurációt. Ha ezek az értékek működnek az Ön számára, akkor ugyanazokat a szabályokat kell hozzáadnia az állandó konfigurációhoz. Ezt úgy teheti meg, hogy újra alkalmazza a Szabályokat a --permanent
jelzővel:
- sudo firewall-cmd --zone=publicweb --permanent --add-service=ssh
- sudo firewall-cmd --zone=publicweb --permanent --add-service=http
- sudo firewall-cmd --zone=publicweb --permanent --add-service=https
- sudo firewall-cmd --zone=privateDNS --permanent --add-service=dns
miután véglegesen alkalmazta ezeket a szabályokat, újraindíthatja a hálózatot, és újratöltheti a tűzfalszolgáltatást:
- sudo systemctl restart network
- sudo systemctl reload firewalld
ellenőrizze, hogy a megfelelő zónák vannak-e hozzárendelve:
- firewall-cmd --get-active-zones
outputprivateDNS interfaces: eth1publicweb interfaces: eth0
ellenőrizze, hogy a megfelelő szolgáltatások mindkét zónában rendelkezésre állnak-e:
- sudo firewall-cmd --zone=publicweb --list-services
outputhttp https ssh
- sudo firewall-cmd --zone=privateDNS --list-services
outputdns
sikeresen beállította saját zónáit! Ha ezen zónák egyikét szeretné alapértelmezetté tenni más interfészek számára, ne felejtse el konfigurálni ezt a viselkedést a --set-default-zone=
paraméterrel:
sudo firewall-cmd --set-default-zone=publicweb
következtetés
most már meglehetősen jól meg kell értenie, hogyan kell a firewalld szolgáltatást a CentOS rendszerén napi használatra adminisztrálni.
a firewalld szolgáltatás lehetővé teszi karbantartható szabályok és szabálykészletek konfigurálását, amelyek figyelembe veszik a hálózati környezetet. Lehetővé teszi a különböző tűzfal-házirendek közötti zökkenőmentes átmenetet a zónák használatával, és lehetővé teszi a rendszergazdák számára, hogy a portkezelést barátságosabb szolgáltatásdefiníciókba vonják. A rendszer szakmai ismereteinek megszerzése lehetővé teszi, hogy kihasználja az eszköz által nyújtott rugalmasságot és erőt.