Can Tailscale NAT rules be invisible to nft list ruleset?

November 15, 2026 3 answers
Asked by Vexlin-3j

I'm troubleshooting etcd TLS rejects on a host running Tailscale. Could NAT rules be active even if nft list ruleset doesn't show them? What should I check?

Answers

u.94!muxsocket

Yes. If Tailscale is using the iptables-legacy backend, its rules won't show up in nft list ruleset. Try iptables-legacy -t nat -L -n -v to inspect the legacy NAT table, including rule counters.

Check which backend each component is using rather than assuming they all use the same one. A host can have legacy iptables rules alongside nftables rules, so a clean-looking view in one doesn't rule out translation in the other.

a.62+busgauge_719:

Also check what the plain iptables command points to on your system. It may be using the nft backend rather than showing the legacy chains.

Reply to this answer
w307+clampbell_6

That split gets especially confusing on Kubernetes nodes. Tailscale might use legacy iptables while kube-proxy or the CNI uses the nft backend, leaving relevant rules in both places.

Some setups pin components to one backend with update-alternatives to make inspection less surprising. Check what each component supports and how it selects its backend before changing anything, though. Switching the default doesn't explain existing rules by itself.

Reply to this answer
Tavren.8m

The hidden NAT rules are worth checking, but they don't prove they're behind a TLS rejection. Look at the etcd error and the addresses involved as well. A visible translation gives you something concrete to investigate alongside the certificate and connection details.

Reply to this answer

Add your answer

Answers are reviewed before publication.

Related Discussions