Hi ,
Thank you for developing this amazing DNS server! I am running into a configuration dilemma when setting up a Primary/Secondary cluster using Tailscale for internal node communication.
My Setup & Goal:
I have 1 Primary node and several Secondary nodes (ns1 to ns5).
All nodes are connected via Tailscale VPN (100.64.0.0/10 range).
My goal:
Cluster internal communication (API, Zone Transfers/AXFR, and Notify) should strictly use Tailscale internal IPs (100.x.x.x) for security.
Public DNS resolution should advertise the real public IPs of my VPS nodes as the A / AAAA records for ns1 - ns5 in cluster-catalog and my primary domain zone.
The Problem:
If I enter the Tailscale internal IPs (100.x.x.x) in Secondary Node IP Addresses when joining the cluster:
The cluster syncs over Tailscale perfectly.
However, the auto-generated A records for my nameservers in cluster-catalog and my zone get updated to 100.x.x.x (Tailscale IPs), causing public DNS queries from the internet to fail.
If I change Secondary Node IP Addresses to the Public IPs:
The public A records become correct (Public IPs).
However, cluster communication no longer routes through the private Tailscale tunnel.
My Question:
What is the recommended way to configure the cluster so that nodes communicate and sync exclusively via Tailscale internal IPs (100.x.x.x), while the DNS server automatically publishes real Public IPs for the nameserver A/AAAA records to the outside world?
Should I be configuring Advertised IP Addresses under Settings -> Cluster differently, or is there another way to decouple cluster transport IPs from the published name server records?
Thanks in advance!
Hi ,
Thank you for developing this amazing DNS server! I am running into a configuration dilemma when setting up a Primary/Secondary cluster using Tailscale for internal node communication.
My Setup & Goal:
I have 1 Primary node and several Secondary nodes (ns1 to ns5).
All nodes are connected via Tailscale VPN (100.64.0.0/10 range).
My goal:
Cluster internal communication (API, Zone Transfers/AXFR, and Notify) should strictly use Tailscale internal IPs (100.x.x.x) for security.
Public DNS resolution should advertise the real public IPs of my VPS nodes as the A / AAAA records for ns1 - ns5 in cluster-catalog and my primary domain zone.
The Problem:
If I enter the Tailscale internal IPs (100.x.x.x) in Secondary Node IP Addresses when joining the cluster:
The cluster syncs over Tailscale perfectly.
However, the auto-generated A records for my nameservers in cluster-catalog and my zone get updated to 100.x.x.x (Tailscale IPs), causing public DNS queries from the internet to fail.
If I change Secondary Node IP Addresses to the Public IPs:
The public A records become correct (Public IPs).
However, cluster communication no longer routes through the private Tailscale tunnel.
My Question:
What is the recommended way to configure the cluster so that nodes communicate and sync exclusively via Tailscale internal IPs (100.x.x.x), while the DNS server automatically publishes real Public IPs for the nameserver A/AAAA records to the outside world?
Should I be configuring Advertised IP Addresses under Settings -> Cluster differently, or is there another way to decouple cluster transport IPs from the published name server records?
Thanks in advance!