Product SiteDocumentation Site

2.9. IPTables

Onderdeel van Fedora zijn geavanceerde gereedschappen voor netwerk pakket filtering — het proces van het controleren van netwerkpakketten tijdens het binnenkomen, doorlopen, en verlaten van de netwerkstack in de kernel. Kernel versies voor 2.4 vertrouwden op ipchains voor pakket filtering en gebruikten lijsten met regels toe toegepast werden voor pakketten in iedere stap van het filter proces. De 2.4 kernel introduceerde iptables (ook netfilter genaamd), welke overeenkomt met ipchains maar die het bereik en de controle beschikbaar voor het filteren van netwerk pakketten verder uitbreidt.
This chapter focuses on packet filtering basics, explains various options available with iptables commands, and explains how filtering rules can be preserved between system reboots.
Refereer naar Paragraaf 2.9.6, “Extra hulpbronnen” voor instructies over het maken van iptables regels en het instellen van een firewall gebaseerd op deze regels.

Belangrijk

Het standaard firewall mechanisme in 2.4 en latere kernels is iptables, maar iptables kan niet gebruikt worden als ipchains al draait. Als ipchains aanwezig is tijdens het opstarten, geeft de kernel een fout en wordt iptables niet opgestart.
De functionaliteit van ipchains wordt niet getroffen door deze fouten.

2.9.1. Pakket filtering

De Linux kernel gebruikt Netfilter om pakketten te filteren en staat toe dat sommige van hen ontvangen of doorgelaten worden, terwijl gestopt worden. Deze functionaliteit is ingebouwd in de Linux kernel, en heeft drie ingebouwde tabellen of regel lijsten, namelijk de volgende:
  • filter — De standaard tabel voor het afhandelen van netwerk pakketten.
  • nat — Wordt gebruikt om pakketten te veranderen die een nieuwe verbinding maken en wordt gebruikt voor Network Address Translation (NAT).
  • mangle — Wordt gebruikt voor specifieke soorten pakket verandering.
Elke tabel heeft een groep van ingebouwde ketens, welke overeenkomen met de acties die netfilter uitvoert op de pakketten.
De ingebouwde ketens voor de filter tabel zijn de volgende:
  • INPUT — Wordt toegepast op netwerk pakketten die bestemd zijn voor de host.
  • OUTPUT — Wordt toegepast op lokaal aangemaakte pakketten.
  • FORWARD — Wordt toegepast op netwerk pakketten die door de host geleid worden.
De ingebouwde ketens voor de nat tabel zijn de volgende:
  • PREROUTING — Verandert netwerk pakketten als ze binnenkomen.
  • OUTPUT — Verandert lokaal aangemaakte pakketten voordat ze verzonden worden.
  • POSTROUTING — Verandert netwerk pakketten voordat ze verzonden worden.
De ingebuwde ketens voor de mangle tabel zijn de volgende:
  • INPUT — Verandert netwerk pakketten die bestemd zijn voor de host.
  • OUTPUT — Verandert lokaal aangemaakte pakketten voordat ze verzonden worden.
  • FORWARD — Verandert netwerk pakketten die door de host geleid worden.
  • PREROUTING — Verandert binnenkomende netwerk pakketten voordat ze verder geleid worden.
  • POSTROUTING — Verandert netwerk pakketten voordat ze verzonden worden.
Elk netwerkpakket dat wordt ontvangen of verstuurd door een Linux systeem wordt onderworpen aan tenminste een tabel. Een pakket kan echter onderworpen zijn aan meerdere regels binnen elke tabel voordat het aan het einde van de keten verschijnt. De structuur en het doel van deze regels kan anders zijn, maar gewoonlijk proberen ze een pakket te identificeren als het komt van of gaat naar een bepaald IP adres, of een verzameling van adressen, bij het gebruik van een bepaalde protocol of netwerk service.

Opmerking

Standaard worden firewall regels opgeslagen in de /etc/sysconfig/iptables of /etc/sysconfig/ip6tables bestanden.
De iptables service start voor elke andere aan DNS gerelateerde service als een Linux systeem wordt opgestart. Cit betekent dat firewall regels alleen naar numerieke IP adressen (bijvoorbeeld, 192.168.0.1) kunnen refereren. Domein namen (bijvoorbeeld, host.example.com) veroorzaken in zulke regels fouten.
Als een pakket overeenkomt met een bepaalde regel in een van de tabellen wordt, onafhankelijk van hun bestemming, een doel of actie op hen uitgevoerd. Als de regel een ACCEPT doel voor een overeenkomend pakket specificeert, slaat het pakket de rest van de regel controles over en wordt het toegestaan om te vervolgen naar zijn bestemming. Als een regel een DROP doel specificeert, wordt dat pakket toegang tot het systeem geweigerd en er wordt niets terug gestuurd naar de host die het pakket verzond. Als de regel een QUEUE doel specificeert, wordt het pakket doorgegeven naar de gebruikersruimte. Als de regel het optionele REJECT doel specificeerde, wordt het pakket geweigerd, maar een fout pakket wordt terug gestuurd naar de verzender van het pakket.
Elke keten heeft een standaard tactiek voor ACCEPT, DROP, REJECT, of QUEUE. Als geen van deze regels inb de keten van toepassing is op het pakket, dan wordt het pakket behandeld overeenkomstig de standaard tactiek.
Het iptables commando configureert deze tabellen, en zet zo nodig ook nieuwe tabellen op.