CoreDNS 1.14.3 returns REFUSED for all zones that use 'file /data/zone reload 30s' — the reload timer defers the initial zone load, causing the plugin to return REFUSED until the timer fires. The timer never resolves this correctly. Zone updates are already triggered by SIGUSR1 sent from _reload_dns_service() after every zone file write, which causes CoreDNS to reinitialise all plugins and re-read zone files. No periodic zone polling is needed. Also update config/dns/Corefile to remove the stale reload 30s. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -739,7 +739,7 @@ def generate_corefile(peers: List[Dict[str, Any]], corefile_path: str = COREFILE
|
|||||||
|
|
||||||
acl_block = _build_acl_block(blocked, domain)
|
acl_block = _build_acl_block(blocked, domain)
|
||||||
|
|
||||||
primary_zone_block = f'{domain} {{\n file /data/{domain}.zone reload 30s\n log\n'
|
primary_zone_block = f'{domain} {{\n file /data/{domain}.zone\n log\n'
|
||||||
if acl_block:
|
if acl_block:
|
||||||
primary_zone_block += acl_block + '\n'
|
primary_zone_block += acl_block + '\n'
|
||||||
primary_zone_block += '}\n'
|
primary_zone_block += '}\n'
|
||||||
@@ -760,7 +760,7 @@ def generate_corefile(peers: List[Dict[str, Any]], corefile_path: str = COREFILE
|
|||||||
for sz in split_horizon_zones:
|
for sz in split_horizon_zones:
|
||||||
corefile += (
|
corefile += (
|
||||||
f'\n{sz} {{\n'
|
f'\n{sz} {{\n'
|
||||||
f' file /data/{sz}.zone reload 30s\n'
|
f' file /data/{sz}.zone\n'
|
||||||
f' log\n'
|
f' log\n'
|
||||||
f'}}\n'
|
f'}}\n'
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user