tailscale/util/linuxfw
Tom Proctor 01a7726cf7
cmd/containerboot,cmd/k8s-operator: enable IPv6 for fqdn egress proxies (#12577)
cmd/containerboot,cmd/k8s-operator: enable IPv6 for fqdn egress proxies

Don't skip installing egress forwarding rules for IPv6 (as long as the host
supports IPv6), and set headless services `ipFamilyPolicy` to
`PreferDualStack` to optionally enable both IP families when possible. Note
that even with `PreferDualStack` set, testing a dual-stack GKE cluster with
the default DNS setup of kube-dns did not correctly set both A and
AAAA records for the headless service, and instead only did so when
switching the cluster DNS to Cloud DNS. For both IPv4 and IPv6 to work
simultaneously in a dual-stack cluster, we require headless services to
return both A and AAAA records.

If the host doesn't support IPv6 but the FQDN specified only has IPv6
addresses available, containerboot will exit with error code 1 and an
error message because there is no viable egress route.

Fixes #12215

Signed-off-by: Tom Proctor <tomhjp@users.noreply.github.com>
2024-07-05 12:21:48 +01: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 cmd/containerboot,cmd/k8s-operator: enable IPv6 for fqdn egress proxies (#12577) 2024-07-05 12:21:48 +01:00
helpers.go all: cleanup unused code, part 2 (#10670) 2023-12-21 17:40:03 -08:00
iptables_runner_test.go util/linuxfw,go.{mod,sum}: don't log errors when deleting non-existant chains and rules (#11852) 2024-04-23 21:08:18 +01:00
iptables_runner.go util/linuxfw: don't try cleaning iptables on gokrazy 2024-05-29 21:02:45 -07: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: fix IPv6 availability check for nftables (#12009) 2024-05-14 08:51:53 +01:00
nftables_runner_test.go util/linuxfw: fix IPv6 availability check for nftables (#12009) 2024-05-14 08:51:53 +01:00
nftables_runner.go util/linuxfw: verify that IPv6 if available if (#12598) 2024-06-25 14:13:49 +01: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