• We value your experience with Plesk during 2024
    Plesk strives to perform even better in 2025. To help us improve further, please answer a few questions about your experience with Plesk Obsidian 2024.
    Please take this short survey:

    https://pt-research.typeform.com/to/AmZvSXkx
  • The Horde webmail has been deprecated. Its complete removal is scheduled for April 2025. For details and recommended actions, see the Feature and Deprecation Plan.
  • We’re working on enhancing the Monitoring feature in Plesk, and we could really use your expertise! If you’re open to sharing your experiences with server and website monitoring or providing feedback, we’d love to have a one-hour online meeting with you.

DNS serial numbers set to 0 after upgrade to Plesk 8.6

breun

Golden Pleskian
I noticed that Plesk 8.6 introduced support for YYYYMMDDNN DNS serial numbers (previously only Unix timestamp format was supported). After upgrading to Plesk 8.6 and not changing any settings all serials are set to 0 (still Unix timestamp format). You may see log messages like these in /var/log/messages:

zone example.com/IN: zone serial has gone backwards
 
Go to your Server -> DNS Settings -> SOA and turn on DNS zone serial number format and you may have to also visit each customer domain name in the control panel and turn on there. This should fix your problem with any newly created zones and existing. If this does not fix your problem edit the zone by hand. /var/named/run-root/var

-Prowler318
 
I know there are several ways to fix this, but I just wanted to point this out to Plesk users so that when they encounter this they know it's Plesk that did this.

It's not really necessary to switch the DNS serial format if you don't want to. Just making a change to a DNS zone generates a 'normal' serial number again.

Editing the zonefiles by hand is not a structural solution as the zonefiles are generated from the psa database by dnsmng, so editing them by hand makes the files and the database get out of sync and running dnsmng will revert the zone files (which is probably not what you want). Yeah, you could edit the database directly and then run dnsmng to generate new zone files... Anyway, I just wanted people to know about this issue.
 
Actually per the RFCs you are to have the serial formats correct....
 
Is there any easy sollution to this problem?

I really don't like the idea to go in Plesk and manually check all domains to get the serial number corrected.

Some ccTLD authorities does require correct serial and may even cancel your domain if the serial is wrong. That said this problem is very bad and should have some kind of hotfix ASAP.
 
Hi


i fixed it so (just in case, please make a database backup before you perform any operations with it) ;)

mysql> select serial_format,serial from dns_zone;
+---------------+------------+
| serial_format | serial |
+---------------+------------+
| UNIXTIMESTAMP | 0 |
| UNIXTIMESTAMP | 0 |
| UNIXTIMESTAMP | 0 |
| UNIXTIMESTAMP | 0 |
| UNIXTIMESTAMP | 0 |

* UPDATE dns_zone SET serial_format='YYYYMMDDNN',serial='2008081801' WHERE serial=0;

After that run this:

* echo "SELECT name FROM domains" | mysql -Ns -uadmin -p`cat /etc/psa/.psa.shadow` -Dpsa | \
while read domname ; do /usr/local/psa/admin/sbin/dnsmng update $domname ; done

* /etc/init.d/named restart


Best regards
ACID25
 
That also switches your DNS serial format from UNIXTIMESTAMP to YYYYMMDDNN, which may or may not be what you want.

I know I could also script something to fix this, but I want Parallels and everyone else here to know this is a problem and that the hotfix script doesn't work. I'd rather not make a habit of fixing all of Plesk's problems myself (since we're paying customers and especially since Plesk is closed source and I therefor cannot fix all of Plesk's problems myself).
 
Sirs,
to restore dns serial number you can execute the following shell script:
ftp://download1.swsoft.com/Plesk/Plesk8.6/hotfix/zone_serial/restore_serial.sh

it will regenerate serial values and zone files for problem dns zones.

This script doesn't fix the problem. We still get lots of announcements that the required SOA serial is 0. Solving this problem is really critical because we are in risk of loosing many of our own and clients ccTLD registered domains because SOA serial isn't correct.
 
Thanks, ACID25.

Your code helped us in the right direction. I didn't use the WHERE serial = 0 since I wanted all of my sites to use the YYYYMMDDNN format instead of unix timestamp. I also had to run the script to rewrite the files for the domainaliases since those weren't updated by your code. Hope this helps someone else! It would have been nice if plesk fixed this in any update since august...

# UPDATE dns_zone SET serial_format='YYYYMMDDNN',serial='2009011105';

# echo "SELECT name FROM domains" | mysql -Ns -uadmin -p`cat /etc/psa/.psa.shadow` -Dpsa | \
while read domname ; do /usr/local/psa/admin/sbin/dnsmng update $domname ; done

# echo "SELECT name FROM domainaliases" | mysql -Ns -uadmin -p`cat /etc/psa/.psa.shadow` -Dpsa | \
while read domname ; do /usr/local/psa/admin/sbin/dnsmng update $domname ; done

# /etc/init.d/bind9 restart
 
Back
Top