Netfilter
Netfilter je framework obsažený v jádře Linuxu od verze 2.4.x, který nabízí mnoho možností při filtrování paketů, překladu síťových adres (NAT) a nebo překladu síťových portů (PAT). Netfilter nahrazuje zastaralý modul ipchains v Linuxovém jádře verze 2.2. Netfilter představuje sadu hooků v jádře Linuxu, které povolují ostatním modulům jádra registrovat callbacky na network stack. Registrovaný callback je pak zavolán pro každý paket, který projde příslušným hookem v TCP/IP stacku.[1] Historie![]() Rusty Russel odstartoval projekt netfilter/iptables v roce 1998. Postupem času projekt rostl a v roce 1999 založil Netfilter Core Team (zkráceně coreteam). Software, který vytvořili (později nazvaný jako netfilter) užíval GNU GPL a v březnu 2000 byl včleněn do hlavní vývojové větve jádra Linuxu verze 2.3.x. V srpnu 2003 se stal vedoucím coreteamu Harald Welte. V dubnu 2004 proběhl zásah proti distributorům softwaru Netfilteru použitého v routerech, kteří nedodržovali podmínky GPL licence. Německý soud následně vydal soudní příkaz proti společnosti Sitecom Germany, která odmítala dodržovat podmínky GPL licence.[2] V září 2007 se stal vedoucím coreteamu Patrick McHardy, který v posledních letech vedl vývoj Netfilteru. V roce 2013, během workshopu Netfilteru v Copenhagenu v Dánsku, převzal vedení coreteamu Pablo Neira Ayuso. User space nástroje![]() iptables Podrobnější informace naleznete v článku iptables.
Moduly jádra nftables Podrobnější informace naleznete v článku nftables.
Výhody oproti iptables
Defragmentace paketů Podrobnější informace naleznete v článku Fragmentace IP datagramů.
Modul Pro defragmentaci IPv6 paketů neexistuje žádný samostatný modul, ale je přímo implementována v modulu Sledování připojení Podrobnější informace naleznete v článku Stavový firewall.
Jedna z nejdůležitějších funkcí Netfilteru je sledování připojení.
[3]
Sledování připojení umožňuje jádru sledovat všechna síťová připojení a tím udržovat přehled o tom, jaké pakety patří ke kterému připojení. Na této informaci závisí fungování NATu, aby mohl všechny pakety směrovat stejným směrem, nebo nástroje Každé připojení Netfilteru je unikátně identifikováno n-ticí obsahující protokol síťové vrstvy, zdrojovou adresu, cílovou adresu, protokol transportní vrstvy a klíč transportní vrstvy. Klíč transportní vrstvy je závsilý na protokolu transportní vrstvy. Pro TCP/UDP protokol se jedná o číslo portu, pro síťový tunel se jedná o ID tunelu, v ostatních případech je klíč nulový. Kvůli zjištění TCP portu, musí být pakety povinně defragmentovány. S připojeními Netfilteru může být manipulováno pomocí nástroje Každé připojení může nabývat následujících stavů:
NAT Podrobnější informace naleznete v článku Network address translation.
Každému připojení náleží originální adresa a adresa odpovědi. NAT v Netfilteru je implementován jednoduchou změnou adresy odpovědi a pokud je to vyžadováno, tak i port. Pokud jsou přijímány pakety, jejich identifikační n-tice jsou porovnány s jejich adresami odpovědi (popřípadě i porty). Pro příchozí pakety je nutné, aby také nebyly fragmentované. ReferenceV tomto článku byl použit překlad textu z článku Netfilter na anglické Wikipedii.
Externí odkazy
|