-
-
Notifications
You must be signed in to change notification settings - Fork 129
Description
Observed on:
- Debian Linux 11
- Webmin 2.621
- Virtualmin 8.1.0 GPL
- Authentic Theme 26.22
System:
- BIND with master + multiple slave authoritative DNS servers
- DNS slaves use zone transfers from master
- BIND views enabled in slave configuration for one DNS server
Issue:
When saving or creating a sub-server with DNS enabled, Virtualmin reports:
DNS for domain failed : Missing file to read at virtual_server::/usr/share/webmin/virtual-server/feature-dns.pl line 4026
The UI simultaneously shows:
Adding new DNS zone .. done
Observed result:
The zone is not always created consistently across authoritative DNS servers.
In this case:
- master zone was created on the primary server
- one slave returned NXDOMAIN
- one slave returned SERVFAIL
- one slave had an invalid local zone file
- manual BIND cleanup and slave retransfer were required
This produced intermittent production failures because different authoritative DNS servers answered differently depending on which one clients reached.
Practical impact:
Users experienced random connection failures to a production CRM host because DNS resolution became inconsistent across authoritative nameservers.
Manual investigation showed:
- partial slave zone creation
- invalid transferred zone file on one slave
- one slave BIND config became inconsistent after zone insertion
- manual correction required before all slaves returned identical answers again
After cleanup, all authoritative servers answered correctly again.
Possible cause:
feature-dns.pl appears to attempt read_file_lines() before file state is fully consistent, or before slave-side zone state is safely established.
This may especially appear in environments using:
- BIND master/slave topology
- authoritative slave replication
- views
The issue is not only cosmetic: it can lead to intermittent authoritative DNS inconsistency in production.
The issue seems related to recent DNS regressions already reported around Virtualmin 8.x.
I can provide exact zone snippets if useful.