Networking

DNS Architecture and Resolution

Public and internal DNS authority, the staged resolver lifecycle, Technitium placement, cross-site replication, and failure behavior.

DNS separates public authority from private infrastructure naming. Cloudflare serves aorxi.io publicly; the target Technitium deployment serves core.aorxi.io internally. OPNsense provides temporary resolution until the Technitium cutover passes its Phase A10 tests.

Technitium Is a Phase A10 Target

The final DNS VMs are not part of the live Phase A2 bootstrap state. Site A first proves DHCP and DNS through OPNsense, then deploys sa-dns-01 and sa-dns-02 during Phase A10. Site B DNS and cross-site replication wait for the later Site B and WireGuard campaigns.

Namespace and Authority

NamespaceVisibilityAuthorityPurpose
aorxi.ioPublic internetCloudflarePublic records and DNS-01 certificate challenges
core.aorxi.ioHomelab clients onlyTechnitiumInfrastructure forward and reverse records

core.aorxi.io is a subdomain of the public domain, but its infrastructure records remain private. Technitium performs full recursive resolution from root servers rather than forwarding queries to an upstream resolver.

Resolver Lifecycle

StageClient resolverChange boundary
Site A target-LAN commissioningLocal OPNsense VLAN interfaceProve DHCP, DNS, NAT, and isolation before moving endpoints
Site A Phase A1010.10.30.10 and 10.10.30.11Change DHCP DNS options only after Technitium replication and failover pass
Future Site B target10.20.30.10 and 10.20.30.11Keep client queries local to Site B
Future cross-site operationLocal resolver pair at each siteUse WireGuard for zone replication and controlled updates, not routine client queries

OPNsense Unbound remains available during the Site A resolver transition and is disabled only after the Technitium path is verified.

Target DNS Nodes

HostnameSiteAddressAuthority role
sa-dns-01Site A10.10.30.10Primary and single write endpoint
sa-dns-02Site A10.10.30.11Read-only secondary
sb-dns-01Site B10.20.30.10Read-only secondary
sb-dns-02Site B10.20.30.11Read-only secondary

All four nodes use VLAN 30 (VM Services). Records are authored on sa-dns-01; it notifies the secondaries, which transfer forward and reverse zones with AXFR. Local clients query their site's pair.

Resolution and Update Flows

FlowPathDependency
Site A client queryClient → sa-dns-01 or sa-dns-02Site A VLAN policy
Site B client queryClient → sb-dns-01 or sb-dns-02Site B VLAN policy
Local zone replicationsa-dns-01sa-dns-02Site A VM Services reachability
Cross-site zone replicationsa-dns-01sb-dns-01 and sb-dns-02WireGuard and narrow DNS rules
DHCP dynamic updateOPNsense → sa-dns-01Tested RFC 2136 integration
Kubernetes record updateexternal-dnssa-dns-01Deployed cluster and scoped update credentials

Tunnel Failure Degrades Freshness, Not Local Resolution

If WireGuard is unavailable, Site B resolvers continue serving their last replicated zones. New or changed Site A records do not appear at Site B until the tunnel returns.

Certificate Boundary

Let's Encrypt certificates use DNS-01 challenges in the public Cloudflare aorxi.io zone. Challenge TXT records never depend on the private Technitium zone, so internal services can receive publicly trusted certificates without publishing their private A or AAAA records.

Implementation References

This page defines resolution and authority. The DNS VMs page owns VM sizing, zone and replication configuration, dynamic updates, and firewall ports. The DNS Deployment and Cutover Runbook owns installation, validation, rollback, and the DHCP option change. Certificate resources belong to CA and Certificates. The DHCP and IPAM Operations page owns resolver option assignment, while the Network Validation Runbook defines DNS acceptance evidence.