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ó?
- 363 megtekintés
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)
- A hozzászóláshoz be kell jelentkezni
Nem értetted félre. Köszönöm, igyekszem ezen a szálon elindulni.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
nftables alapú.
Akkor miért iptablest próbálsz konfiguralni?
- A hozzászóláshoz be kell jelentkezni
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
- A hozzászóláshoz be kell jelentkezni
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…
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
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
- A hozzászóláshoz be kell jelentkezni
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 41, Thinkpad x280
- A hozzászóláshoz be kell jelentkezni
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
- A hozzászóláshoz be kell jelentkezni
Olvastam egy ilyet:
You will need ~300MB of free memory to run the script and also to load the full (all) ipv4 and ipv6 maps.
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
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
Ja, szóval azt mondod, tanuljam meg natívan használni. Jó, nyilván ez a legjobb megoldás.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
hát, ne az iptables wrapperen keresztül.
- A hozzászóláshoz be kell jelentkezni