Netfilter xtables-addons-dkm jak opravit chybu po upgrade na Debian 11.4

Oprava chyby xtables po upgrade debianu na aktuální verzi najdete za teoretickou částí. Upstream projekt firewallu filtrování paketů v linuxovém jádře je https://www.netfilter.org a většina základních modulů dodávaných tímto projektem byla pojmenována (a/nebo přejmenována) tak, aby obsahovala předponu nf. Protože projekt poskytuje mimo jiné iptables i nftables, používá také souhrnný název Xtables pro sady nástrojů IPv4, IPv6, arp a eb. To vedlo k výběru názvů modulů s předponou xt.

Xtables rozšíření jsou obvykle ty která nebyla nebo zatím nejsou akceptována v hlavních balíčcích jádra (iptables). Ty také používají předponu xt. Sadu nástrojů které definují pravidla pro jejich použití v jádrem Netfilter. Všechny části jádra Netfilter jsou v adresáři modulů. Najdete je lehce pomocí

ls /lib/modules/$(uname -r)/kernel/net/netfilter

Mají koncovku core modulů nf_, nft_, xt_*. Problémem těchto nástrojů je, že pracují s granularitou pravidel, takže každá úprava pravidel znamená stažení VŠECH pravidel jádra, provedení vaší úpravy na binárním blobu a jeho nahrání zpět do jádra. Tento proces je velmi náročný na zatížení procesoru, když je pravidel příliš mnoho.

xtables nftables iptables

nftables je přepis této řady nástrojů do jednoho unikátního nástroje díky čemuž je jednodušší na používání a výkonnější, ale stále je to frontend k Netfilteru, nicméně hlavní rozdíly jsou v tom, že má hladkou syntaxi, která je schopna řešit každou část Netfilter a má schopnost upravovat binární sadu pravidel jako celek, přímo v Netfilteru, aniž by je musel stahovat a nahrávat jedno po druhém, což představuje velký nárůst výkonu.

To také vysvětluje, že k úpravě pravidel můžete použít jak iptables, tak nftables, ale nedoporučuje se to, protože nevidíte prioritu mezi různými pravidly, nebo tato priorita nemusí být taková, jakou jste chtěli.

V závislosti na distribuční politice lze najít různé sady balíčků pro práci s novými moduly jádra Netfilteru. Třeba xtables-nft je zprostředkující sada nástrojů uživatelského prostoru složeného z IP4, IP6, ARBa EB tabulek. Vyniká schopností pracovat s novým jádrem Netfilteru což umožňuje plynule migrovat ze starého způsobu na nftables.

K dispozici je také balíček iptables-legacy, který zachovává sadu tradičních nástrojů IPv4 i IPv6 iptables pracující stejným způsobem s novým jádrem Netfilter bez možnosti překládat pravidla přímo do nftables, takže nástroje pro skriptování firewallů, jako je ferm, mohou nadále pracovat na nové instalaci moderního jádra. Přemostění obou, lze například iptables-legacy-save |iptables-nft-restore přímo přeložit starou sadu pravidel iptables do nové sady pravidel nftables.

Chyba kompilaci upgrade

Po upgrade je v konzole tato chyba..

Setting up linux-headers-5.10.0-16-amd64 (5.10.127-1) ...
/etc/kernel/header_postinst.d/dkms:
dkms: running auto installation service for kernel 5.10.0-16-amd64:
Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area...
make -j4 KERNELRELEASE=5.10.0-16-amd64 -C /lib/modules/5.10.0-16-amd64/build M=/var/lib/dkms/xtables-addons/3.13/build/extensions XA_ABSTOPSRCDIR=/var/lib/dkms/xtables-addons/3.13/build XA_TOPSRCDIR=/var/lib/dkms/xtables-addons/3.13/build V=1 modules ; find /var/lib/dkms/xtables-addons/3.13/build -name '*.ko' -exec mv -v {} /var/lib/dkms/xtables-addons/3.13/build \;....
Error!  Build of xt_ACCOUNT.ko failed for: 5.10.0-16-amd64 (x86_64)
Make sure the name of the generated module is correct and at the root of the
build directory, or consult make.log in the build directory
/var/lib/dkms/xtables-addons/3.13/build/ for more information.

Řešení problému chyba xtables

Kompilovat může přímo na nejnovější verzi . Odstraníme tři balíčky (xtables-addons-common, xtables-addons-dkms, xtables-addons-dkms)

apt autoremove xtables-addons-common && xtables-addons-dkms && xtables-addons-dkms

Nainstalujeme závislosti pro manuální kompilaci (pokud již nejsou instalovány)

apt install pkg-config libxtables-dev

Stáhneme nejnovější zdrojáky z webu netfilter a zkompilujte

wget https://inai.de/files/xtables-addons/xtables-addons-3.21.tar.xz
tar xf xtables-addons-3.21.tar.xz
cd xtables-addons-3.21/
./configure
make install

Zavedeme moduly do jádra

sudo depmod -a
sudo modprobe x_tables
sudo modprobe xt_geoip

Seznam kompilovaných modulů

xt_ACCOUNT.ko
compat_xtables.ko
xt_pknock.ko
xt_CHAOS.ko
xt_DELUDE.ko
xt_DHCPMAC.ko
xt_DNETMAP.ko
xt_ECHO.ko
xt_IPMARK.ko
xt_LOGMARK.ko
xt_PROTO.ko
xt_SYSRQ.ko
xt_TARPIT.ko
xt_condition.ko
xt_fuzzy.ko
xt_geoip.ko
xt_iface.ko
xt_ipp2p.ko
xt_ipv4options.ko
xt_length2.ko
xt_lscan.ko
xt_psd.ko
xt_quota2.ko

Vizualizace

Tabulka procesování paketu v jádře

Netfilter xtables iptables ipset firewall

Užitečné

Konfigurace linux GeoIP firewallu
Základní předvolba IPtables firewallu
Domovská stránka xtables

ICTIS.CZ