Síťový filtr jak všichni víme, je to firewall v Linuxu. Firewall je dynamický démon pro správu firewallů s podporou síťových zón. V dřívější verzi RHEL a CentOS 6 používáme iptables jako démon pro rámec pro filtrování paketů. V RHEL /CentOS 7/8 a Fedora iptables rozhraní je nahrazeno firewallem .

Doporučuje se začít používat Firewalld místo iptables protože to může v budoucnu přestat. Nicméně iptables jsou stále podporovány a lze je nainstalovat pomocí příkazu yum. Nemůžeme ponechat Firewalld a iptables oba ve stejném systému, což může vést ke konfliktu.
V iptables , jsme zvyklí konfigurovat jako INPUT, OUTPUT &FORWARD CHAINS ale zde v Firewallu , koncept využívá Zóny . Ve výchozím nastavení jsou na firewallu k dispozici různé zóny, které budou popsány v tomto článku.
Základní zóna, která je jako veřejná zóna a soukromá zóna . Aby to s těmito zónami fungovalo, musíme přidat rozhraní s podporou specifikované zóny a poté můžeme přidat služby do firewallu.
Ve výchozím nastavení je k dispozici mnoho služeb, jedna z nejlepších funkcí firewallu to znamená, že přichází s předdefinovanými službami a tyto služby můžeme vzít jako příklad pro přidání našich služeb pouhým zkopírováním.
Firewall funguje skvěle s IPv4 , IPv6, a ethernetové mosty také. Můžeme mít samostatnou běhovou a trvalou konfiguraci ve firewallu.
Začněme tím, jak pracovat se zónami a vytvářet vlastní služby a mnohem zajímavější použití firewallu.
Naše testovací prostředí
Operating System : CentOS Linux release 7.0.1406 (Core) IP Address : 192.168.0.55 Host-name : server1.tecmintlocal.com

Krok 1:Instalace brány firewall v systému CentOS
1. Firewall balíček je standardně nainstalován v RHEL/CentOS 7/8 a Fedora . Pokud ne, můžete jej nainstalovat pomocí následujícího příkazu yum.
# yum install firewalld -y

2. Po firewallu byl nainstalován, je čas ověřit, zda jsou iptables služba běží nebo ne, pokud běží, musíte službu iptables zastavit a zamaskovat (již nepoužívat) pomocí níže uvedených příkazů.
# systemctl status iptables # systemctl stop iptables # systemctl mask iptables

Krok 2:Diskuse o součástech brány firewall
3. Než se pustím do konfigurace firewallu, rád bych probral jednotlivé zóny. Ve výchozím nastavení jsou k dispozici některé zóny. Potřebujeme přiřadit rozhraní k zóně. Zóna definuje, že zóna, která byla důvěryhodná nebo která byla odepřena, je na úrovni rozhraní pro získání připojení. Zóna může obsahovat služby a porty.
Zde popíšeme jednotlivé zóny dostupné ve Firewalldu.
- Zóna přetažení :Pokud použijeme tuto zónu zahození, všechny příchozí pakety jsou zahozeny. Je to stejné, jako používáme k přidávání iptables -j drop . Pokud použijeme pravidlo přetažení, znamená to, že není žádná odpověď, k dispozici budou pouze odchozí síťová připojení.
- Blokovat zónu :Bloková zóna zakáže odmítnutí příchozích síťových připojení se zákazem icmp-host. Povolena budou pouze navázaná připojení v rámci serveru.
- Veřejná zóna :Pro akceptování vybraných spojení můžeme definovat pravidla ve veřejné zóně. To umožní pouze otevření konkrétního portu na našem serveru, ostatní připojení budou zrušena.
- Vnější zóna :Tato zóna bude fungovat jako možnosti routeru s povoleným maskováním ostatní připojení budou zrušena a nebudou přijata, bude povoleno pouze zadané připojení.
- Zóna DMZ :Pokud potřebujeme povolit přístup k některým službám veřejnosti, můžete to definovat v zóně DMZ. To také má tu vlastnost, že jsou akceptována pouze vybraná příchozí spojení.
- Pracovní zóna:V této zóně můžeme definovat pouze interní sítě, tj. provoz v soukromých sítích je povolen.
- Domovská zóna :Tato zóna se používá speciálně v domácích oblastech, můžeme ji použít, abychom důvěřovali ostatním počítačům v sítích a nepoškodili váš počítač jako každé zóně. To také umožňuje pouze vybraná příchozí připojení.
- Vnitřní zóna :Toto je podobné pracovní zóně s vybranými povolenými připojeními.
- Důvěryhodná zóna :Pokud nastavíme důvěryhodnou zónu, veškerý provoz je akceptován.
Nyní máte lepší představu o zónách, nyní pomocí následujících příkazů zjistíme dostupné zóny, výchozí zóny a vypíšeme všechny zóny.
Seznam zón brány firewall
# firewall-cmd --get-zones

Vypsat výchozí zónu brány firewall
# firewall-cmd --get-default-zone

Vypsat všechny zóny brány firewall
# firewall-cmd --list-all-zones
Poznámka :Výstup výše uvedeného příkazu se nevejde na jednu stránku, protože zde budou uvedeny všechny zóny jako blok, dmz, drop, externí, domácí, interní, veřejná, důvěryhodná a pracovní. Pokud zóny mají nějaká rozšířená pravidla, povolené služby nebo porty budou také uvedeny s příslušnými informacemi o zóně.
Krok 3:Nastavení výchozí zóny brány firewall
4. Pokud byste chtěli nastavit výchozí zónu jako interní, externí, drop, pracovní nebo jakoukoli jinou zónu, můžete použít níže uvedený příkaz k nastavení výchozí zóny. Zde používáme „interní ” jako výchozí.
# firewall-cmd --set-default-zone=internal
5. Po nastavení zóny ověřte výchozí zónu pomocí níže uvedeného příkazu.
# firewall-cmd --get-default-zone

