kevinveenbirkenbach and Claude Opus 5
0ddcf033cd
fix(svc-net-wireguard-firewalled): stop appending a duplicate rule per deploy
...
The role ran one shell line, iptables -A FORWARD -i wg0-client -j ACCEPT followed by iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE. An append checks nothing, so every deploy added the same two rules again and both chains grew for the life of the host.
The iptables module probes with -C before it inserts, so the rules converge instead of accumulating, and the two interface names move out of the shell string into variables.
The mechanism stays iptables deliberately. An nftables fragment in its own table cannot do this job: an accept there terminates its own base chain and nothing more, so docker's DROP policy on the filter FORWARD chain still executes and the forwarded packet dies. Measured in a namespace with a real forwarding rig: the appended rule delivers 3 of 3 packets under that policy, the fragment delivers 0 of 3, with the fragment's own counter showing the accept matched all three. The inet family would also have started masquerading IPv6, which iptables -t nat never touched.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-15 20:31:20 +02:00
..
2026-09-09 22:26:38 +02:00
2026-09-09 22:26:38 +02:00
2026-09-09 22:26:38 +02:00
2026-09-09 22:26:38 +02:00
2026-09-09 22:26:38 +02:00
2026-09-02 18:30:25 +02:00
2026-09-09 01:46:36 +02:00
2026-09-02 18:30:25 +02:00
2026-09-09 22:26:38 +02:00
2026-09-09 22:26:38 +02:00
2026-09-09 22:26:38 +02:00
2026-09-09 22:26:38 +02:00
2026-09-09 22:26:38 +02:00
2026-09-09 22:26:38 +02:00
2026-09-09 01:46:36 +02:00
2026-09-09 22:26:38 +02:00
2026-09-09 22:26:38 +02:00
2026-09-02 18:30:25 +02:00
2026-09-09 01:46:36 +02:00
2026-09-09 22:26:38 +02:00
2026-09-09 01:46:36 +02:00
2026-09-02 18:30:25 +02:00
2026-09-09 22:26:38 +02:00
2026-09-02 18:30:25 +02:00
2026-09-09 01:46:36 +02:00
2026-09-09 01:46:36 +02:00
2026-08-17 18:02:31 +02:00
2026-08-17 18:02:31 +02:00
2026-08-17 18:02:31 +02:00
2026-08-17 18:02:31 +02:00
2026-08-17 18:02:31 +02:00
2026-08-17 18:02:31 +02:00
2026-08-17 18:02:31 +02:00
2026-08-17 18:02:31 +02:00
2026-08-17 18:02:31 +02:00
2026-08-22 18:55:58 +02:00
2026-08-17 18:02:31 +02:00
2026-08-17 18:02:31 +02:00
2026-08-22 01:31:09 +02:00
2026-08-17 18:02:31 +02:00
2026-09-09 22:26:38 +02:00
2026-09-09 22:26:38 +02:00
2026-09-09 22:26:38 +02:00
2026-09-09 22:26:38 +02:00
2026-09-09 22:26:38 +02:00
2026-08-17 18:02:31 +02:00
2026-08-17 18:02:31 +02:00
2026-09-15 03:35:47 +02:00
2026-09-15 04:26:28 +02:00
2026-09-09 22:26:38 +02:00
2026-09-14 19:21:47 +02:00
2026-09-09 22:26:38 +02:00
2026-09-09 22:26:38 +02:00
2026-09-09 22:26:38 +02:00
2026-09-09 22:26:38 +02:00
2026-09-09 22:26:38 +02:00
2026-09-09 22:26:38 +02:00
2026-09-15 14:51:59 +02:00
2026-09-09 21:54:26 +02:00
2026-09-15 14:51:59 +02:00
2026-09-09 22:26:38 +02:00
2026-09-11 21:52:18 +02:00
2026-09-15 14:51:59 +02:00
2026-09-15 14:51:59 +02:00
2026-09-15 14:51:59 +02:00
2026-09-15 14:51:59 +02:00
2026-09-15 17:13:12 +02:00
2026-09-15 20:02:36 +02:00
2026-09-15 20:02:36 +02:00
2026-09-09 22:26:38 +02:00
2026-09-15 20:31:20 +02:00
2026-09-09 22:26:38 +02:00
2026-09-09 22:26:38 +02:00
2026-09-09 22:26:38 +02:00
2026-09-09 22:26:38 +02:00
2026-09-15 14:55:25 +02:00
2026-09-15 14:51:59 +02:00
2026-09-15 14:51:59 +02:00
2026-09-09 22:26:38 +02:00
2026-09-09 22:26:38 +02:00
2026-09-09 22:26:38 +02:00
2026-09-09 22:26:38 +02:00
2026-09-11 21:52:18 +02:00
2026-09-09 22:26:38 +02:00
2026-09-09 14:00:16 +02:00
2026-08-22 01:31:09 +02:00
2026-08-17 18:02:31 +02:00
2026-08-18 03:22:02 +02:00
2026-08-18 03:22:02 +02:00
2026-08-17 18:02:31 +02:00
2026-08-17 18:02:31 +02:00
2026-08-24 16:32:30 +02:00
2026-08-17 18:02:31 +02:00
2026-08-22 01:31:09 +02:00
2026-08-18 03:22:02 +02:00
2026-08-17 18:02:31 +02:00
2026-08-22 01:31:09 +02:00
2026-08-22 01:31:09 +02:00
2026-09-12 00:28:14 +02:00
2026-09-04 04:41:04 +02:00
2026-08-22 01:31:09 +02:00
2026-08-24 16:32:30 +02:00
2026-09-04 13:43:37 +02:00
2026-09-04 17:30:34 +02:00
2026-08-22 01:31:09 +02:00
2026-08-17 18:02:31 +02:00
2026-08-17 18:02:31 +02:00
2026-08-22 01:31:09 +02:00
2026-09-04 04:41:04 +02:00
2026-08-17 18:02:31 +02:00
2026-08-18 03:22:02 +02:00
2026-09-11 21:52:18 +02:00
2026-08-18 03:22:02 +02:00
2026-09-11 12:24:03 +02:00
2026-08-18 03:22:02 +02:00
2026-08-17 18:02:31 +02:00
2026-08-22 01:31:09 +02:00
2026-08-22 01:31:09 +02:00
2026-08-17 18:02:31 +02:00
2026-09-09 12:56:47 +02:00
2026-08-17 18:02:31 +02:00
2026-08-17 18:02:31 +02:00
2026-08-17 18:02:31 +02:00
2026-09-12 11:19:01 +02:00
2026-08-22 01:31:09 +02:00
2026-08-17 18:02:31 +02:00
2026-08-17 18:02:31 +02:00
2026-09-14 20:13:57 +02:00
2026-09-15 18:09:43 +02:00
2026-08-24 16:32:30 +02:00
2026-08-17 18:02:31 +02:00
2026-09-04 01:16:38 +02:00
2026-09-11 22:50:54 +02:00
2026-09-09 19:03:07 +02:00
2026-08-17 18:02:31 +02:00
2026-08-17 18:02:31 +02:00
2026-08-17 18:02:31 +02:00
2026-09-11 21:52:18 +02:00
2026-08-18 03:22:05 +02:00
2026-08-18 03:22:02 +02:00
2026-09-14 20:13:57 +02:00
2026-09-09 12:32:44 +02:00
2026-09-09 01:42:54 +02:00
2026-08-17 18:02:31 +02:00
2026-08-24 16:32:30 +02:00
2026-08-18 03:22:02 +02:00
2026-08-17 18:02:31 +02:00
2026-09-09 12:32:44 +02:00
2026-08-24 16:32:30 +02:00
2026-08-24 16:32:30 +02:00
2026-08-28 13:01:29 +02:00
2026-08-24 16:32:30 +02:00
2026-09-11 12:24:03 +02:00
2026-09-09 21:54:26 +02:00
2026-08-17 18:02:31 +02:00
2026-08-17 18:02:31 +02:00
2026-09-03 11:28:01 +02:00
2026-08-17 18:02:31 +02:00
2026-08-17 18:02:31 +02:00
2026-08-24 16:32:30 +02:00
2026-08-22 01:31:09 +02:00
2026-08-17 18:02:31 +02:00
2026-09-13 15:21:12 +02:00
2026-09-12 16:31:49 +02:00
2026-09-09 22:26:38 +02:00
2026-08-18 03:22:02 +02:00
2026-08-17 18:02:31 +02:00
2026-09-15 17:01:27 +02:00
2026-08-17 18:02:31 +02:00
2026-08-17 18:02:31 +02:00
2026-09-09 21:54:26 +02:00
2026-09-11 13:06:19 +02:00
2026-09-15 14:55:25 +02:00
2026-09-12 12:07:57 +02:00
2026-09-12 11:19:01 +02:00
2026-09-09 22:26:38 +02:00
2026-09-15 14:51:59 +02:00
2026-09-09 22:26:38 +02:00
2026-09-09 01:46:36 +02:00
2026-09-15 14:55:25 +02:00
2026-09-10 10:53:55 +02:00
2026-09-15 14:55:25 +02:00
2026-09-11 21:52:18 +02:00
2026-09-09 21:54:26 +02:00
2026-09-09 22:26:38 +02:00
2026-09-09 22:26:38 +02:00
2026-09-14 19:23:59 +02:00
2026-09-09 22:26:38 +02:00
2026-09-15 14:55:25 +02:00
2026-09-02 18:30:25 +02:00
2026-09-15 14:51:59 +02:00
2026-09-15 14:51:59 +02:00
2026-09-14 19:23:59 +02:00
2026-09-09 22:26:38 +02:00
2026-09-09 22:26:38 +02:00
2026-09-04 13:54:31 +02:00
2026-09-09 21:54:26 +02:00
2026-09-03 13:48:28 +02:00
2026-09-15 14:55:25 +02:00
2026-09-11 21:52:18 +02:00
2026-09-15 14:55:25 +02:00
2026-09-13 19:41:55 +02:00
2026-09-09 22:26:38 +02:00
2026-09-11 21:52:18 +02:00
2026-09-09 22:26:38 +02:00
2026-09-02 18:30:25 +02:00
2026-09-09 21:54:26 +02:00
2026-09-15 14:51:59 +02:00
2026-09-11 11:17:41 +02:00
2026-09-12 12:07:57 +02:00
2026-09-15 14:55:25 +02:00
2026-09-14 19:57:21 +02:00
2026-09-14 19:23:59 +02:00
2026-09-09 22:26:38 +02:00
2026-09-09 22:26:38 +02:00
2026-09-02 18:30:25 +02:00
2026-09-09 01:46:36 +02:00
2026-09-15 14:55:25 +02:00
2026-09-14 19:23:59 +02:00
2026-09-09 22:26:38 +02:00
2026-09-15 14:55:25 +02:00
2026-09-11 21:52:18 +02:00
2026-09-14 19:23:59 +02:00
2026-09-02 18:30:25 +02:00
2026-09-02 18:30:25 +02:00
2026-09-09 22:26:38 +02:00
2026-09-14 19:23:59 +02:00
2026-09-15 14:51:59 +02:00
2026-09-09 21:54:26 +02:00
2026-09-09 21:54:26 +02:00
2026-09-09 22:26:38 +02:00
2026-09-09 22:26:38 +02:00
2026-09-11 13:47:22 +02:00
2026-09-09 22:26:38 +02:00
2026-09-09 22:26:38 +02:00
2026-09-09 01:46:36 +02:00
2026-09-11 13:06:19 +02:00
2026-09-09 22:26:38 +02:00
2026-09-09 22:26:38 +02:00
2026-09-12 11:19:01 +02:00
2026-09-09 21:54:26 +02:00
2026-09-11 14:04:13 +02:00
2026-09-12 16:35:20 +02:00
2026-09-09 22:26:38 +02:00
2026-09-09 21:54:26 +02:00
2026-09-09 21:54:26 +02:00
2026-09-14 19:23:59 +02:00
2026-09-14 19:23:59 +02:00
2026-09-12 16:30:20 +02:00
2026-09-14 19:23:59 +02:00
2026-09-09 22:26:38 +02:00
2026-09-11 21:52:18 +02:00
2026-09-09 22:26:38 +02:00
2026-09-09 22:26:38 +02:00
2026-09-09 01:46:36 +02:00
2026-09-15 14:55:25 +02:00
2026-09-09 22:26:38 +02:00
2026-09-09 22:26:38 +02:00
2026-09-09 22:26:38 +02:00
2026-09-09 22:26:38 +02:00
2026-09-09 22:26:38 +02:00
2026-09-09 22:26:38 +02:00
2026-09-09 22:26:38 +02:00
2026-09-09 12:35:35 +02:00
2026-09-12 12:07:57 +02:00
2026-09-15 14:51:59 +02:00