[[oktatas:linux:tuzfal:netfilter|< Netfilter]] ====== A Netfilter ====== * **Szerző:** Sallai András * Copyright (c) Sallai András, 2020 * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]] * Web: https://szit.hu ===== A Netfilter-ről ===== A netfilter egy csomagszűrő szoftver, a 2.4.x és későbbi Linux kernelek számára. Lehetővé teszik a csomagok: * szűrését * címfordítást * csomagnaplózás * csomagok sorba állítása a felhasználó térben * IP fejlécek átírása ===== Netfilter kampók ===== A Netfilter kampók, angolul hook, kapcsolódási pontok, ahol beleszólhatunk a csomagok áramlásába. 5 alapértelmezett kampó van, ezeket az alábbi táblázat mutatja be. ^ Név ^ Név forráskódban ^ | prerouting | NF_IP_PRE_ROUTING | | input | NF_IP_LOCAL_IN | | forward | NF_IP_FORWARD | | output | NF_IP_LOCAL_OUT | | postrouting | NF_IP_POST_ROUTING | A nagybetűs alak a kernel forráskódjában megadott neveket mutatja. {{:oktatas:linux:tuzfal:netfilter:alaplancok.png|}} A beállítások során láncokat hozunk létre, amelyeknek a neve célszerűen megegyezik a kampók nevével. A netfilter beállítás során szabályokat írnunk, amelyek listát alkotnak. A listákat láncokhoz, azokon keresztül pedig a kampókhoz rendeljük. ===== Táblák ===== A táblák egy-egy tevékenység típust jelölnek. Az alábbi táblázat bemutatja milyen típusú tevékenységeket végezhetünk. ^ Lehetőség ^ Táblanév ^ Milyen kampón használható ^ | szűrés | filter | INPUT, OUTPUT, FORWARD | | címfordítás | nat | PREROUTING, INPUT, \\ POSTROUTING, OUTPUT | | fejléc átírás | mangle | PREROUTING, INPUT, \\ FORWARD, OUTPUT, \\ POSTROUTING | | csomagkövetés | raw | PREROUTING, POSTROUTING | | hozzáférési lista | security | INPUT, OUTPUT, FORWARD | ===== Szűrés ===== A Netfilter egyik lehetősége a szűrés. Ahogy az előző részben látható volt, a csomagok útjába 5 kampónál szólhatunk bele a csomagok áramlásába. Szűrésre ezek közül 3 áll rendelkezésre. Ezek: * input * forward * output A csomagokat engedhetjük az útjukra, eldobhatjuk, átadhatjuk egy alrendszernek, sorba állíthatjuk, vagy visszairányíthatjuk szabálylista elejére a láncon. A csomagok sorsa a következő lehet: * ACCEPT - a csomagok folytathatják útjukat * DROP - a csomagokat eldobjuk * STOLEN - egy alrendszer kezeli tovább a csomagot * QUEUE - a csomag sorba állítása * REPEAT - átirányítás újra erre a kampóra ===== Címfordítás ===== A címfordítás angolul Network Address Translation, vagy csak röviden NAT. IPv4-s címtérben a privát címek nyilvános IP címekké fordítását és nyilvános címek privát címmé fordítását jelentik. Címfordítást, a következő láncokon végezhetünk: * prerouting * input * postrouting * output