host_firewall: clear NetBird marks on pod to pod flows so pod sources stay unmasqueraded

This commit is contained in:
2026-11-03 16:35:02 +00:00
parent e5922692f6
commit c30b3d1f0a
+11
View File
@@ -126,6 +126,17 @@ table inet host {
}
{% endif %}
{% if cluster.v4 is defined and cluster.v4.pods is defined %}
# NetBird marks new flows in prerouting (priority mangle, -150) and masquerades marked ones in postrouting, which
# rewrites the source of cross-node pod traffic and breaks Cilium identity and network policy when pod traffic passes
# the host stack (veth with legacy host routing). This chain runs right after and clears the marks for pod to pod flows.
chain pod_identity {
type filter hook prerouting priority -140; policy accept;
ct state new ip saddr {{ cluster.v4.pods }} ip daddr {{ cluster.v4.pods }} meta mark 0x0001bd21 meta mark set 0
ct state new ip saddr {{ cluster.v4.pods }} ip daddr {{ cluster.v4.pods }} meta mark 0x0001bd22 meta mark set 0
}
{% endif %}
chain input {
type filter hook input priority filter; policy drop;
{% if blocklists %}