Nybörjarhandboken till iptables, Linux-brandväggen

Aug 27, 2025
Sekretess och säkerhet

Iptables är ett extremt flexibelt brandväggsverktyg byggt för Linux-operativsystem. Oavsett om du är en nybörjare av Linux-nörd eller systemadministratör, finns det antagligen något sätt att iptables kan vara bra för dig. Läs vidare när vi visar dig hur du konfigurerar den mest mångsidiga Linux-brandväggen.

Om iptables

iptables är ett kommandorads brandväggsverktyg som använder policykedjor för att tillåta eller blockera trafik. När en anslutning försöker etablera sig på ditt system letar iptables efter en regel i sin lista för att matcha den. Om den inte hittar någon använder den standardåtgärden.

iptables levereras nästan alltid förinstallerat på alla Linux-distributioner. För att uppdatera / installera det, hämta bara iptables-paketet:

sudo apt-get install iptables

Det finns GUI-alternativ till iptables som Firestarter , men iptables är inte riktigt så svårt när du har några kommandon nere. Du vill vara extremt försiktig när du konfigurerar regler för iptables, särskilt om du SSH skulle vara på en server, eftersom ett felkommando permanent kan låsa ut dig tills det fixeras manuellt på den fysiska maskinen.

Typer av kedjor

iptables använder tre olika kedjor: input, forward och output.

Inmatning - Denna kedja används för att kontrollera beteendet för inkommande anslutningar. Till exempel, om en användare försöker SSH in i din PC / server, kommer iptables att försöka matcha IP-adressen och porten till en regel i inmatningskedjan.

Fram - Denna kedja används för inkommande anslutningar som faktiskt inte levereras lokalt. Tänk på en router - data skickas alltid till den men sällan faktiskt avsedd för själva routern; uppgifterna vidarebefordras bara till sitt mål. Om du inte gör någon form av dirigering, NATing eller något annat på ditt system som kräver vidarebefordran, kommer du inte ens använda den här kedjan.

Det finns ett säkert sätt att kontrollera om ditt system använder / behöver framåtkedjan eller inte.

iptables -L -v

Skärmdumpen ovan är av en server som har körts i några veckor och har inga begränsningar för inkommande eller utgående anslutningar. Som du kan se har ingångskedjan bearbetat 11 GB paket och utgångskedjan har bearbetat 17 GB. Den främre kedjan har å andra sidan inte behövt bearbeta ett enda paket. Detta beror på att servern inte vidarebefordrar eller används som en pass-through-enhet.

Produktion - Denna kedja används för utgående anslutningar. Till exempel, om du försöker pinga howtogeek.com, kommer iptables att kontrollera dess utgångskedja för att se vad reglerna gäller för ping och howtogeek.com innan de fattar ett beslut att tillåta eller neka anslutningsförsöket.

Förbehållet

Även om pingning av en extern värd verkar som något som bara skulle behöva korsa utgångskedjan, kom ihåg att ingångskedjan också kommer att användas för att returnera data. När du använder iptables för att låsa ditt system, kom ihåg att många protokoll kräver tvåvägskommunikation, så både ingångs- och utgångskedjorna måste konfigureras korrekt. SSH är ett vanligt protokoll som folk glömmer att tillåta i båda kedjorna.

Policykedjans standardbeteende

Innan du går in och konfigurerar specifika regler vill du bestämma vad du vill att de tre kedjornas standardbeteende ska vara. Med andra ord, vad vill du att iptables ska göra om anslutningen inte matchar några befintliga regler?

För att se vad dina policykedjor för närvarande är konfigurerade för att göra med oöverträffad trafik, kör du iptables -L kommando.

Som du kan se använde vi också kommandot grep för att ge oss renare utdata. I den skärmdumpen anses våra kedjor för närvarande acceptera trafik.

Fler gånger än inte vill du att ditt system ska acceptera anslutningar som standard. Om du inte har ändrat reglerna för policykedjan tidigare bör den här inställningen redan vara konfigurerad. Hur som helst, här är kommandot att acceptera anslutningar som standard:

iptables - policy INPUT ACCEPT
iptables --policy OUTPUT ACCEPT
iptables - policy FRAMÅTET ACCEPT

Genom att som standard acceptera regeln kan du sedan använda iptables för att neka specifika IP-adresser eller portnummer samtidigt som du fortsätter att acceptera alla andra anslutningar. Vi kommer till dessa kommandon på en minut.

