tailscale/util/linuxfw
James Tucker 055117ad45
util/linuxfw: fix support for containers without IPv6 iptables filters (#11381)
There are container environments such as GitHub codespaces that have
partial IPv6 support - routing support is enabled at the kernel level,
but lacking IPv6 filter support in the iptables module.

In the specific example of the codespaces environment, this also has
pre-existing legacy iptables rules in the IPv4 tables, as such the
nascent firewall mode detection will always pick iptables.

We would previously fault trying to install rules to the filter table,
this catches that condition earlier, and disables IPv6 support under
these conditions.

Updates #5621
Updates #11344
Updates #11354

Signed-off-by: James Tucker <james@tailscale.com>
2024-03-08 15:46:21 -08:00
..
linuxfwtest util/linuxfw: initial implementation of package 2023-02-09 14:20:24 -05:00
detector.go linuxfw,wgengine/route,ipn: add c2n and nodeattrs to control linux netfilter 2023-12-05 14:22:02 -05:00
fake.go util/linuxfw: move fake runner into pkg 2023-10-11 11:48:43 -07:00
helpers.go all: cleanup unused code, part 2 (#10670) 2023-12-21 17:40:03 -08:00
iptables_runner_test.go util/linuxfw: move fake runner into pkg 2023-10-11 11:48:43 -07:00
iptables_runner.go util/linuxfw: fix support for containers without IPv6 iptables filters (#11381) 2024-03-08 15:46:21 -08:00
iptables.go util/linuxfw: move detection logic 2023-10-10 20:29:24 -07:00
linuxfw_unsupported.go all: cleanup unused code, part 2 (#10670) 2023-12-21 17:40:03 -08:00
linuxfw.go util/linuxfw: add container-friendly IPv6 NAT check (#11353) 2024-03-06 21:53:51 +00:00
nftables_runner_test.go util/linuxfw: add missing error checks in tests 2023-10-28 09:44:53 -07:00
nftables_runner.go util/linuxfw: add container-friendly IPv6 NAT check (#11353) 2024-03-06 21:53:51 +00:00
nftables_types.go util/linuxfw: add new arch build constraints 2023-06-30 18:22:15 -04:00
nftables.go util/cmpx: delete now that we're using Go 1.22 2024-02-07 18:10:15 -08:00