burnley
Regular Pleskian
BIND doesn't allow underscore for A, MX, NS and SOA (except for the email address part). The problem is, Plesk doesn't check for the existence of underscore in the hostname when entering those records (tested for A and MX) and, after clicking "Update" button, the zone breaks and named can't reload it. PoC:
[...]
Aug 20 10:59:42 plesk12 named[1402]: zone 1.168.192.in-addr.arpa/IN: loaded serial 1566262782
Aug 20 10:59:42 plesk12 named[1402]: 0dom1.local:20: mx_01.0dom1.local: bad owner name (check-names)
Aug 20 10:59:42 plesk12 named[1402]: zone 0dom1.local/IN: loading from master file 0dom1.local failed: bad owner name (check-names)
Aug 20 10:59:42 plesk12 named[1402]: zone 0dom1.local/IN: not loaded due to errors.
[...]
[root@plesk12 ~]# named-checkzone -k fail 0dom1.local /var/named/chroot/var/0dom1.local
/var/named/chroot/var/0dom1.local:20: mx_01.0dom1.local: bad owner name (check-names)
zone 0dom1.local/IN: loading from master file /var/named/chroot/var/0dom1.local failed: bad owner name (check-names)
zone 0dom1.local/IN: not loaded due to errors.
[root@plesk12 ~]# echo $?
1
Plesk generated zone file:
---CUT HERE---
; *** This file is automatically generated by Plesk ***
$TTL 86400
@ IN SOA ns.0dom1.local. tech.ddns.com.au. (
1566262781 ; Serial
10800 ; Refresh
3600 ; Retry
604800 ; Expire
10800 ) ; Minimum
0dom1.local. IN NS ns.0dom1.local.
s1.0dom1.local. IN A 192.168.1.240
ipv4.0dom1.local. IN A 192.168.1.240
0dom1.local. IN A 192.168.1.240
mail.0dom1.local. IN A 192.168.1.240
ns.0dom1.local. IN A 192.168.1.240
webmail.0dom1.local. IN A 192.168.1.240
www.0dom1.local. IN CNAME 0dom1.local.
ftp.0dom1.local. IN CNAME 0dom1.local.
mx_01.0dom1.local. IN MX 0 aspmx.l.google.com.
0dom1.local. IN MX 10 mail.0dom1.local.
0dom1.local. IN TXT "v=spf1 +a +mx -all +alesk12.ddns.local"
---CUT HERE---
Similar for A record. To reproduce:
- Domain DNS Settings -> Add Record
- For A record type, enter "host_name" in Domain name field and the IP in the IP address field. Click Add, then Update. Plesk will accept the record, but named won't reload the zone.
[...]
Aug 20 10:59:42 plesk12 named[1402]: zone 1.168.192.in-addr.arpa/IN: loaded serial 1566262782
Aug 20 10:59:42 plesk12 named[1402]: 0dom1.local:20: mx_01.0dom1.local: bad owner name (check-names)
Aug 20 10:59:42 plesk12 named[1402]: zone 0dom1.local/IN: loading from master file 0dom1.local failed: bad owner name (check-names)
Aug 20 10:59:42 plesk12 named[1402]: zone 0dom1.local/IN: not loaded due to errors.
[...]
[root@plesk12 ~]# named-checkzone -k fail 0dom1.local /var/named/chroot/var/0dom1.local
/var/named/chroot/var/0dom1.local:20: mx_01.0dom1.local: bad owner name (check-names)
zone 0dom1.local/IN: loading from master file /var/named/chroot/var/0dom1.local failed: bad owner name (check-names)
zone 0dom1.local/IN: not loaded due to errors.
[root@plesk12 ~]# echo $?
1
Plesk generated zone file:
---CUT HERE---
; *** This file is automatically generated by Plesk ***
$TTL 86400
@ IN SOA ns.0dom1.local. tech.ddns.com.au. (
1566262781 ; Serial
10800 ; Refresh
3600 ; Retry
604800 ; Expire
10800 ) ; Minimum
0dom1.local. IN NS ns.0dom1.local.
s1.0dom1.local. IN A 192.168.1.240
ipv4.0dom1.local. IN A 192.168.1.240
0dom1.local. IN A 192.168.1.240
mail.0dom1.local. IN A 192.168.1.240
ns.0dom1.local. IN A 192.168.1.240
webmail.0dom1.local. IN A 192.168.1.240
www.0dom1.local. IN CNAME 0dom1.local.
ftp.0dom1.local. IN CNAME 0dom1.local.
mx_01.0dom1.local. IN MX 0 aspmx.l.google.com.
0dom1.local. IN MX 10 mail.0dom1.local.
0dom1.local. IN TXT "v=spf1 +a +mx -all +alesk12.ddns.local"
---CUT HERE---
Similar for A record. To reproduce:
- Domain DNS Settings -> Add Record
- For A record type, enter "host_name" in Domain name field and the IP in the IP address field. Click Add, then Update. Plesk will accept the record, but named won't reload the zone.