dbb4cb75db
Kubernetes nodes querying the bind-resolvers LoadBalancer VIP
(198.18.200.7) get REFUSED (EDE 18 Prohibited). The service is
externalTrafficPolicy: Local, which preserves the client source IP for
traffic entering the cluster from outside — but a node querying the VIP
never leaves via OSPF. Its own kube-proxy DNATs the LB IP in the OUTPUT
chain and masquerades the source to a cluster-internal address (the
node's flannel.1, e.g. 10.42.x.x). That address is not in
acl-main.unkin.net, so the openforwarder view's match-clients rejects
the query.
External clients preserve their real source IP and match acl-main, which
is why only in-cluster hosts were affected.
Add 10.42.0.0/16 to acl-main.unkin.net so node-originated (masqueraded)
resolver queries are permitted. This mirrors the authoritative cluster,
which already allows the pod network (allow-query { ...; 10.42.0.0/16; }).
70 lines
1.5 KiB
YAML
70 lines
1.5 KiB
YAML
# Internal client ACLs, mirrored from puppet /etc/named/acls.conf.
|
|
---
|
|
apiVersion: bind.unkin.net/v1alpha1
|
|
kind: BindACL
|
|
metadata:
|
|
name: acl-main.unkin.net
|
|
namespace: bind-internal
|
|
spec:
|
|
clusterRef: bind-resolvers
|
|
entries:
|
|
- 10.42.0.0/16 # k8s pod network (kube-proxy masquerades node-originated LB queries)
|
|
- 198.18.1.10/32
|
|
- 198.18.2.160/27
|
|
- 198.18.21.160/27
|
|
- 198.18.2.192/27
|
|
- 198.18.21.192/27
|
|
# Admin/management access
|
|
- 10.10.12.200/32 # benvin workstation (wireguard)
|
|
- 198.18.21.160/32 # benvin router (also within 198.18.21.160/27 above)
|
|
- 198.18.13.0/24
|
|
- 198.18.14.0/24
|
|
- 198.18.15.0/24
|
|
- 198.18.16.0/24
|
|
- 198.18.17.0/24
|
|
- 198.18.18.0/24
|
|
- 198.18.19.0/24
|
|
- 198.18.20.0/24
|
|
- 198.18.21.0/24
|
|
- 198.18.22.0/24
|
|
- 198.18.23.0/24
|
|
---
|
|
apiVersion: bind.unkin.net/v1alpha1
|
|
kind: BindACL
|
|
metadata:
|
|
name: acl-dmz
|
|
namespace: bind-internal
|
|
spec:
|
|
clusterRef: bind-resolvers
|
|
entries:
|
|
- 198.18.24.0/24
|
|
---
|
|
apiVersion: bind.unkin.net/v1alpha1
|
|
kind: BindACL
|
|
metadata:
|
|
name: acl-common
|
|
namespace: bind-internal
|
|
spec:
|
|
clusterRef: bind-resolvers
|
|
entries:
|
|
- 198.18.25.0/24
|
|
- 198.18.26.0/24
|
|
- 198.18.27.0/24
|
|
- 198.18.28.0/24
|
|
- 198.18.29.0/24
|
|
---
|
|
apiVersion: bind.unkin.net/v1alpha1
|
|
kind: BindACL
|
|
metadata:
|
|
name: acl-nomad-jobs
|
|
namespace: bind-internal
|
|
spec:
|
|
clusterRef: bind-resolvers
|
|
entries:
|
|
- 198.18.64.0/24
|
|
- 198.18.65.0/24
|
|
- 198.18.66.0/24
|
|
- 198.18.67.0/24
|
|
- 198.18.68.0/24
|
|
- 198.18.69.0/24
|