Om du hellre vill neka alla anslutningar och manuellt ange vilka du vill tillåta anslutning bör du ändra standardpolicyn för dina kedjor så att den släpps. Att göra detta skulle förmodligen bara vara användbart för servrar som innehåller känslig information och bara har samma IP-adresser anslutna till dem.

iptables - policy INPUT DROP
iptables --policy OUTPUT DROP
iptables - policy FRAMÅT DROP

Anslutningsspecifika svar

Med din standardkedjepolicy konfigurerad kan du börja lägga till regler i iptables så att den vet vad den ska göra när den stöter på en anslutning från eller till en viss IP-adress eller port. I den här guiden ska vi gå igenom de tre mest grundläggande och vanliga "svaren".

Acceptera - Tillåt anslutningen.

Släppa - Släpp anslutningen, agera som om det aldrig hände. Detta är bäst om du inte vill att källan ska inse att ditt system finns.

Avvisa - Tillåt inte anslutningen, men skicka tillbaka ett fel. Detta är bäst om du inte vill att en viss källa ska ansluta till ditt system, men du vill att de ska veta att din brandvägg blockerade dem.

Det bästa sättet att visa skillnaden mellan dessa tre regler är att visa hur det ser ut när en dator försöker pinga en Linux-maskin med iptables konfigurerade för var och en av dessa inställningar.

Tillåter anslutning:

Avbryter anslutningen:

Avvisa anslutningen:

Tillåta eller blockera specifika anslutningar

Med dina policykedjor konfigurerade kan du nu konfigurera iptables för att tillåta eller blockera specifika adresser, adressintervall och portar. I dessa exempel ställer vi in ​​anslutningarna till SLÄPPA , men du kan byta dem till ACCEPTERA eller AVVISA , beroende på dina behov och hur du konfigurerade dina policykedjor.

Obs! I dessa exempel kommer vi att använda iptables -A för att lägga till regler i den befintliga kedjan. iptables börjar högst upp på listan och går igenom varje regel tills den hittar en som den matchar. Om du behöver infoga en regel ovanför en annan kan du använda iptables -I [chain] [number] för att ange numret som det ska vara i listan.

Anslutningar från en enda IP-adress

Detta exempel visar hur du blockerar alla anslutningar från IP-adressen 10.10.10.10.

iptables -A INPUT -s 10.10.10.10 -j DROP

Anslutningar från en rad IP-adresser

Detta exempel visar hur du blockerar alla IP-adresser i nätverksområdet 10.10.10.0/24. Du kan använda en nätmask eller standard snedstreck för att ange IP-adressernas intervall.

iptables -A INPUT -s 10.10.10.0/24 -j DROP

eller

iptables -A INPUT -s 10.10.10.0/255.255.255.0 -j DROP

Anslutningar till en viss port

Det här exemplet visar hur du blockerar SSH-anslutningar från 10.10.10.10.

iptables -A INPUT -p tcp --dport ssh -s 10.10.10.10 -j DROP

Du kan ersätta “ssh” med valfritt protokoll eller portnummer. De -p tcp del av koden berättar iptables vilken typ av anslutning protokollet använder. Om du blockerade ett protokoll som använder UDP snarare än TCP, då -p udp skulle vara nödvändigt istället.

Det här exemplet visar hur du blockerar SSH-anslutningar från vilken IP-adress som helst.

iptables -A INPUT -p tcp --dport ssh -j DROP

Anslutningstillstånd

Som vi nämnde tidigare kommer många protokoll att kräva tvåvägskommunikation. Till exempel, om du vill tillåta SSH-anslutningar till ditt system kommer ingångs- och utgångskedjorna att behöva läggas till en regel till dem. Men vad händer om du bara vill att SSH kommer in i ditt system ska vara tillåtet? Kommer inte att lägga till en regel i utmatningskedjan också tillåta utgående SSH-försök?

Det är där anslutningstillstånd kommer in, vilket ger dig den möjlighet du behöver för att möjliggöra tvåvägskommunikation men bara tillåter att envägsanslutningar upprättas. Ta en titt på detta exempel, där SSH-anslutningar FRÅN 10.10.10.10 är tillåtna, men SSH-anslutningar TILL 10.10.10.10 är inte tillåtna. Systemet får dock skicka tillbaka information över SSH så länge sessionen redan har upprättats, vilket gör SSH-kommunikation möjlig mellan dessa två värdar.

iptables -A INPUT -p tcp --dport ssh -s 10.10.10.10 -m state --state NEW, ESTABLISHED -j ACCEPT

