Iptables

iptables
Sorts Brandvägg
Författare Rusty Russell [d]
Utvecklaren Netfilter Core Team
Skrivet i C
Operativ system Linux-kärnan
Första upplagan 1998
senaste versionen
Licens GNU GPL
Hemsida netfilter.org
 Mediafiler på Wikimedia Commons

iptables  är ett kommandoradsverktyg som är standardgränssnittet för netfilter brandvägg för Linux - kärnor sedan version 2.4. Superanvändarbehörighet ( rot ) krävs för att använda iptables-verktyget .

Historik

Till en början var utvecklingen av netfilter och iptables gemensam, så det finns många likheter i dessa projekts tidiga historia. Se artikeln om nätfilter för detaljer .

Föregångarna till iptables var ipchains- projekten (används för att administrera Linux 2.2 kärnans brandvägg) och ipfwadm (liknande Linux 2.0 kärnor). Det senare baserades på BSD - verktyget ipfw .

iptables behåller samma filosofi som ipfwadm: driften av en brandvägg definieras av en uppsättning regler, som var och en består av ett villkor och en åtgärd (t.ex. DROP eller ACCEPT) som tillämpas på paket som matchar det villkoret. ipchains introducerade begreppet kedjor  – oberoende listor med regler. Separata kedjor introducerades för att filtrera inkommande (INPUT), utgående (OUTPUT) och transit (FRAMÅT) paket. I fortsättningen på denna idé dök tabeller upp i iptables  - oberoende grupper av kedjor. Varje tabell löste sin egen uppgift - kedjorna i filtertabellen ansvarade för filtrering, kedjorna i nat-tabellen ansvarade för nätverksadressöversättning ( NAT ), uppgifterna i mangletabellen inkluderade andra modifieringar av pakethuvuden (till exempel, ändra TTL eller TOS ). Dessutom ändrades logiken i kedjorna något: i ipchains gick alla inkommande paket, inklusive transit, genom INPUT-kedjan. I iptables passerar endast paket adresserade till själva värden genom INPUT.

Denna separation av funktionalitet gjorde det möjligt för iptables att använda anslutningsinformationen som en helhet vid behandling av enskilda paket (tidigare var detta endast möjligt för NAT). Det är här iptables presterar betydligt bättre än ipchains, eftersom iptables kan spåra tillståndet för en anslutning och omdirigera, modifiera eller filtrera paket baserat inte bara på deras rubrikdata (källa, destination) eller paketinnehåll, utan också på anslutningsdata. Denna funktion i brandväggen kallas för stateful filtrering, i motsats till den primitiva tillståndslösa filtreringen som implementeras i ipchains (för mer information om typerna av filtrering, se artikeln om brandväggar ). Vi kan säga att iptables analyserar inte bara de överförda data, utan också sammanhanget för deras överföring, till skillnad från ipchains, och därför kan fatta mer informerade beslut om ödet för varje särskilt paket. För mer information om stateful filtrering i netfilter/iptables, se Netfilter#State Mechanism .

I framtiden planerar utvecklare av netfilter att ersätta iptables med nftables  , en ny generations verktyg [3] .

Arkitektur

Grundläggande begrepp

Nyckelbegreppen för iptables är:

Anteckningar

  1. Releaser av iptables-projektet
  2. Sutter P. iptables 1.8.8 release  (eng.) - 2022.
  3. Netfilter-utvecklare presenterar ersättning för iptables . Hämtad 16 juli 2009. Arkiverad från originalet 23 mars 2009.

Litteratur

Länkar