6. Zde je naše rozhraní enp0s3 , Pokud potřebujeme zkontrolovat naši zónu, ve které je rozhraní ohraničeno, můžeme použít níže uvedený příkaz.
# firewall-cmd --get-zone-of-interface=enp0s3

7. Další zajímavou funkcí firewallu je „icmptype ‘ je jedním z typů icmp podporovaných firewallem. Chcete-li získat seznam podporovaných typů icmp, můžeme použít níže uvedený příkaz.
# firewall-cmd --get-icmptypes
Krok 4:Vytvoření vlastních služeb v Firewalldu
8. Služby jsou sada pravidel s porty a možnostmi, které používá Firewalld. Služby, které jsou povoleny, se automaticky načtou při Firewallu služba je spuštěna.
Ve výchozím nastavení je dostupných mnoho služeb. Seznam všech dostupných služeb získáte pomocí následujícího příkazu.
# firewall-cmd --get-services

9. Chcete-li získat seznam všech výchozích dostupných služeb, přejděte do následujícího adresáře, zde získáte seznam služeb.
# cd /usr/lib/firewalld/services/

10. Chcete-li vytvořit vlastní službu, musíte ji definovat na následujícím místě. Například zde chci přidat službu pro RTMP port 1935 , nejprve vytvořte kopii kterékoli ze služeb.
# cd /etc/firewalld/services/ # cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/
A pak přejděte do umístění, kam byl zkopírován náš soubor služby, a poté soubor přejmenujte na ‘ssh.xml ‘ na ‘rtmp.xml ‘ jak je znázorněno na obrázku níže.
# cd /etc/firewalld/services/


11. Dále soubor otevřete a upravte jako Nadpis, Popis, Protokol a Číslo portu , který musíme použít pro službu RTMP, jak je znázorněno na obrázku níže.

12. Chcete-li tyto změny aktivovat, restartujte službu brány firewall nebo znovu načtěte nastavení.
# firewall-cmd --reload
13. Chcete-li potvrdit, zda je služba přidána nebo ne, spusťte níže uvedený příkaz a získejte seznam dostupných služeb.
# firewall-cmd --get-services

Krok 5:Přiřazení služeb k zónám brány firewall
14. Zde se podíváme na to, jak spravovat firewall pomocí příkazu firewall-cmd. Chcete-li zjistit aktuální stav brány firewall a všech aktivních zón, zadejte následující příkaz.
# firewall-cmd --state # firewall-cmd --get-active-zones
15. Chcete-li získat veřejnou zónu pro rozhraní enp0s3 , toto je výchozí rozhraní, které je definováno v /etc/firewalld/firewalld.conf soubor jako DefaultZone=public .
Chcete-li zobrazit seznam všech dostupných služeb v této výchozí zóně rozhraní.
# firewall-cmd --get-service
Krok 6:Přidání služeb do zón brány firewall
16. Ve výše uvedených příkladech jsme viděli, jak vytvořit vlastní služby vytvořením rtmp zde uvidíme, jak přidat rtmp službu také do zóny.
# firewall-cmd --add-service=rtmp
17. Chcete-li odstranit přidanou zónu, napište.
# firewall-cmd --zone=public --remove-service=rtmp
Výše uvedený krok byl pouze dočasným obdobím. Aby to bylo trvalé, musíme spustit níže uvedený příkaz s volbou –permanent .
# firewall-cmd --add-service=rtmp --permanent # firewall-cmd --reload
18. Definujte pravidla pro rozsah síťového zdroje a otevřete kterýkoli z portů. Pokud byste například chtěli otevřít rozsah sítě, řekněte „192.168.0.0/24 ‘ a přístav ‘1935 ‘ použijte následující příkazy.
# firewall-cmd --permanent --add-source=192.168.0.0/24 # firewall-cmd --permanent --add-port=1935/tcp
Po přidání nebo odebrání jakýchkoli služeb nebo portů nezapomeňte znovu načíst službu brány firewall.
# firewall-cmd --reload # firewall-cmd --list-all

Krok 7:Přidání rozšířených pravidel pro rozsah sítě
19. Pokud chci povolit služby jako http, https, vnc-server, PostgreSQL, použijete následující pravidla. Nejprve přidejte pravidlo a udělejte jej trvalým a znovu načtěte pravidla a zkontrolujte stav.
# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="http" accept' # firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="http" accept' --permanent # firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="https" accept' # firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="https" accept' --permanent # firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="vnc-server" accept' # firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="vnc-server" accept' --permanent # firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="postgresql" accept' # firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="postgresql" accept' --permanent
Nyní rozsah sítě 192.168.0.0/24 může používat výše uvedenou službu z mého serveru. Možnost –trvalé lze použít v každém pravidle, ale musíme pravidlo definovat a zkontrolovat s klientským přístupem, poté jej musíme nastavit natrvalo.
20. Po přidání výše uvedených pravidel nezapomeňte znovu načíst pravidla brány firewall a seznam pravidel pomocí:
# firewall-cmd --reload # firewall-cmd --list-all

Chcete-li se dozvědět více o Firewallu.
# man firewalld
To je vše, viděli jsme, jak nastavit síťový filtr pomocí brány Firewalld v RHEL/CentOS a Fedora .
Závěr
Net-filter je rámec pro firewall pro každou distribuci Linuxu. Zpět v každém RHEL a CentOS edice, použili jsme iptables ale v novějších verzích zavedli Firewalld . Je snazší porozumět a používat firewall. Doufám, že se vám psaní líbilo.