control: private Hi Salvatore,
I apologize for my premature response about not being able to reproduce the issue. After further testing, the problem persists and I can now provide more detailed information. The issue manifests inconsistently: sometimes the connection tracking functionality works after boot, and sometimes it doesn't. This inconsistency made initial testing or reproducibility unreliable. Here's a minimal example that demonstrates the issue: #!/usr/sbin/nftables -f # Clear existing ruleset flush ruleset # Define trusted DNS servers define TRUSTED_DNS = { 8.8.8.8, # Google Primary 8.8.4.4 # Google Secondary } table inet filter { set dns_queries { type ipv4_addr flags dynamic,timeout size 65535 timeout 1h } chain input_base { ct state invalid drop comment "Drop invalid connections" ct state {established,related} accept comment "Allow existing connections" iifname "lo" accept comment "Allow loopback interface" iif != "lo" ip daddr 127.0.0.0/8 drop comment "Drop spoofed localhost IPv4" iif != "lo" ip6 daddr ::1 drop comment "Drop spoofed localhost IPv6" } chain input { type filter hook input priority filter; policy drop; jump input_base ip protocol icmp icmp type echo-reply accept comment "Allow ping responses" # DNS Response handling ip saddr $TRUSTED_DNS udp sport 53 udp dport >= 1024 \ ct state established \ accept comment "Allow DNS responses UDP" ip saddr $TRUSTED_DNS tcp sport 53 tcp dport >= 1024 \ ct state established \ accept comment "Allow DNS responses TCP" counter comment "Count dropped packets" drop comment "Drop all other incoming" } chain forward { type filter hook forward priority filter; policy drop; } chain output { type filter hook output priority filter; policy drop; oifname "lo" accept comment "Allow loopback output" ip protocol icmp icmp type echo-request accept comment "Allow outgoing pings IPv4" # DNS Query handling ip daddr $TRUSTED_DNS udp dport 53 \ ct state new \ add @dns_queries { ip daddr } \ counter accept comment "Allow DNS queries UDP" ip daddr $TRUSTED_DNS tcp dport 53 \ ct state new \ add @dns_queries { ip daddr } \ counter accept comment "Allow DNS queries TCP" counter comment "Count blocked outgoing" drop comment "Drop all other outgoing" } } Save it in /etc/nftables.conf Then run nft -fc /etc/nftables.conf The rule sometimes fails with: Error: Could not process rule: No such file or directory System details: - Debian 12 (bookworm) - Current kernel: 6.1.0-28-amd64 (6.1.119-1) - nftables v1.0.6-1 - kernel.modules_disabled=1 - Required modules included in initramfs Relevant system logs show the nftables service starting, but connection tracking functionality is inconsistently available: I'm including logs since my first update to the new kernel. Boot history for reference: *IDX FIRST ENTRY LAST ENTRY* *-11 Sat 2024-12-14 10:55:52 UTC Sun 2024-12-15 18:15:56 UTC* *-10 Sun 2024-12-15 22:50:57 UTC Sun 2024-12-15 23:46:22 UTC* * -9 Mon 2024-12-16 12:01:31 UTC Mon 2024-12-16 13:02:28 UTC* * -8 Mon 2024-12-16 13:02:58 UTC Mon 2024-12-16 13:38:21 UTC* * -7 Mon 2024-12-16 13:38:52 UTC Mon 2024-12-16 15:17:24 UTC* * -6 Mon 2024-12-16 15:28:29 UTC Mon 2024-12-16 15:38:06 UTC* * -5 Mon 2024-12-16 15:39:14 UTC Mon 2024-12-16 15:44:24 UTC* * -4 Mon 2024-12-16 22:12:09 UTC Mon 2024-12-16 22:35:59 UTC* * -3 Mon 2024-12-16 22:36:35 UTC Tue 2024-12-17 00:11:20 UTC* * -2 Tue 2024-12-17 09:13:35 UTC Tue 2024-12-17 10:58:41 UTC* * -1 Tue 2024-12-17 10:59:47 UTC Tue 2024-12-17 11:00:13 UTC* * 0 Tue 2024-12-17 11:06:14 UTC Tue 2024-12-17 11:20:09 UTC* NFT Services related logs Dec 17 11:06:14 localhost (nft)[535]: nftables.service: Executing: /usr/sbin/nft -f /etc/nftables.conf Dec 17 11:06:14 localhost systemd[1]: nftables.service: Child 535 belongs to nftables.service. Dec 17 11:06:14 localhost systemd[1]: nftables.service: Main process exited, code=exited, status=0/SUCCESS (success) Dec 17 11:06:14 localhost systemd[1]: nftables.service: Changed start -> exited Dec 17 11:06:14 localhost systemd[1]: nftables.service: Job 74 nftables.service/start finished, result=done Dec 17 11:06:14 localhost systemd[1]: Finished nftables.service - nftables. Dec 17 11:06:14 localhost systemd[1]: nftables.service: Control group is empty. Dec 17 10:59:47 localhost (nft)[531]: nftables.service: Executing: /usr/sbin/nft -f /etc/nftables.conf Dec 17 10:59:48 localhost systemd[1]: nftables.service: Child 531 belongs to nftables.service. Dec 17 10:59:48 localhost systemd[1]: nftables.service: Main process exited, code=exited, status=0/SUCCESS (success) Dec 17 10:59:48 localhost systemd[1]: nftables.service: Changed start -> exited Dec 17 10:59:48 localhost systemd[1]: nftables.service: Job 59 nftables.service/start finished, result=done Dec 17 10:59:48 localhost systemd[1]: Finished nftables.service - nftables. Dec 17 10:59:48 localhost systemd[1]: nftables.service: Control group is empty. Dec 17 11:00:11 localhost systemd[1]: nftables.service: Installed new job nftables.service/stop as 397 Dec 17 11:00:12 localhost systemd[1]: nftables.service: stopping held back, waiting for: network-pre.target Dec 17 09:13:35 localhost (nft)[540]: nftables.service: Executing: /usr/sbin/nft -f /etc/nftables.conf Dec 17 09:13:35 localhost nft[540]: /etc/nftables.conf:39:9-16: Error: Could not process rule: No such file or directory Dec 17 09:13:35 localhost nft[540]: ct state invalid drop comment "Drop invalid connections" Dec 17 09:13:35 localhost nft[540]: ^^^^^^^^ Dec 17 09:13:35 localhost nft[540]: /etc/nftables.conf:40:9-16: Error: Could not process rule: No such file or directory Dec 17 09:13:35 localhost nft[540]: ct state {established,related} accept comment "Allow existing connections" Dec 17 09:13:35 localhost nft[540]: ^^^^^^^^ Dec 17 09:13:35 localhost nft[540]: /etc/nftables.conf:57:13-20: Error: Could not process rule: No such file or directory Dec 17 09:13:35 localhost nft[540]: ct state established \ Dec 17 09:13:35 localhost nft[540]: ^^^^^^^^ Dec 17 09:13:35 localhost nft[540]: /etc/nftables.conf:61:13-20: Error: Could not process rule: No such file or directory Dec 17 09:13:35 localhost nft[540]: ct state established \ Dec 17 09:13:35 localhost nft[540]: ^^^^^^^^ Dec 17 09:13:35 localhost nft[540]: /etc/nftables.conf:66:13-20: Error: Could not process rule: No such file or directory Dec 17 09:13:35 localhost nft[540]: ct state new \ Dec 17 09:13:35 localhost nft[540]: ^^^^^^^^ Dec 17 09:13:35 localhost nft[540]: /etc/nftables.conf:70:13-20: Error: Could not process rule: No such file or directory Dec 17 09:13:35 localhost nft[540]: ct state established \ Dec 17 09:13:35 localhost nft[540]: ^^^^^^^^ Dec 17 09:13:35 localhost nft[540]: /etc/nftables.conf:74:13-20: Error: Could not process rule: No such file or directory Dec 17 09:13:35 localhost nft[540]: ct state established \ Dec 17 09:13:35 localhost nft[540]: ^^^^^^^^ Dec 17 09:13:35 localhost nft[540]: /etc/nftables.conf:96:13-20: Error: Could not process rule: No such file or directory Dec 17 09:13:35 localhost nft[540]: ct state new \ Dec 17 09:13:35 localhost nft[540]: ^^^^^^^^ Dec 17 09:13:35 localhost nft[540]: /etc/nftables.conf:101:13-20: Error: Could not process rule: No such file or directory Dec 17 09:13:35 localhost nft[540]: ct state new \ Dec 17 09:13:35 localhost nft[540]: ^^^^^^^^ Dec 17 09:13:35 localhost nft[540]: /etc/nftables.conf:107:13-20: Error: Could not process rule: No such file or directory Dec 17 09:13:35 localhost nft[540]: ct state {new,established,related} \ Dec 17 09:13:35 localhost nft[540]: ^^^^^^^^ Dec 17 09:13:35 localhost nft[540]: /etc/nftables.conf:111:13-20: Error: Could not process rule: No such file or directory Dec 17 09:13:35 localhost nft[540]: ct state {new,established,related} \ Dec 17 09:13:35 localhost nft[540]: ^^^^^^^^ Dec 17 09:13:35 localhost systemd[1]: nftables.service: Child 540 belongs to nftables.service. Dec 17 09:13:35 localhost systemd[1]: nftables.service: Main process exited, code=exited, status=1/FAILURE Dec 17 09:13:35 localhost systemd[1]: nftables.service: Failed with result 'exit-code'. Dec 17 09:13:35 localhost systemd[1]: nftables.service: Service will not restart (restart setting) Dec 17 09:13:35 localhost systemd[1]: nftables.service: Changed start -> failed Dec 17 09:13:35 localhost systemd[1]: nftables.service: Job 69 nftables.service/start finished, result=failed Dec 17 09:13:35 localhost systemd[1]: Failed to start nftables.service - nftables. Dec 17 09:13:35 localhost systemd[1]: nftables.service: Unit entered failed state. Dec 17 09:13:35 localhost systemd[1]: nftables.service: Consumed 25ms CPU time. Dec 17 09:13:35 localhost systemd[1]: nftables.service: Control group is empty. Dec 16 22:36:35 localhost systemd[1]: nftables.service: Child 537 belongs to nftables.service. Dec 16 22:36:35 localhost systemd[1]: nftables.service: Main process exited, code=exited, status=0/SUCCESS (success) Dec 16 22:36:35 localhost systemd[1]: nftables.service: Changed start -> exited Dec 16 22:36:35 localhost systemd[1]: nftables.service: Job 49 nftables.service/start finished, result=done Dec 16 22:36:35 localhost systemd[1]: Finished nftables.service - nftables. Dec 16 22:36:35 localhost systemd[1]: nftables.service: Control group is empty. Dec 17 00:11:20 localhost systemd[1]: nftables.service: Installed new job nftables.service/stop as 2752 Dec 17 00:11:20 localhost systemd[1]: nftables.service: stopping held back, waiting for: network-pre.target Dec 16 22:12:09 localhost (nft)[536]: nftables.service: Executing: /usr/sbin/nft -f /etc/nftables.conf Dec 16 22:12:09 localhost systemd[1]: nftables.service: Child 536 belongs to nftables.service. Dec 16 22:12:09 localhost systemd[1]: nftables.service: Main process exited, code=exited, status=0/SUCCESS (success) Dec 16 22:12:09 localhost systemd[1]: nftables.service: Changed start -> exited Dec 16 22:12:09 localhost systemd[1]: nftables.service: Job 105 nftables.service/start finished, result=done Dec 16 22:12:09 localhost systemd[1]: Finished nftables.service - nftables. Dec 16 22:12:09 localhost systemd[1]: nftables.service: Control group is empty. Dec 16 22:35:58 localhost systemd[1]: nftables.service: Installed new job nftables.service/stop as 560 Dec 16 22:35:58 localhost systemd[1]: nftables.service: stopping held back, waiting for: network-pre.target Dec 16 22:35:59 localhost systemd[1]: nftables.service: Will spawn child (service_enter_stop): /usr/sbin/nft Dec 16 22:35:59 localhost systemd[1]: nftables.service: About to execute /usr/sbin/nft flush ruleset Dec 16 22:35:59 localhost systemd[1]: nftables.service: Forked /usr/sbin/nft as 19306 Dec 16 22:35:59 localhost systemd[1]: nftables.service: Changed exited -> stop Dec 16 22:35:59 localhost systemd[1]: Stopping nftables.service - nftables... Dec 16 22:35:59 localhost (nft)[19306]: Bind-mounting / on /run/systemd/unit-root (MS_BIND|MS_REC "")... Dec 16 22:35:59 localhost (nft)[19306]: Followed mount entry path symlink /run/systemd/unit-root/bin → /run/systemd/unit-root/usr/bin. Dec 16 22:35:59 localhost (nft)[19306]: /run/systemd/unit-root/usr/bin (read-only) is made redundant by /run/systemd/unit-root/usr (read-only) Dec 16 22:35:59 localhost (nft)[19306]: Applying namespace mount on /run/systemd/unit-root/boot Dec 16 22:35:59 localhost (nft)[19306]: Applying namespace mount on /run/systemd/unit-root/efi Dec 16 22:35:59 localhost (nft)[19306]: Applying namespace mount on /run/systemd/unit-root/etc Dec 16 22:35:59 localhost (nft)[19306]: Bind-mounting /run/systemd/unit-root/etc on /run/systemd/unit-root/etc (MS_BIND|MS_REC "" )... Dec 16 22:35:59 localhost (nft)[19306]: Successfully mounted /run/systemd/unit-root/etc to /run/systemd/unit-root/etc Dec 16 22:35:59 localhost (nft)[19306]: Applying namespace mount on /run/systemd/unit-root/home Dec 16 22:35:59 localhost (nft)[19306]: Bind-mounting /run/systemd/inaccessible/dir on /run/systemd/unit-root/home (MS_BIND|MS_REC "")... Dec 16 22:35:59 localhost (nft)[19306]: Successfully mounted /run/systemd/inaccessible/dir to /run/systemd/unit-root/home Dec 16 22:35:59 localhost (nft)[19306]: Followed mount entry path symlink /run/systemd/unit-root/lib → /run/systemd/unit-root/usr/lib. Dec 16 22:35:59 localhost (nft)[19306]: /run/systemd/unit-root/usr/lib (read-only) is made redundant by /run/systemd/unit-root/usr (read-only) Dec 16 22:35:59 localhost (nft)[19306]: Followed mount entry path symlink /run/systemd/unit-root/lib64 → /run/systemd/unit-root/usr/lib64. Dec 16 22:35:59 localhost (nft)[19306]: /run/systemd/unit-root/usr/lib64 (read-only) is made redundant by /run/systemd/unit-root/usr (read-only) Dec 16 22:35:59 localhost (nft)[19306]: Applying namespace mount on /run/systemd/unit-root/root Dec 16 22:35:59 localhost (nft)[19306]: Bind-mounting /run/systemd/inaccessible/dir on /run/systemd/unit-root/root (MS_BIND|MS_REC "")... Dec 16 22:35:59 localhost (nft)[19306]: Successfully mounted /run/systemd/inaccessible/dir to /run/systemd/unit-root/root Dec 16 22:35:59 localhost (nft)[19306]: Applying namespace mount on /run/systemd/unit-root/run/credentials Dec 16 22:35:59 localhost (nft)[19306]: Bind-mounting /run/systemd/inaccessible/dir on /run/systemd/unit-root/run/credentials (MS_BIND|MS_REC "")... Dec 16 22:35:59 localhost (nft)[19306]: Successfully mounted /run/systemd/inaccessible/dir to /run/systemd/unit-root/run/credentials Dec 16 22:35:59 localhost (nft)[19306]: Applying namespace mount on /run/systemd/unit-root/run/systemd/incoming Dec 16 22:35:59 localhost (nft)[19306]: Followed source symlinks /run/systemd/propagate/nftables.service → /run/systemd/propagate/nftables.service. Dec 16 22:35:59 localhost (nft)[19306]: Bind-mounting /run/systemd/propagate/nftables.service on /run/systemd/unit-root/run/systemd/incoming (MS_BIND "")... Dec 16 22:35:59 localhost (nft)[19306]: Successfully mounted /run/systemd/propagate/nftables.service to /run/systemd/unit-root/run/systemd/incoming Dec 16 22:35:59 localhost (nft)[19306]: Applying namespace mount on /run/systemd/unit-root/run/user Dec 16 22:35:59 localhost (nft)[19306]: Bind-mounting /run/systemd/inaccessible/dir on /run/systemd/unit-root/run/user (MS_BIND|MS_REC "")... Dec 16 22:35:59 localhost (nft)[19306]: Successfully mounted /run/systemd/inaccessible/dir to /run/systemd/unit-root/run/user Dec 16 22:35:59 localhost (nft)[19306]: Followed mount entry path symlink /run/systemd/unit-root/sbin → /run/systemd/unit-root/usr/sbin. Dec 16 22:35:59 localhost (nft)[19306]: /run/systemd/unit-root/usr/sbin (read-only) is made redundant by /run/systemd/unit-root/usr (read-only) Dec 16 22:35:59 localhost (nft)[19306]: Applying namespace mount on /run/systemd/unit-root/usr Dec 16 22:35:59 localhost (nft)[19306]: nftables.service: Executing: /usr/sbin/nft flush ruleset Dec 16 15:39:15 localhost nft[511]: /etc/nftables.conf:39:9-16: Error: Could not process rule: No such file or directory Dec 16 15:39:15 localhost nft[511]: ct state invalid drop comment "Drop invalid connections" Dec 16 15:39:15 localhost nft[511]: ^^^^^^^^ Dec 16 15:39:15 localhost nft[511]: /etc/nftables.conf:40:9-16: Error: Could not process rule: No such file or directory Dec 16 15:39:15 localhost nft[511]: ct state {established,related} accept comment "Allow existing connections" Dec 16 15:39:15 localhost nft[511]: ^^^^^^^^ Dec 16 15:39:15 localhost nft[511]: /etc/nftables.conf:57:13-20: Error: Could not process rule: No such file or directory Dec 16 15:39:15 localhost nft[511]: ct state established \ Dec 16 15:39:15 localhost nft[511]: ^^^^^^^^ Dec 16 15:39:15 localhost nft[511]: /etc/nftables.conf:61:13-20: Error: Could not process rule: No such file or directory Dec 16 15:39:15 localhost nft[511]: ct state established \ Dec 16 15:39:15 localhost nft[511]: ^^^^^^^^ Dec 16 15:39:15 localhost nft[511]: /etc/nftables.conf:66:13-20: Error: Could not process rule: No such file or directory Dec 16 15:39:15 localhost nft[511]: ct state new \ Dec 16 15:39:15 localhost nft[511]: ^^^^^^^^ Dec 16 15:39:15 localhost nft[511]: /etc/nftables.conf:70:13-20: Error: Could not process rule: No such file or directory Dec 16 15:39:15 localhost nft[511]: ct state established \ Dec 16 15:39:15 localhost nft[511]: ^^^^^^^^ Dec 16 15:39:15 localhost nft[511]: /etc/nftables.conf:74:13-20: Error: Could not process rule: No such file or directory Dec 16 15:39:15 localhost nft[511]: ct state established \ Dec 16 15:39:15 localhost nft[511]: ^^^^^^^^ Dec 16 15:39:15 localhost nft[511]: /etc/nftables.conf:96:13-20: Error: Could not process rule: No such file or directory Dec 16 15:39:15 localhost nft[511]: ct state new \ Dec 16 15:39:15 localhost nft[511]: ^^^^^^^^ Dec 16 15:39:15 localhost nft[511]: /etc/nftables.conf:101:13-20: Error: Could not process rule: No such file or directory Dec 16 15:39:15 localhost nft[511]: ct state new \ Dec 16 15:39:15 localhost nft[511]: ^^^^^^^^ Dec 16 15:39:15 localhost nft[511]: /etc/nftables.conf:107:13-20: Error: Could not process rule: No such file or directory Dec 16 15:39:15 localhost nft[511]: ct state {new,established,related} \ Dec 16 15:39:15 localhost nft[511]: ^^^^^^^^ Dec 16 15:39:15 localhost nft[511]: /etc/nftables.conf:111:13-20: Error: Could not process rule: No such file or directory Dec 16 15:39:15 localhost nft[511]: ct state {new,established,related} \ Dec 16 15:39:15 localhost nft[511]: ^^^^^^^^ -- No entries -- Dec 16 13:38:52 localhost nft[510]: /etc/nftables.conf:39:9-16: Error: Could not process rule: No such file or directory Dec 16 13:38:52 localhost nft[510]: ct state invalid drop comment "Drop invalid connections" Dec 16 13:38:52 localhost nft[510]: ^^^^^^^^ Dec 16 13:38:52 localhost nft[510]: /etc/nftables.conf:40:9-16: Error: Could not process rule: No such file or directory Dec 16 13:38:52 localhost nft[510]: ct state {established,related} accept comment "Allow existing connections" Dec 16 13:38:52 localhost nft[510]: ^^^^^^^^ Dec 16 13:38:52 localhost nft[510]: /etc/nftables.conf:57:13-20: Error: Could not process rule: No such file or directory Dec 16 13:38:52 localhost nft[510]: ct state established \ Dec 16 13:38:52 localhost nft[510]: ^^^^^^^^ Dec 16 13:38:52 localhost nft[510]: /etc/nftables.conf:61:13-20: Error: Could not process rule: No such file or directory Dec 16 13:38:52 localhost nft[510]: ct state established \ Dec 16 13:38:52 localhost nft[510]: ^^^^^^^^ Dec 16 13:38:52 localhost nft[510]: /etc/nftables.conf:66:13-20: Error: Could not process rule: No such file or directory Dec 16 13:38:52 localhost nft[510]: ct state new \ Dec 16 13:38:52 localhost nft[510]: ^^^^^^^^ Dec 16 13:38:52 localhost nft[510]: /etc/nftables.conf:70:13-20: Error: Could not process rule: No such file or directory Dec 16 13:38:52 localhost nft[510]: ct state established \ Dec 16 13:38:52 localhost nft[510]: ^^^^^^^^ Dec 16 13:38:52 localhost nft[510]: /etc/nftables.conf:74:13-20: Error: Could not process rule: No such file or directory Dec 16 13:38:52 localhost nft[510]: ct state established \ Dec 16 13:38:52 localhost nft[510]: ^^^^^^^^ Dec 16 13:38:52 localhost nft[510]: /etc/nftables.conf:96:13-20: Error: Could not process rule: No such file or directory Dec 16 13:38:52 localhost nft[510]: ct state new \ Dec 16 13:38:52 localhost nft[510]: ^^^^^^^^ Dec 16 13:38:52 localhost nft[510]: /etc/nftables.conf:101:13-20: Error: Could not process rule: No such file or directory Dec 16 13:38:52 localhost nft[510]: ct state new \ Dec 16 13:38:52 localhost nft[510]: ^^^^^^^^ Dec 16 13:38:52 localhost nft[510]: /etc/nftables.conf:107:13-20: Error: Could not process rule: No such file or directory Dec 16 13:38:52 localhost nft[510]: ct state {new,established,related} \ Dec 16 13:38:52 localhost nft[510]: ^^^^^^^^ Dec 16 13:38:52 localhost nft[510]: /etc/nftables.conf:111:13-20: Error: Could not process rule: No such file or directory Dec 16 13:38:52 localhost nft[510]: ct state {new,established,related} \ Dec 16 13:38:52 localhost nft[510]: ^^^^^^^^ Dec 16 13:38:52 localhost systemd[1]: nftables.service: Main process exited, code=exited, status=1/FAILURE Dec 16 13:38:52 localhost systemd[1]: nftables.service: Failed with result 'exit-code'. Dec 16 13:38:52 localhost systemd[1]: Failed to start nftables.service - nftables. Dec 16 13:02:58 localhost nft[504]: /etc/nftables.conf:39:9-16: Error: Could not process rule: No such file or directory Dec 16 13:02:58 localhost nft[504]: ct state invalid drop comment "Drop invalid connections" Dec 16 13:02:58 localhost nft[504]: ^^^^^^^^ Dec 16 13:02:58 localhost nft[504]: /etc/nftables.conf:40:9-16: Error: Could not process rule: No such file or directory Dec 16 13:02:58 localhost nft[504]: ct state {established,related} accept comment "Allow existing connections" Dec 16 13:02:58 localhost nft[504]: ^^^^^^^^ Dec 16 13:02:58 localhost nft[504]: /etc/nftables.conf:57:13-20: Error: Could not process rule: No such file or directory Dec 16 13:02:58 localhost nft[504]: ct state established \ Dec 16 13:02:58 localhost nft[504]: ^^^^^^^^ Dec 16 13:02:58 localhost nft[504]: /etc/nftables.conf:61:13-20: Error: Could not process rule: No such file or directory Dec 16 13:02:58 localhost nft[504]: ct state established \ Dec 16 13:02:58 localhost nft[504]: ^^^^^^^^ Dec 16 13:02:58 localhost nft[504]: /etc/nftables.conf:66:13-20: Error: Could not process rule: No such file or directory Dec 16 13:02:58 localhost nft[504]: ct state new \ Dec 16 13:02:58 localhost nft[504]: ^^^^^^^^ Dec 16 13:02:58 localhost nft[504]: /etc/nftables.conf:70:13-20: Error: Could not process rule: No such file or directory Dec 16 13:02:58 localhost nft[504]: ct state established \ Dec 16 13:02:58 localhost nft[504]: ^^^^^^^^ Dec 16 13:02:58 localhost nft[504]: /etc/nftables.conf:74:13-20: Error: Could not process rule: No such file or directory Dec 16 13:02:58 localhost nft[504]: ct state established \ Dec 16 13:02:58 localhost nft[504]: ^^^^^^^^ Dec 16 13:02:58 localhost nft[504]: /etc/nftables.conf:96:13-20: Error: Could not process rule: No such file or directory Dec 16 13:02:58 localhost nft[504]: ct state new \ Dec 16 13:02:58 localhost nft[504]: ^^^^^^^^ Dec 16 13:02:58 localhost nft[504]: /etc/nftables.conf:101:13-20: Error: Could not process rule: No such file or directory Dec 16 13:02:58 localhost nft[504]: ct state new \ Dec 16 13:02:58 localhost nft[504]: ^^^^^^^^ Dec 16 13:02:58 localhost nft[504]: /etc/nftables.conf:107:13-20: Error: Could not process rule: No such file or directory Dec 16 13:02:58 localhost nft[504]: ct state {new,established,related} \ Dec 16 13:02:58 localhost nft[504]: ^^^^^^^^ Dec 16 13:02:58 localhost nft[504]: /etc/nftables.conf:111:13-20: Error: Could not process rule: No such file or directory Dec 16 13:02:58 localhost nft[504]: ct state {new,established,related} \ Dec 16 13:02:58 localhost nft[504]: ^^^^^^^^ Dec 16 13:02:58 localhost systemd[1]: nftables.service: Main process exited, code=exited, status=1/FAILURE Dec 16 13:02:58 localhost systemd[1]: nftables.service: Failed with result 'exit-code'. Dec 16 13:02:58 localhost systemd[1]: Failed to start nftables.service - nftables. Dec 16 12:01:31 localhost nft[503]: /etc/nftables.conf:29:9-16: Error: Could not process rule: No such file or directory Dec 16 12:01:31 localhost nft[503]: ct state invalid drop comment "Drop invalid connections" Dec 16 12:01:31 localhost nft[503]: ^^^^^^^^ Dec 16 12:01:31 localhost nft[503]: /etc/nftables.conf:30:9-16: Error: Could not process rule: No such file or directory Dec 16 12:01:31 localhost nft[503]: ct state established,related accept comment "Allow existing connections" Dec 16 12:01:31 localhost nft[503]: ^^^^^^^^ Dec 16 12:01:31 localhost nft[503]: /etc/nftables.conf:47:13-20: Error: Could not process rule: No such file or directory Dec 16 12:01:31 localhost nft[503]: ct state established \ Dec 16 12:01:31 localhost nft[503]: ^^^^^^^^ Dec 16 12:01:31 localhost nft[503]: /etc/nftables.conf:51:13-20: Error: Could not process rule: No such file or directory Dec 16 12:01:31 localhost nft[503]: ct state established \ Dec 16 12:01:31 localhost nft[503]: ^^^^^^^^ Dec 16 12:01:31 localhost nft[503]: /etc/nftables.conf:56:13-20: Error: Could not process rule: No such file or directory Dec 16 12:01:31 localhost nft[503]: ct state new \ Dec 16 12:01:31 localhost nft[503]: ^^^^^^^^ Dec 16 12:01:31 localhost nft[503]: /etc/nftables.conf:60:13-20: Error: Could not process rule: No such file or directory Dec 16 12:01:31 localhost nft[503]: ct state established \ Dec 16 12:01:31 localhost nft[503]: ^^^^^^^^ Dec 16 12:01:31 localhost nft[503]: /etc/nftables.conf:80:13-20: Error: Could not process rule: No such file or directory Dec 16 12:01:31 localhost nft[503]: ct state new \ Dec 16 12:01:31 localhost nft[503]: ^^^^^^^^ Dec 16 12:01:31 localhost nft[503]: /etc/nftables.conf:85:13-20: Error: Could not process rule: No such file or directory Dec 16 12:01:31 localhost nft[503]: ct state new \ Dec 16 12:01:31 localhost nft[503]: ^^^^^^^^ Dec 16 12:01:31 localhost nft[503]: /etc/nftables.conf:91:13-20: Error: Could not process rule: No such file or directory Dec 16 12:01:31 localhost nft[503]: ct state {new,established,related} \ Dec 16 12:01:31 localhost nft[503]: ^^^^^^^^ Dec 16 12:01:31 localhost systemd[1]: nftables.service: Main process exited, code=exited, status=1/FAILURE Dec 16 12:01:31 localhost systemd[1]: nftables.service: Failed with result 'exit-code'. Dec 16 12:01:31 localhost systemd[1]: Failed to start nftables.service - nftables. And version history - setting back to the previous kernel, then upgrading to the new kernel, seemed to resolve the issue for the first boot. Dec 17 11:06:14 localhost kernel: Linux version 6.1.0-28-amd64 ( debian-kernel@lists.debian.org) (gcc-12 (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40) #1 SMP PREEMPT_DYNAMIC Debian 6.1.119-1 (2024-11-22) Dec 17 10:59:47 localhost kernel: Linux version 6.1.0-28-amd64 ( debian-kernel@lists.debian.org) (gcc-12 (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40) #1 SMP PREEMPT_DYNAMIC Debian 6.1.119-1 (2024-11-22) Dec 17 09:13:35 localhost kernel: Linux version 6.1.0-28-amd64 ( debian-kernel@lists.debian.org) (gcc-12 (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40) #1 SMP PREEMPT_DYNAMIC Debian 6.1.119-1 (2024-11-22) Dec 16 22:36:35 localhost kernel: Linux version 6.1.0-28-amd64 ( debian-kernel@lists.debian.org) (gcc-12 (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40) #1 SMP PREEMPT_DYNAMIC Debian 6.1.119-1 (2024-11-22) Dec 16 22:12:09 localhost kernel: Linux version 6.1.0-27-amd64 ( debian-kernel@lists.debian.org) (gcc-12 (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40) #1 SMP PREEMPT_DYNAMIC Debian 6.1.115-1 (2024-11-01) Dec 16 15:39:14 localhost kernel: Linux version 6.1.0-28-amd64 ( debian-kernel@lists.debian.org) (gcc-12 (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40) #1 SMP PREEMPT_DYNAMIC Debian 6.1.119-1 (2024-11-22) Dec 16 15:28:29 localhost kernel: Linux version 6.1.0-28-amd64 ( debian-kernel@lists.debian.org) (gcc-12 (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40) #1 SMP PREEMPT_DYNAMIC Debian 6.1.119-1 (2024-11-22) Dec 16 13:38:52 localhost kernel: Linux version 6.1.0-28-amd64 ( debian-kernel@lists.debian.org) (gcc-12 (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40) #1 SMP PREEMPT_DYNAMIC Debian 6.1.119-1 (2024-11-22) Dec 16 13:02:58 localhost kernel: Linux version 6.1.0-28-amd64 ( debian-kernel@lists.debian.org) (gcc-12 (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40) #1 SMP PREEMPT_DYNAMIC Debian 6.1.119-1 (2024-11-22) Dec 16 12:01:31 localhost kernel: Linux version 6.1.0-28-amd64 ( debian-kernel@lists.debian.org) (gcc-12 (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40) #1 SMP PREEMPT_DYNAMIC Debian 6.1.119-1 (2024-11-22) I can reliably reproduce this by: 1. Cold boot the system 2. Attempt to add the above ruleset 3. If it fails, reboot and try again. Behaviour changed after editing grub, and running grub and initramfs update Best regards, On Mon, Dec 16, 2024 at 4:49 PM Salvatore Bonaccorso <car...@debian.org> wrote: > Control: tags -1 + moreinfo > > Hi, > > On Mon, Dec 16, 2024 at 02:43:47PM +0000, Tibor wrote: > > Package: linux-image-6.1.0-28-amd64 > > Version: 6.1.119-1 > > Severity: important > > > > After upgrading from linux-image-6.1.0-27-amd64 to > > linux-image-6.1.0-28-amd64, nftables connection tracking ('ct state') > > functionality stopped working. The issue appears to be related to recent > > netfilter security patches. > > > > Steps to reproduce: > > 1. Update kernel to 6.1.119-1 > > 2. Reboot system > > 3. Attempt to use nftables rules with 'ct state' > > > > Current behavior: > > - Error message: "could not process rule: No such file or directory" > > - nftables rules using 'ct state' fail to load > > - Basic firewall functionality without connection tracking works > > > > Expected behavior: > > - nftables rules with 'ct state' should load and function properly > > - Connection tracking should work as it did in previous kernel version > > > > System information: > > - Debian 12 (bookworm) > > - Previous kernel: linux-image-6.1.0-27-amd64 (6.1.115-1) > > - Current kernel: linux-image-6.1.0-28-amd64 (6.1.119-1) > > - nftables version: 1.0.6 > > > > Related changes in current version: > > - Security fixes for netfilter IPv6 (use-after-free in ip6table_nat) > > - Changes to nf_reject_ipv6 TCP header handling > > > > nf_conntrack and related modules are loaded: > > [output of lsmod | grep -E 'nf_|netfilter|nft'] > > > > Additional notes: > > - System has module loading disabled (kernel.modules_disabled=1) > > - Required modules are preloaded in initramfs > > - Configuration worked correctly in previous kernel version > > > > Proposed temporary solution: > > Reverting to linux-image-6.1.0-27-amd64 restores functionality. > > > > Please advise on proper configuration for connection tracking with the > new > > security patches, or confirm if this is a regression that needs to be > > addressed. > > Can you please provide an ideally as minimal as possible example which > fails. A simple example using ct state from > > https://wiki.nftables.org/wiki-nftables/index.php/Quick_reference-nftables_in_10_minutes#Simple_IP/IPv6_Firewall > works as expected, so we need more information here. > > If you are able to to reproduce the issue with the upstream version > 6.1.115 and 6.1.119 can you please as well bisect the changes? > > Regards, > Salvatore >