Nätfilter som vi alla vet är det en brandvägg i Linux. Firewalld är en dynamisk demon för att hantera brandväggar med stöd för nätverkszoner. I den tidigare versionen, RHEL & CentOS 6 vi har använt iptables som en demon för paketfiltreringsramverk. I RHEL/CentOS 7/8, Fedora och openSUSE - rong> iptables -gränssnittet ersätts av firewalld.
Det rekommenderas att börja använda Firewalld istället för iptables eftersom detta kan upphöra i framtiden. I alla fall, iptables stöds fortfarande och kan installeras med yum kommando. Vi kan inte behålla Firewalld och iptables båda i samma system som kan leda till konflikter.
I iptables, brukade vi konfigurera som INGÅNG, UTGÅNG & FRAMÅTKEDJOR men här inne Firewalld, använder konceptet Zoner. Som standard finns det olika zoner tillgängliga i firewalld, som kommer att diskuteras i den här artikeln.
Grundzonen som är som allmän zon och privat zon. För att få saker att fungera med dessa zoner måste vi lägga till gränssnittet med det angivna zonstödet och sedan kan vi lägga till tjänsterna till firewalld.
Som standard finns det många tjänster tillgängliga, en av de bästa funktionerna i firewalld är, det kommer med fördefinierade tjänster och vi kan ta dessa tjänster som ett exempel för att lägga till våra tjänster genom att helt enkelt kopiera dem.
Firewalld fungerar utmärkt med IPv4, IPv6, och Ethernet -broar för. Vi kan ha en separat körtid och permanent konfiguration i firewalld.
Låt oss komma igång med hur vi arbetar med zoner och skapar våra egna tjänster och mycket mer spännande användning av firewalld.
Operativ system: CentOS Linux release 7.0.1406 (Core) IP-adress: 192.168.0.55. Värdnamn: server1.tecmintlocal.com.
1.Firewalld paketet är installerat som standard i RHEL/CentOS 7/8, Fedora och openSUSE. Om inte kan du installera det med hjälp av följande yum kommando.
# yum installera firewalld -y.
2. Efter firewalld paketet har installerats, är det dags att kontrollera om iptables tjänsten körs eller inte, om den körs måste du stoppa och maskera (inte använda längre) iptables -tjänsten med nedanstående kommandon.
# systemctl status iptables. # systemctl stop iptables. # systemctl mask iptables.
3. Innan jag går vidare till firewalld -konfiguration skulle jag vilja diskutera varje zon. Som standard finns det några zoner tillgängliga. Vi måste tilldela gränssnittet till zonen. En zon definierar att zonen som var betrodd eller nekad till nivån för gränssnittet för att få en anslutning. En zon kan innehålla tjänster och hamnar.
Här kommer vi att beskriva alla tillgängliga zoner i Firewalld.
Nu har du fått en bättre uppfattning om zoner, låt oss nu ta reda på tillgängliga zoner, standardzoner och lista alla zoner med följande kommandon.
# brandvägg-cmd --get-zoner.
# brandvägg-cmd --get-default-zone.
# brandvägg-cmd --lista-alla-zoner.
Notera: Utmatningen av kommandot ovan passar inte in på en enda sida eftersom detta kommer att lista alla zoner som block, dmz, drop, extern, hem, intern, offentlig, betrodd och arbete. Om zonerna har några riktregler kommer aktiverade tjänster eller hamnar också att listas med respektive zoninformation.
4. Om du vill ange standardzonen som intern, extern, släpp, arbete eller någon annan zon kan du använda kommandot nedan för att ställa in standardzonen. Här använder vi "inre”-Zonen som standard.
# brandvägg-cmd --set-standard-zon = intern.
5. Efter att du har ställt in zonen, verifiera standardzonen med kommandot nedan.
# brandvägg-cmd --get-default-zone.
6. Här är vårt gränssnitt enp0s3, Om vi behöver kontrollera vår zon i vilket gränssnittet är begränsat kan vi använda kommandot nedan.
# brandvägg-cmd --get-zone-of-interface = enp0s3.
7. En annan intressant egenskap hos firewalld är 'icmptype'Är en av icmp -typerna som stöds av firewalld. För att få en lista över icmp -typer som stöds kan vi använda kommandot nedan.
# brandvägg-cmd --get-icmptypes.
8. Tjänster är en uppsättning regler med portar och alternativ som används av Firewalld. Tjänster som är aktiverade laddas automatiskt när Firewalld service igång.
Som standard är många tjänster tillgängliga. För att få en lista över alla tillgängliga tjänster, använd följande kommando.
# brandvägg-cmd --get-services.
9. För att få listan över alla tillgängliga standardtjänster, gå till följande katalog, här får du en lista med tjänster.
# cd/usr/lib/firewalld/services/
10. För att skapa din egen tjänst måste du definiera den på följande plats. Till exempel här vill jag lägga till en tjänst för RTMP hamn 1935, först göra en kopia av någon av tjänsterna.
# cd/etc/firewalld/services/ # cp /usr/lib/firewalld/services/ssh.xml/etc/firewalld/services/
Och navigera sedan till platsen där vår servicefil kopierades, byt därefter namn på filen 'ssh.xml'Till'rtmp.xml'Som visas på bilden nedan.
# cd/etc/firewalld/services/
11. Öppna och redigera sedan filen som Rubrik, beskrivning, protokoll och portnummer, som vi måste använda för RTMP -tjänsten enligt bilden nedan.
12. Om du vill aktivera dessa ändringar startar du om firewalld -tjänsten eller laddar om inställningarna.
# brandvägg-cmd-ladda om.
13. För att bekräfta, om tjänsten läggs till eller inte, kör kommandot nedan för att få en lista över tillgängliga tjänster.
# brandvägg-cmd --get-services.
14. Här ska vi se hur du hanterar brandväggen med brandvägg-cmd-kommando. Om du vill veta det aktuella läget för brandväggen och alla aktiva zoner skriver du följande kommando.
# brandvägg-cmd-stat. # brandvägg-cmd --get-active-zones.
15. För att få den offentliga zonen för gränssnitt enp0s3, detta är standardgränssnittet, som definieras i /etc/firewalld/firewalld.conf fil som DefaultZone = public.
För att lista alla tillgängliga tjänster i denna standardgränssnittszon.
# brandvägg-cmd --get-service.
16. I exemplen ovan har vi sett hur vi skapar våra egna tjänster genom att skapa rtmp service, här får vi se hur du lägger till rtmp service till zonen också.
# brandvägg-cmd --add-service = rtmp.
17. Om du vill ta bort tillagd zon skriver du.
# brandvägg-cmd --zone = public --remove-service = rtmp.
Ovanstående steg var endast en tillfällig period. För att göra det permanent måste vi köra kommandot nedan med alternativ -permanent.
# brandvägg-cmd --add-service = rtmp --permanent. # brandvägg-cmd-ladda om.
18. Definiera regler för nätverkskällintervall och öppna någon av portarna. Till exempel, om du vill öppna ett nätverksintervall, säg '192.168.0.0/24"Och hamn"1935‘Använd följande kommandon.
# brandvägg-cmd --permanent --add-source = 192.168.0.0/24. # brandvägg-cmd --permanent --add-port = 1935/tcp.
Se till att ladda om firewalld -tjänsten efter att du har lagt till eller tagit bort tjänster eller portar.
# brandvägg-cmd-ladda om # brandvägg-cmd-lista-allt.
19. Om jag vill tillåta tjänster som http, https, vnc-server, PostgreSQL, använder du följande regler. Lägg först till regeln och gör den permanent och ladda om reglerna och kontrollera statusen.
# 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" -källa address = "192.168.0.0/24" tjänstnamn = "http" acceptera '-permanent # brandvägg-cmd --add-rich-rule' rule family = "ipv4" källadress = "192.168.0.0/24" tjänstnamn = "https" acceptera' # firewall-cmd --add-rich-rule 'rule family = "ipv4" källadress = "192.168.0.0/24" tjänstnamn = "https" acceptera' --permanent # firewall-cmd --add-rich-rule 'rule family = "ipv4" källadress = "192.168.0.0/24" tjänstnamn = "vnc-server" acceptera' # firewall-cmd --add-rich-rule 'rule family = "ipv4" källadress = "192.168.0.0/24" tjänstnamn = "vnc-server" accepterar' --permanent # firewall-cmd --add-rich-rule 'rule family = "ipv4" källadress = "192.168.0.0/24" tjänstnamn = "postgresql" acceptera' # firewall-cmd --add-rich-rule 'rule family = "ipv4" källadress = "192.168.0.0/24" tjänstnamn = "postgresql" acceptera' --permanent.
Nu, Nätverksintervallet 192.168.0.0/24 kan använda ovanstående tjänst från min server. Alternativet -permanent kan användas i varje regel, men vi måste definiera regeln och kontrollera med klientåtkomsten efter det måste vi göra den permanent.
20. Efter att ha lagt till ovanstående regler, glöm inte att ladda om brandväggsreglerna och lista reglerna med:
# brandvägg-cmd-ladda om. # brandvägg-cmd --lista-allt.
För att veta mer om Firewalld.
# man firewalld.
Det är det, vi har sett hur man konfigurerar ett nätfilter med Firewalld i RHEL/CentOS och Fedora.
Net-filter är ramen för en brandvägg för varje Linux-distribution. Tillbaka i varje RHEL och CentOS utgåvor, vi använde iptables men i nyare versioner har de introducerat Firewalld. Det är lättare att förstå och använda firewalld. Hoppas du har tyckt om att skriva.