Meglehetősen jól működött a GeoIP alapú szűrésem, majd egyszer csak elmúlt ez a jósága. Ott tartok, hogy az OpenWrt/LEDE devel snapshot fw4-et használ, az pedig nftables alapú. A /etc/firewall.user include-jánál megköveteli a
option fw4_compatible 1
megadását, különben ignorálja az include-ot. Ez meg is történt, bár nyilván ettől a file nem lesz fw4 kompatibilisebb, mint eddig. Ha a fejem tetejére állok is, mindig ezt a hibaüzenetet kapom a tűzfal reload-olásakor:
iptables: No chain/target/match by that name.
Include '/etc/firewall.user' failed with exit code 1
Próbálkoztam ezzel, ami korábban működött:
iptables -A input_wan_rule -m geoip ! --src-cc HU -j DROP
iptables -A forwarding_wan_rule -m geoip ! --src-cc HU -j DROP
meg ezzel is:
iptables -I zone-wan -m geoip ! --src-cc HU -j DROP
Van valami /usr/share/xt_geoip/{,BE,LE} alatt - tehát három helyen is - HU.iv4 és HU.iv6 file-om. Az a scriptem csinálja, ami régen működött, nem hiszem, hogy ebben van a baj, minden esetre nem üresek.
Próbáltam így is:
config rule
option src 'wan'
option dest 'lan'
option extra '-m geoip ! --src-cc HU'
option target 'DROP'
option enabled '1'
De nem tetszett neki.
Section @rule[10] option 'extra' is not supported by fw4
Mi hiányozhat, hogyan kell ezt jól csinálni, hogyan debugolható?
Hozzászólások
IMHO az nftables geoip kicsit maskepp mukodik. Hasznalata: https://wiki.nftables.org/wiki-nftables/index.php/GeoIP_matching
(remelem nem ertettem felre)
Nem értetted félre. Köszönöm, igyekszem ezen a szálon elindulni.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
Akkor miért iptablest próbálsz konfiguralni?
1) Mert hülye vagyok hozzá
2) Mert tudtommal kompatibilitási okokból az nftables frontendje tud lenni az iptables-nft, amire szimbolikus link szokott mutatni iptables névvel
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
Ne szivasd magad az iptables-nft compat réteggel ha nem szükséges. Még jobban bevisz az erdőbe. Natívan meg lehet csinálni nftables-el a geoip szűrést.
Egyébként a custom include támogatás az fw4-hez az Openwrtbe a master ágba kb két hete került bele.
https://git.openwrt.org/?p=project/firewall4.git;a=commit;h=11256ff0374…
Lazán kapcsolódik egy érdekes blogbejegyzés:
https://blog.zentria.company/posts/its-2021-nftables-still-does-not-int…
Rengeteg diszró átállt nftables-re. Viszont sok csomag meg nem szállítja/nincs kész/lexarják az nftables backend-et. És nem futottak még dolgok, docker, libvirt, cni, stb.
Az iptables-nft -vel meg vagy megy vagy nem. Aztán lehet debuggolni.
Sajnos 2022-ben sem jobb a helyzet.
Szóval az egész úgy kezdődött, volt egy jól működő GeoIP alapú filterem. Egyszer csak a desktop gépemre root jogot kértem, mondja is nekem, hogy volt néhány sikertelen belépési kísérlet. Nem szoktam elszúrni a jelszót, pláne nem sokszor. Nézem a lastb kimenetét, különféle felhasználónevekkel be akartak jönni a gépre. Majd whois az IP-címre, hong-kongi a cím. Mondom, nocsak, nem megy a GeoIP filter? Kiderült, hogy nem megy.
Tudni kell, amikor van új kernel, akkor csinálok devel snapshotból új image-et a router-re. Nyilván ez tört el, hiszen időközben a tűzfal új lett, a scriptjeim, configjaim meg a régiek.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
Lehet már kérdeztem, de önszopatáson kívül mi értelme van "embedded" eszközön új kernelre ?
Mint láthatod, a te esetedben jóval nagyobb szopás lehetett volna abból, hogy nem ment a tűzfal és bejutnak, mintha marad a régi kernel.
Nekem 1x éve mennek openwrt-im public neten lógva 2.6.xx kernellel oszt köszönik jól vannak.
Értelemszerűen, a servicek elárhetősége pár IP-re van korlátozva (bár van 1-2 eszköz ahol ez sem igaz :D), sokba már az ssh-n keresztüli bejutás is problémás kulcsok gyengesége miatt ...
Fedora 38, Thinkpad x280
Szeretem az új dolgokat. Lehet, azért, mert a saját kódjaim esetében is a legfrissebbről gondolom, hogy az a legjobb, legtöbbet tudó, legkevésbé bugos. Ami egyébként nem igaz, adtam ki cégen belül, fejlesztés alatt álló műszerre olyan firmware-t, amiben három napon belül buffer túlírástól kezdve egy rakás bugot javítottam, amit mind az ezen javítás előtti kiadásba fejlesztettem bele. :) De azért ez nem gyakori.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
Olvastam egy ilyet:
Persze, ha megoldható csak a HU betöltése, akkor még akár jó is lehet. Az egész földgömb nem kell nekem...
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
1.0.1-es nftables-ben "javították" a sets/maps memóriafelhasználását bármit is jelentsen ez.
De ha csak a HU-t töltöd be az párszáz prefix. Nem hiszem hogy jelentős lenne a memóriafelhasználása.
Szerk: Látom a linkelt script-re írták hogy jelentős memória kell a futtatásához. A kernelbe betöltött map szerintem nem foglal sokat.
Ah. Szorri, a konkrét izéhez nem tudok hozzászólni (illetve nyilván tudnék, csak ahhoz előbb olvasni kéne, arra meg most nem fussa), erről a compatról meg lemaradtam, de szerintem engedd el, különbözik az nftables annyira, hogy ez csak sajtreszelő legyen, annyira viszont nem, hogy nagy fájdalom legyen beleszokni.
Ja, szóval azt mondod, tanuljam meg natívan használni. Jó, nyilván ez a legjobb megoldás.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
hát, ne az iptables wrapperen keresztül.