Configure resolvers like puppet (openforwarder view + forward zones) (#226)
## Why `dig google.com @198.18.200.7` was refused: the resolver never set allow-recursion, so BIND defaulted to localnets/localhost. This mirrors the puppet resolver (/etc/named/views.conf + acls.conf) exactly. ## Changes - `openforwarder` BindView: `match-clients` = the 4 internal ACLs, recursion yes, allow-recursion/allow-query `any` (match-clients gates) - 4 BindACLs from puppet acls.conf (acl-main.unkin.net/acl-dmz/acl-common/acl-nomad-jobs) - 26 conditional forward zones in the view (unkin→198.18.19.15, consul→.14, k8s→.20, dmz/network/prod + 10.10.x reverse → 10.10.16.32/33) - global forwarders 8.8.8.8/1.1.1.1 - operator image → v0.1.4 ## Note Forward-zone upstreams point at the **puppet anycast** servers (still authoritative during migration); flip to the in-cluster authoritative/externaldns LBs once zone data is migrated. ## Validated kustomize build (59 docs), kubeconform clean. Reviewed-on: #226 Co-authored-by: Ben Vincent <ben@unkin.net> Co-committed-by: Ben Vincent <ben@unkin.net>
This commit was merged in pull request #226.
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
---
|
||||
# openforwarder view, mirrored from puppet /etc/named/views.conf.
|
||||
# match-clients gates access to internal networks; recursion/query are 'any'
|
||||
# within the view since match-clients already restricts who reaches it.
|
||||
apiVersion: bind.unkin.net/v1alpha1
|
||||
kind: BindView
|
||||
metadata:
|
||||
name: openforwarder
|
||||
namespace: bind-internal
|
||||
spec:
|
||||
clusterRef: bind-resolvers
|
||||
order: 100
|
||||
matchClients:
|
||||
- acl-main.unkin.net
|
||||
- acl-nomad-jobs
|
||||
- acl-common
|
||||
- acl-dmz
|
||||
recursion: true
|
||||
allowQuery:
|
||||
- any
|
||||
extraOptions:
|
||||
- "allow-recursion { any; }"
|
||||
- "allow-query-cache { any; }"
|
||||
Reference in New Issue
Block a user