Add *.home.arpa / in-addr.arpa / ip6.arpa rules to ctrld TOML

ctrld was only forwarding *.lan and *.local to Unbound.
Reverse DNS (PTR) queries and RFC 8375 *.home.arpa names were
leaking upstream instead of being answered by Unbound locally.

Both router-mode and proxy-mode TOML rule blocks now include:
  *.home.arpa  → upstream.local
  *.in-addr.arpa → upstream.local   (IPv4 reverse DNS)
  *.ip6.arpa   → upstream.local    (IPv6 reverse DNS)

This ensures all local/private DNS resolves correctly after reboot
without any manual intervention or unknown/broken state.

https://claude.ai/code/session_01JR2EMK7rwrZJowpstcaxQ6
This commit is contained in:
Claude
2026-03-24 17:20:01 +00:00
parent 13670000c2
commit c41e69d875
+6
View File
@@ -2093,6 +2093,9 @@ def _build_ctrld_toml(vlan_profiles: list, local_domain: str = "lan",
lines += [
" { " + f"\'*.{domain_suffix}\' = [\'upstream.local\']" + " },",
" { " + "\'*.local\' = [\'upstream.local\']" + " },",
" { " + "\'*.home.arpa\' = [\'upstream.local\']" + " },",
" { " + "\'*.in-addr.arpa\' = [\'upstream.local\']" + " },",
" { " + "\'*.ip6.arpa\' = [\'upstream.local\']" + " },",
]
lines += [
" ]",
@@ -2126,6 +2129,9 @@ def _build_ctrld_toml(vlan_profiles: list, local_domain: str = "lan",
" rules = [",
" { " + f"\'*.{domain_suffix}\' = [\'upstream.local\']" + " },",
" { " + "\'*.local\' = [\'upstream.local\']" + " },",
" { " + "\'*.home.arpa\' = [\'upstream.local\']" + " },",
" { " + "\'*.in-addr.arpa\' = [\'upstream.local\']" + " },",
" { " + "\'*.ip6.arpa\' = [\'upstream.local\']" + " },",
" ]",
]
else: