Avancerade brandväggsregler (IPTables)
Bemästra IPTables för att skapa komplexa, tillståndsbevarande brandväggsregler, implementera nätadressöversättning (NAT) och skydda servern mot avancerade attacker.
Avancerade brandväggsregler (IPTables) är en gratis lektion i Driftsättning av Linuxservrar och SSH på djupet på CoddyKit. Detta är lektion 2 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Driftsättning av Linuxservrar och SSH på djupet, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Driftsättning av Linuxservrar och SSH på djupet innehåller totalt 4 lektioner.
Fördjupning i IPTables
IPTables är Linux inbyggda och kraftfulla brandvägg. Även om vi har sett grunderna erbjuder den avancerade funktioner för exakt kontroll.
I den här lektionen får ni lära er komplexa regler, tillståndsbaserad filtrering och Network Address Translation (NAT) för att verkligen säkra och hantera serverns nätverk.
Kom ihåg tabeller och kedjor
IPTables organiserar regler i tabeller, där varje tabell har ett särskilt syfte. I tabellerna finns kedjor, som är listor med regler som utvärderas i ordning.
filter-tabellen: Standardtabellen, som används för att filtrera (blockera eller tillåta) paket. Innehåller kedjornaINPUT,OUTPUTochFORWARD.nat-tabellen: Används för Network Address Translation (NAT). Innehåller kedjornaPREROUTING,POSTROUTINGochOUTPUT.- Andra tabeller, som
mangleochraw, finns för specialiserad ändring av paket.
Tillståndsbaserad brandväggsfiltrering
En tillståndsbaserad brandvägg följer nätverksanslutningarnas tillstånd. I stället för att bara kontrollera varje paket separat kommer den ihåg om ett paket tillhör en befintlig, etablerad anslutning.
Viktiga anslutningstillstånd:
NEW: Det första paketet i en ny anslutning.ESTABLISHED: Paket som tillhör en befintlig, aktiv anslutning.RELATED: Paket som startar en ny anslutning som är relaterad till en befintlig (t.ex. FTP-dataöverföring).
Implementera tillståndsbaserade regler
Tillståndsbaserade regler förenklar brandväggshanteringen avsevärt. Ni kan tillåta all trafik som tillhör etablerade anslutningar, vilket innebär att ni bara behöver definiera regler för anslutningar som initieras med NEW.
Den här regeln tillåter alla inkommande paket som ingår i en redan etablerad eller relaterad anslutning:
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPTSkapa komplex regel-logik
IPTables låter er kombinera olika matchningsmoduler och alternativ för att skapa mycket specifika regler. Det hjälper er att finjustera åtkomsten för olika tjänster och källor.
Exempel: Tillåt SSH (port 22) från ett specifikt delnät (192.168.1.0/24) endast för nya anslutningar.
sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.1.0/24 -m state --state NEW -j ACCEPTIntroduktion till Network Address Translation
Network Address Translation (NAT) ändrar nätverksadressinformationen i paketens IP-huvud medan paketen överförs. Det är avgörande för:
- Att låta flera enheter i ett privat nätverk dela på en enda offentlig IP-adress (t.ex. hemroutrar).
- Portvidarebefordran, som dirigerar externa förfrågningar till interna servrar.
Det finns två huvudtyper: Source NAT (SNAT) och Destination NAT (DNAT).
SNAT för utgående anslutningar
Source NAT (SNAT) ändrar paketens käll-IP-adress. Det används vanligtvis när interna servrar behöver komma åt internet via en gateway-server med en offentlig IP-adress.
Maskering är en särskild form av SNAT där det utgående gränssnittets IP-adress automatiskt används som käll-IP. Det är användbart för dynamiska IP-adresser.
Exempel: Tillåt det interna nätverket 192.168.0.0/24 att komma åt internet via eth0.
sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADEDNAT för inkommande tjänster
Destination-NAT (DNAT) ändrar paketens destinations-IP-adress. Det passar perfekt för portvidarebefordran, där Ni gör en tjänst som körs på en intern server tillgänglig på internet via gatewayserverns offentliga IP-adress.
Exempel: Vidarebefordra inkommande webbförfrågningar (port 80) på eth0 till en intern webbserver på 192.168.1.100.
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.100:80Skydda mot brute force-attacker
IPTables kan hjälpa till att skydda mot vanliga attacker, till exempel brute force-försök att logga in (t.ex. via SSH), genom att begränsa hastigheten med vilken nya anslutningar accepteras från en käll-IP.
Modulen limit låter Er ange en hastighet och en burst-gräns. Kom ihåg att släppa efterföljande anslutningar när gränsen har nåtts.
Exempel: Begränsa nya SSH-anslutningar till 3 per minut, med en initial burst på 3 anslutningar, och släpp sedan övriga.
sudo iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m limit --limit 3/minute --limit-burst 3 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j DROPLogiken bakom IPTables-regler
Tänk Er en server som fungerar som gateway. Den har ett offentligt gränssnitt eth0 och ett internt gränssnitt eth1 (anslutet till 192.168.1.0/24).
Vilket IPTables-kommando skulle göra en intern webbserver på 192.168.1.50 tillgänglig från internet på port 80?
Sammanfattning: IPTables på avancerad nivå
Grattis! Ni har utforskat avancerade IPTables-koncept:
- Stateful-brandväggar med tillstånden
ESTABLISHED,RELATEDochNEW. - Skapa komplexa regler genom att kombinera flera matchningskriterier.
- Implementera Network Address Translation (NAT) för både utgående trafik (SNAT/Masquerade) och inkommande trafik (DNAT/Port Forwarding).
- Använda modulen
limitför ett grundläggande skydd mot attacker.
Dessa färdigheter är avgörande för att bygga robusta och säkra Linux-servermiljöer. Kom ihåg att spara Era IPTables-regler efter ändringar, eftersom de inte sparas permanent som standard!
Lär dig Driftsättning av Linuxservrar och SSH på djupet med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 12
- Lektioner
- 48
Vanliga frågor
Är lektionen ”Avancerade brandväggsregler (IPTables)” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Driftsättning av Linuxservrar och SSH på djupet, inklusive ”Avancerade brandväggsregler (IPTables)”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Driftsättning av Linuxservrar och SSH på djupet innehåller totalt 4 lektioner.
Vad lär jag mig i ”Avancerade brandväggsregler (IPTables)”?
Bemästra IPTables för att skapa komplexa, tillståndsbevarande brandväggsregler, implementera nätadressöversättning (NAT) och skydda servern mot avancerade attacker. Ni övar på Driftsättning av Linuxservrar och SSH på djupet med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Driftsättning av Linuxservrar och SSH på djupet?
Du behöver inga förkunskaper. Utbildningen i Driftsättning av Linuxservrar och SSH på djupet på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.
Hur lång tid tar lektionen ”Avancerade brandväggsregler (IPTables)”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Driftsättning av Linuxservrar och SSH på djupet-lektionen?
Ja. Varje Driftsättning av Linuxservrar och SSH på djupet-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Säkerhetsgranskning av server
- Avancerade brandväggsregler (IPTables)
- Intrångsdetektering och -förebyggande
- Centraliserad loggning och SIEM-integration