iptables -A UTGÅNG -p tcp --sport 22 -d 10.10.10.10 -m tillstånd --stat ESTABLERAD -j ACCEPT

Sparar ändringar

Ändringarna som du gör i dina iptables-regler skrotas nästa gång som iptables-tjänsten startas om såvida du inte utför ett kommando för att spara ändringarna. Detta kommando kan variera beroende på din distribution:

Ubuntu:

sudo / sbin / iptables-spara

Red Hat / CentOS:

/ sbin / service iptables spara

Eller

/etc/init.d/iptables spara

Andra kommandon

Lista de för närvarande konfigurerade iptables-reglerna:

iptables -L

Lägga till -på alternativet ger dig information om paket och byte och lägger till -n kommer att lista allt numeriskt. Med andra ord - värdnamn, protokoll och nätverk listas som nummer.

För att rensa alla för närvarande konfigurerade regler kan du utfärda flush-kommandot.

iptables -F

.post-innehåll .inmatningsfot

Iptables Walkthrough (Linux Firewall)

Introduction To Linux IPTables

Introduction To Linux Firewall

Using `iptables` On Linux

Iptables Firewall Examples (ITS335, L23, Y14)

07 Iptables Firewall Rules

Firewalling In Linux Using IPtables Sp8scorp

Introduction To Linux: #15 - Iptables

Introduction To Iptables

Introduction To IPTables

Linux Firewall Configurations - Intro To Firewalld (RHCE Topic)

Linux Iptables - Configuring And Implementing Linux Iptables - Learn About Ip Values And Ranges #41

Advanced Linux Firewall Config. With Firewalld Rich Rules And IPset - Rich Rules + Ipset

Ubuntu Server 18.04 Administration Guide Part 11 - Configuring Firewall Rules With UFW

Intro To IPTables With Jason

Understand The Security At OS & Network Level | Configure Linux Firewall | DevOps Tutorial | Edureka


Sekretess och säkerhet - Mest populära artiklar

Så här inaktiverar du ljudsignalen på Schlage Connect Smart Lock

Sekretess och säkerhet Nov 21, 2024

Schlage Connect är ett fantastiskt smart lås, men det ger ett ganska irriterande pipande ljud när du trycker på en knapp och låser eller låser upp den. Så här inaktiverar du..


Behöver jag verkligen antivirus om jag bläddrar noggrant och använder sunt förnuft?

Sekretess och säkerhet Aug 16, 2025

OBEHANDLAT INNEHÅLL Närhelst antivirusprogram nämns verkar någon alltid klocka upp och säga att de inte behöver ett antivirusprogram eftersom de är "försiktiga" och "sunt ..


Varför ska du inte använda (de flesta) alternativa webbläsare baserat på Google Chrome

Sekretess och säkerhet Jul 5, 2025

Google Chrome är baserad på Krom , ett webbläsarprojekt med öppen källkod. Vem som helst kan ta Chromium-källkoden och använda den för att bygga s..


Vad är HTTPS och varför ska jag bry mig?

Sekretess och säkerhet Oct 15, 2025

HTTPS, låsikonen i adressfältet, en krypterad webbplatsanslutning - det är känt som många saker. Medan det en gång var reserverat främst för lösenord och annan känslig dat..


Hur man konfigurerar en proxyserver på en Mac

Sekretess och säkerhet Feb 16, 2025

När du konfigurerar en proxyserver på din Mac skickar applikationer sin nätverkstrafik via proxyservern innan de går till destinationen. Detta kan krävas av din arbetsgivare f�..


Vad är kryptering och varför är människor rädda för det?

Sekretess och säkerhet Nov 30, 2024

OBEHANDLAT INNEHÅLL Med de senaste terrorhandlingarna i Paris och Libanon har nyhetsmedier och regering använt ordet "kryptering" som om det på något sätt är att skylla på...


Hur man stänger av Gmail Automatisk bildladdning för ökad integritet och snabbare laddning

Sekretess och säkerhet Dec 24, 2024

OBEHANDLAT INNEHÅLL Den här månaden lanserade Gmail en ny funktion: efter år med inställning av att bilder endast ska laddas när de uppmanas laddas de nu automatiskt. Det ka..


Så här låser du ner IE 10 genom att inaktivera Flash i Windows 8

Sekretess och säkerhet Jun 6, 2025

Microsoft inkluderar nu Flash tillsammans med sin Internet Explorer-webbläsare i Windows 8. Flash har varit känt som en stor skyldig när det gäller säkerhetsproblem tidigare, s..


Kategorier