I’m aware that this isn’t how DNS works, but I’d imagine it is possible to have a DNS server that when it receives a query from the internet looks at the requested domain and translates it to an internal domain and in turn query that one, returning the result without revealing the internal domain. Something like a ALIAS virtual record provided by some services (but wont work against a internal DNS).
As for Traefik acting as a reverse proxy for internal network addresses, yeah that’s the way it works. However in this case I have several instances of Traefik running on a subset of IP-addresses on a public subnet. So essentially we want to loadbalance several Traefik loadbalancers using DNS.
There is the passwd LDAP backend, not sure if it works for full auth though.