home

Shorewall per IP Accounting

Install xtables and kernel headers:

$ sudo apt install dev-scripts linux-headers-`uname -r` xtables-addons-common xtables-addons-source xtables-addons-dkms

xtables-addons-dkms fails to build. Most likely due to https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1014680.

Build the package:

$ cd xtables-addons-3.21
$ debuild -b -uc -us

In the parent directory you should now have 4 deb packages:

$ ls -1 *.deb
xtables-addons-common-dbgsym_3.21-1_arm64.deb
xtables-addons-common_3.21-1_arm64.deb
xtables-addons-dkms_3.21-1_all.deb
xtables-addons-source_3.21-1_all.deb

Install the xtables-addons-dkms and xtables-addons-common` packages:

$ sudo dpkg -i xtables-addons-dkms_3.21-1_all.deb xtables-addons-common_3.21-1_arm64.deb

This will build the xtables-addons kernel modules within /lib/modules/$(uname -r)/updates/dkms:

$ ls -1 /lib/modules/$(uname -r)/updates/dkms/xt_*.ko  
/lib/modules/5.14.0-0.bpo.2-arm64/updates/dkms/xt_ACCOUNT.ko
/lib/modules/5.14.0-0.bpo.2-arm64/updates/dkms/xt_CHAOS.ko
[...]

Add the accounting config to /etc/shorewall/accounting:

ACCOUNT(int-ext,10.0.1.0/24)    -   eth1    eth0
ACCOUNT(int-ext,10.0.1.0/24)    -   eth0    eth1