iptables | |
---|---|
Tip de | Firewall |
Autor | Rusty Russell [d] |
Dezvoltator | Echipa de bază Netfilter |
Scris in | C |
Sistem de operare | pe nucleul Linux |
Prima editie | 1998 |
ultima versiune | |
Licență | GNU GPL |
Site-ul web | netfilter.org |
Fișiere media la Wikimedia Commons |
iptables este un utilitar de linie de comandă care este interfața standard de gestionare a firewall-ului netfilter pentru nucleele Linux începând cu versiunea 2.4. Sunt necesare privilegii de superutilizator ( rădăcină ) pentru a utiliza utilitarul iptables .
Inițial, dezvoltarea netfilter și iptables a fost comună, așa că există multe asemănări în istoria timpurie a acestor proiecte. Consultați articolul netfilter pentru detalii .
Predecesorii iptables au fost proiectele ipchains (folosite pentru a administra firewall-ul nucleului Linux 2.2) și ipfwadm (similar cu nucleele Linux 2.0). Acesta din urmă a fost bazat pe utilitarul BSD ipfw .
iptables păstrează aceeași filozofie ca ipfwadm: funcționarea unui firewall este definită de un set de reguli, fiecare constând dintr-o condiție și o acțiune (de ex. DROP sau ACCEPT) aplicate pachetelor care corespund acelei condiții. ipchains a introdus conceptul de lanțuri - liste independente de reguli. Au fost introduse lanțuri separate pentru a filtra pachetele de intrare (INPUT), de ieșire (OUTPUT) și de tranzit (FOWARD). În continuarea acestei idei, au apărut tabele în iptables - grupuri independente de lanțuri. Fiecare tabel și-a rezolvat propria sarcină - lanțurile tabelului de filtrare erau responsabile pentru filtrare, lanțurile tabelului nat erau responsabile pentru traducerea adreselor de rețea ( NAT ), sarcinile tabelului Mangle includeau alte modificări ale antetelor pachetelor (de exemplu, schimbarea TTL sau TOS ). În plus, logica lanțurilor a fost ușor modificată: în ipchains, toate pachetele de intrare, inclusiv cele de tranzit, au trecut prin lanțul INPUT. În iptables, numai pachetele adresate gazdei în sine trec prin INPUT.
Această separare a funcționalității a permis iptables să folosească informațiile de conexiune în întregime atunci când procesează pachete individuale (anterior acest lucru era posibil numai pentru NAT). Aici iptables depășește cu mult ipchains, deoarece iptables poate urmări starea unei conexiuni și poate redirecționa, modifica sau filtra pachetele nu numai pe baza datelor antet (sursă, destinație) sau a conținutului pachetului, ci și pe datele conexiunii. Această caracteristică a firewall-ului se numește filtrare cu stare, spre deosebire de filtrarea primitivă fără stat implementată în ipchains (pentru mai multe informații despre tipurile de filtrare, consultați articolul despre firewall -uri ). Putem spune că iptables analizează nu numai datele transmise, ci și contextul transmiterii acestora, spre deosebire de ipchains și, prin urmare, poate lua decizii mai informate cu privire la soarta fiecărui pachet anume. Pentru mai multe informații despre filtrarea cu stare în netfilter/iptables, consultați Netfilter#State Mechanism .
În viitor, dezvoltatorii netfilter plănuiesc să înlocuiască iptables cu nftables , un instrument de nouă generație [3] .
Conceptele cheie ale iptables sunt:
Firewall-uri | ||
---|---|---|
Gratuit | ||
Gratuit |
| |
Comercial |
| |
Hardware |