I was setting up iptables like I have done a billion times before, but when trying to /etc/init.d/iptables save, it said that the kernel doesn’t have support for it. Wut? So I load ip_tables with modprobe, only to lose it after a reboot, so I shoved it into modules in mkinitcpio.conf, which seems to have helped.
What’s going on? Are we forcibly moving on to nftables?
It’s worth learning nftables, it’s actually pretty cool.
No doubt! It’s on my
TODO. 🫡yea I never looked back after nftables.
«I load ip_tables with modprobe, only to lose it after a reboot»
Write the module name into:
/etc/modules-load.d/<name>.conf — on most modern systemd distributions (Ubuntu, Arch, Fedora, etc.)
or /etc/modules on Debian-style systems.OpenRC’s modules-load service reads configuration files from the following locations, in order of precedence
/usr/lib/modules-load.d/
/run/modules-load.d/
/etc/modules-load.d/echo “ip_tables” >/etc/modules-load.d/ip_tables.conf
Thanks!
The default fw in artix is nftables. It’s just a wrapper for iptables, but you’re best to make your changes in nftables, not iptables, if for no other reason than to not potentially break a future upgrade.
This is just the older init way to load sysctl and other modules.
When you move to or remain in an rc.d or init service mgmt system, you can’t depend on systemd making your unit files and setting them up to load.
In most cases these days, “iptables” is just a compatibility layer for nftables, translating iptables commands and syntax to nftables rules.
I see! Thanks! Still wonder why the module was/is absent in Artix. 🤔



