Adding a DNS zone - Bug after update to v3.2.11p1

Discussion in 'General' started by Boris Boris, Nov 8, 2023.

  1. Boris Boris

    Boris Boris New Member

    Hello everybody,
    I've updated my ISPConfig to v.3.2.11p1 yesterday. All seems to work fine except when I add a new DNS zone.
    • When I use the "Add new DNS Zone with Wizard", I fill all the fields and I valid then my zone isn't created and I don't have any error message.
    • When I use "Add new DNS Zone manually", I fill the required fields and I valid, then I obtain the following error message :
      Field 'id' doesn't have a default value
    I believe I will find the bug. Certainly a AUTO-INCREMENT option that is not defined in the database.
    But maybe it comes from the updating. I forgot what was my original version but I hadn't update ISPConfig since last spring.
    Any idea ?
    Thank you by advance.
     
  2. Boris Boris

    Boris Boris New Member

    Problem NOT solved !
    All the tables of the master ISPConfig installation database had no Auto-increment option enabled.
    I've enabled the AI option in the tables using phpMyAdmin.
    -----
    Enabling the AI option made me able to write the data into the Master database but the new domain and records data was not sent to the slave (DNS server).
    -----
    So, I searched again int the forum posts, and I found some ideas, but none worked.
     
    Last edited: Nov 12, 2023
    Th0m and ahrasis like this.
  3. Boris Boris

    Boris Boris New Member

    Please, find hereafter the debugging data from the master server :

    Code:
    ##### SERVER #####
    IP-address (as per hostname): ***.***.***.***
    [WARN] could not determine server's ip address by ifconfig
    [INFO] OS version is Debian GNU/Linux 10 (buster)
    
    [INFO] uptime:  04:50:45 up 9 min,  1 user,  load average: 1,48, 1,23, 0,72
    
    [INFO] memory:
                  total        used        free      shared  buff/cache   available
    Mem:          3,9Gi       1,9Gi       713Mi        38Mi       1,2Gi       1,6Gi
    Swap:         1,0Gi          0B       1,0Gi
    
    [INFO] systemd failed services status:
    0 loaded units listed. Pass --all to see loaded but inactive units, too.
    To show all installed unit files use 'systemctl list-unit-files'.
    
    [INFO] ISPConfig is installed.
    
    ##### ISPCONFIG #####
    ISPConfig version is 3.2dev20231112
    
    
    ##### VERSION CHECK #####
    
    [INFO] php (cli) version is 8.1.25
    [INFO] php-cgi (used for cgi php in default vhost!) is version 8.1.25
    
    ##### PORT CHECK #####
    
    [WARN] Port 8080 (ISPConfig) seems NOT to be listening
    
    ##### MAIL SERVER CHECK #####
    
    
    ##### RUNNING SERVER PROCESSES #####
    
    [INFO] I found the following web server(s):
            Apache 2 (PID 904)
    [INFO] I found the following mail server(s):
            Postfix (PID 1138)
    [INFO] I found the following pop3 server(s):
            Dovecot (PID 587)
    [INFO] I found the following imap server(s):
            Dovecot (PID 587)
    [INFO] I found the following ftp server(s):
            PureFTP (PID 1003)
    
    ##### LISTENING PORTS #####
    (seulement              ()
    Adresse         (distante)
    [anywhere]:995          (587/dovecot)
    [localhost]:10023               (732/postgrey)
    [localhost]:10024               (1143/amavisd-new)
    [localhost]:10025               (1138/master)
    [localhost]:10026               (1143/amavisd-new)
    [localhost]:10027               (1138/master)
    [anywhere]:587          (1138/master)
    [localhost]:11211               (571/memcached)
    [anywhere]:110          (587/dovecot)
    [anywhere]:143          (587/dovecot)
    [anywhere]:465          (1138/master)
    [anywhere]:21           (1003/pure-ftpd)
    ***.***.***.***:53              (614/named)
    [localhost]:53          (614/named)
    [anywhere]:22           (626/sshd)
    [anywhere]:25           (1138/master)
    [localhost]:953         (614/named)
    [anywhere]:993          (587/dovecot)
    *:*:*:*::*:995          (587/dovecot)
    *:*:*:*::*:10023                (732/postgrey)
    *:*:*:*::*:10024                (1143/amavisd-new)
    *:*:*:*::*:10026                (1143/amavisd-new)
    *:*:*:*::*:3306         (665/mysqld)
    *:*:*:*::*:587          (1138/master)
    [localhost]10           (587/dovecot)
    [localhost]43           (587/dovecot)
    *:*:*:*::*:80           (904/apache2)
    *:*:*:*::*:465          (1138/master)
    *:*:*:*::*:8081         (904/apache2)
    *:*:*:*::*:21           (1003/pure-ftpd)
    *:*:*:*::*:53           (614/named)
    *:*:*:*::*:22           (626/sshd)
    *:*:*:*::*:25           (1138/master)
    *:*:*:*::*:953          (614/named)
    *:*:*:*::*:443          (904/apache2)
    *:*:*:*::*:8765         (904/apache2)
    *:*:*:*::*:993          (587/dovecot)
    
    ##### IPTABLES #####
    Chain INPUT (policy DROP)
    target     prot opt source               destination
    f2b-postfix-sasl  tcp  --  [anywhere]/0            [anywhere]/0            mu
    ltiport dports 25
    f2b-sshd   tcp  --  [anywhere]/0            [anywhere]/0            multiport
     dports 22
    ufw-before-logging-input  all  --  [anywhere]/0            [anywhere]/0
    
    ufw-before-input  all  --  [anywhere]/0            [anywhere]/0
    ufw-after-input  all  --  [anywhere]/0            [anywhere]/0
    ufw-after-logging-input  all  --  [anywhere]/0            [anywhere]/0
    
    ufw-reject-input  all  --  [anywhere]/0            [anywhere]/0
    ufw-track-input  all  --  [anywhere]/0            [anywhere]/0
    
    Chain FORWARD (policy DROP)
    target     prot opt source               destination
    ufw-before-logging-forward  all  --  [anywhere]/0            [anywhere]/0
    
    ufw-before-forward  all  --  [anywhere]/0            [anywhere]/0
    ufw-after-forward  all  --  [anywhere]/0            [anywhere]/0
    ufw-after-logging-forward  all  --  [anywhere]/0            [anywhere]/0
    
    ufw-reject-forward  all  --  [anywhere]/0            [anywhere]/0
    ufw-track-forward  all  --  [anywhere]/0            [anywhere]/0
    
    Chain OUTPUT (policy ACCEPT)
    target     prot opt source               destination
    ufw-before-logging-output  all  --  [anywhere]/0            [anywhere]/0
    
    ufw-before-output  all  --  [anywhere]/0            [anywhere]/0
    ufw-after-output  all  --  [anywhere]/0            [anywhere]/0
    ufw-after-logging-output  all  --  [anywhere]/0            [anywhere]/0
    
    ufw-reject-output  all  --  [anywhere]/0            [anywhere]/0
    ufw-track-output  all  --  [anywhere]/0            [anywhere]/0
    
    Chain ufw-before-logging-input (1 references)
    target     prot opt source               destination
    
    Chain ufw-before-logging-output (1 references)
    target     prot opt source               destination
    
    Chain ufw-before-logging-forward (1 references)
    target     prot opt source               destination
    
    Chain ufw-before-input (1 references)
    target     prot opt source               destination
    ACCEPT     all  --  [anywhere]/0            [anywhere]/0
    ACCEPT     all  --  [anywhere]/0            [anywhere]/0            ctstate R
    ELATED,ESTABLISHED
    ufw-logging-deny  all  --  [anywhere]/0            [anywhere]/0            ct
    state INVALID
    DROP       all  --  [anywhere]/0            [anywhere]/0            ctstate I
    NVALID
    ACCEPT     icmp --  [anywhere]/0            [anywhere]/0            icmptype
    3
    ACCEPT     icmp --  [anywhere]/0            [anywhere]/0            icmptype
    11
    ACCEPT     icmp --  [anywhere]/0            [anywhere]/0            icmptype
    12
    ACCEPT     icmp --  [anywhere]/0            [anywhere]/0            icmptype
    8
    ACCEPT     udp  --  [anywhere]/0            [anywhere]/0            udp spt:6
    7 dpt:68
    ufw-not-local  all  --  [anywhere]/0            [anywhere]/0
    ACCEPT     udp  --  [anywhere]/0            ***.***.***.***          udp dpt:
    5353
    ACCEPT     udp  --  [anywhere]/0            ***.***.***.***      udp dpt:1900
    ufw-user-input  all  --  [anywhere]/0            [anywhere]/0
    
    Chain ufw-before-output (1 references)
    target     prot opt source               destination
    ACCEPT     all  --  [anywhere]/0            [anywhere]/0
    ACCEPT     all  --  [anywhere]/0            [anywhere]/0            ctstate R
    ELATED,ESTABLISHED
    ufw-user-output  all  --  [anywhere]/0            [anywhere]/0
    
    Chain ufw-before-forward (1 references)
    target     prot opt source               destination
    ACCEPT     all  --  [anywhere]/0            [anywhere]/0            ctstate R
    ELATED,ESTABLISHED
    ACCEPT     icmp --  [anywhere]/0            [anywhere]/0            icmptype
    3
    ACCEPT     icmp --  [anywhere]/0            [anywhere]/0            icmptype
    11
    ACCEPT     icmp --  [anywhere]/0            [anywhere]/0            icmptype
    12
    ACCEPT     icmp --  [anywhere]/0            [anywhere]/0            icmptype
    8
    ufw-user-forward  all  --  [anywhere]/0            [anywhere]/0
    
    Chain ufw-after-input (1 references)
    target     prot opt source               destination
    ufw-skip-to-policy-input  udp  --  [anywhere]/0            [anywhere]/0
          udp dpt:137
    ufw-skip-to-policy-input  udp  --  [anywhere]/0            [anywhere]/0
          udp dpt:138
    ufw-skip-to-policy-input  tcp  --  [anywhere]/0            [anywhere]/0
          tcp dpt:139
    ufw-skip-to-policy-input  tcp  --  [anywhere]/0            [anywhere]/0
          tcp dpt:445
    ufw-skip-to-policy-input  udp  --  [anywhere]/0            [anywhere]/0
          udp dpt:67
    ufw-skip-to-policy-input  udp  --  [anywhere]/0            [anywhere]/0
          udp dpt:68
    ufw-skip-to-policy-input  all  --  [anywhere]/0            [anywhere]/0
          ADDRTYPE match dst-type BROADCAST
    
    Chain ufw-after-output (1 references)
    target     prot opt source               destination
    
    Chain ufw-after-forward (1 references)
    target     prot opt source               destination
    
    Chain ufw-after-logging-input (1 references)
    target     prot opt source               destination
    LOG        all  --  [anywhere]/0            [anywhere]/0            limit: av
    g 3/min burst 10 LOG flags 0 level 4 prefix "[UFW BLOCK] "
    
    Chain ufw-after-logging-output (1 references)
    target     prot opt source               destination
    
    Chain ufw-after-logging-forward (1 references)
    target     prot opt source               destination
    LOG        all  --  [anywhere]/0            [anywhere]/0            limit: av
    g 3/min burst 10 LOG flags 0 level 4 prefix "[UFW BLOCK] "
    
    Chain ufw-reject-input (1 references)
    target     prot opt source               destination
    
    Chain ufw-reject-output (1 references)
    target     prot opt source               destination
    
    Chain ufw-reject-forward (1 references)
    target     prot opt source               destination
    
    Chain ufw-track-input (1 references)
    target     prot opt source               destination
    
    Chain ufw-track-output (1 references)
    target     prot opt source               destination
    ACCEPT     tcp  --  [anywhere]/0            [anywhere]/0            ctstate N
    EW
    ACCEPT     udp  --  [anywhere]/0            [anywhere]/0            ctstate N
    EW
    
    Chain ufw-track-forward (1 references)
    target     prot opt source               destination
    
    Chain ufw-logging-deny (2 references)
    target     prot opt source               destination
    RETURN     all  --  [anywhere]/0            [anywhere]/0            ctstate I
    NVALID limit: avg 3/min burst 10
    LOG        all  --  [anywhere]/0            [anywhere]/0            limit: av
    g 3/min burst 10 LOG flags 0 level 4 prefix "[UFW BLOCK] "
    
    Chain ufw-logging-allow (0 references)
    target     prot opt source               destination
    LOG        all  --  [anywhere]/0            [anywhere]/0            limit: av
    g 3/min burst 10 LOG flags 0 level 4 prefix "[UFW ALLOW] "
    
    Chain ufw-skip-to-policy-input (7 references)
    target     prot opt source               destination
    DROP       all  --  [anywhere]/0            [anywhere]/0
    
    Chain ufw-skip-to-policy-output (0 references)
    target     prot opt source               destination
    ACCEPT     all  --  [anywhere]/0            [anywhere]/0
    
    Chain ufw-skip-to-policy-forward (0 references)
    target     prot opt source               destination
    DROP       all  --  [anywhere]/0            [anywhere]/0
    
    Chain ufw-not-local (1 references)
    target     prot opt source               destination
    RETURN     all  --  [anywhere]/0            [anywhere]/0            ADDRTYPE
    match dst-type LOCAL
    RETURN     all  --  [anywhere]/0            [anywhere]/0            ADDRTYPE
    match dst-type MULTICAST
    RETURN     all  --  [anywhere]/0            [anywhere]/0            ADDRTYPE
    match dst-type BROADCAST
    ufw-logging-deny  all  --  [anywhere]/0            [anywhere]/0            li
    mit: avg 3/min burst 10
    DROP       all  --  [anywhere]/0            [anywhere]/0
    
    Chain ufw-user-input (1 references)
    target     prot opt source               destination
    ACCEPT     tcp  --  [anywhere]/0            [anywhere]/0            tcp dpt:2
    0
    ACCEPT     tcp  --  [anywhere]/0            [anywhere]/0            tcp dpt:2
    1
    ACCEPT     tcp  --  [anywhere]/0            [anywhere]/0            tcp dpt:2
    2
    ACCEPT     tcp  --  [anywhere]/0            [anywhere]/0            tcp dpt:2
    5
    ACCEPT     tcp  --  [anywhere]/0            [anywhere]/0            tcp dpt:5
    3
    ACCEPT     tcp  --  [anywhere]/0            [anywhere]/0            tcp dpt:8
    0
    ACCEPT     tcp  --  [anywhere]/0            [anywhere]/0            tcp dpt:1
    10
    ACCEPT     tcp  --  [anywhere]/0            [anywhere]/0            tcp dpt:1
    43
    ACCEPT     tcp  --  [anywhere]/0            [anywhere]/0            tcp dpt:4
    43
    ACCEPT     tcp  --  [anywhere]/0            [anywhere]/0            tcp dpt:4
    65
    ACCEPT     tcp  --  [anywhere]/0            [anywhere]/0            tcp dpt:5
    87
    ACCEPT     tcp  --  [anywhere]/0            [anywhere]/0            tcp dpt:9
    93
    ACCEPT     tcp  --  [anywhere]/0            [anywhere]/0            tcp dpt:9
    95
    ACCEPT     tcp  --  [anywhere]/0            [anywhere]/0            tcp dpt:3
    306
    ACCEPT     tcp  --  [anywhere]/0            [anywhere]/0            tcp dpt:8
    080
    ACCEPT     tcp  --  [anywhere]/0            [anywhere]/0            tcp dpt:8
    081
    ACCEPT     tcp  --  [anywhere]/0            [anywhere]/0            tcp dpt:1
    0000
    ACCEPT     udp  --  [anywhere]/0            [anywhere]/0            udp dpt:5
    3
    ACCEPT     udp  --  [anywhere]/0            [anywhere]/0            udp dpt:3
    306
    ACCEPT     tcp  --  [anywhere]/0            [anywhere]/0            tcp dpt:8
    765
    
    Chain ufw-user-output (1 references)
    target     prot opt source               destination
    
    Chain ufw-user-forward (1 references)
    target     prot opt source               destination
    
    Chain ufw-user-logging-input (0 references)
    target     prot opt source               destination
    
    Chain ufw-user-logging-output (0 references)
    target     prot opt source               destination
    
    Chain ufw-user-logging-forward (0 references)
    target     prot opt source               destination
    
    Chain ufw-user-limit (0 references)
    target     prot opt source               destination
    LOG        all  --  [anywhere]/0            [anywhere]/0            limit: av
    g 3/min burst 5 LOG flags 0 level 4 prefix "[UFW LIMIT BLOCK] "
    REJECT     all  --  [anywhere]/0            [anywhere]/0            reject-wi
    th icmp-port-unreachable
    
    Chain ufw-user-limit-accept (0 references)
    target     prot opt source               destination
    ACCEPT     all  --  [anywhere]/0            [anywhere]/0
    
    Chain f2b-sshd (1 references)
    target     prot opt source               destination
    REJECT     all  --  ***.***.***.***       [anywhere]/0            reject-with
     icmp-port-unreachable
    REJECT     all  --  ***.***.***.***       [anywhere]/0            reject-with
     icmp-port-unreachable
    RETURN     all  --  [anywhere]/0            [anywhere]/0
    
    Chain f2b-postfix-sasl (1 references)
    target     prot opt source               destination
    REJECT     all  --  ***.***.***.***        [anywhere]/0            reject-wit
    h icmp-port-unreachable
    REJECT     all  --  ***.***.***.***         [anywhere]/0            reject-wi
    th icmp-port-unreachable
    RETURN     all  --  [anywhere]/0            [anywhere]/0
    
    
    
    
    ##### LET'S ENCRYPT #####
    Certbot is installed in /opt/eff.org/certbot/venv/bin/certbot

    And here is the error message I found in the master server ISP logs :
    Code:
    dimanche 12 novembre 2023, 04:40:55 (UTC+0100) PHP Fatal error:  Uncaught mysqli_sql_exception: Server shutdown in progress in /usr/local/ispconfig/server/lib/classes/db_mysql.inc.php:302
    dimanche 12 novembre 2023, 04:40:55 (UTC+0100) Stack trace:
    dimanche 12 novembre 2023, 04:40:55 (UTC+0100) #0 /usr/local/ispconfig/server/lib/classes/db_mysql.inc.php(302): mysqli_query()
    dimanche 12 novembre 2023, 04:40:55 (UTC+0100) #1 /usr/local/ispconfig/server/lib/classes/db_mysql.inc.php(339): db->_query()
    dimanche 12 novembre 2023, 04:40:55 (UTC+0100) #2 /usr/local/ispconfig/server/lib/classes/cronjob.inc.php(109): db->query()
    dimanche 12 novembre 2023, 04:40:55 (UTC+0100) #3 /usr/local/ispconfig/server/lib/classes/cron.d/550-bind_dnssec.inc.php(46): cronjob->onPrepare()
    dimanche 12 novembre 2023, 04:40:55 (UTC+0100) #4 /usr/local/ispconfig/server/lib/classes/cronjob.inc.php(87): cronjob_bind_dnssec->onPrepare()
    dimanche 12 novembre 2023, 04:40:55 (UTC+0100) #5 /usr/local/ispconfig/server/cron.php(116): cronjob->run()
    dimanche 12 novembre 2023, 04:40:55 (UTC+0100) #6 {main}
    dimanche 12 novembre 2023, 04:40:55 (UTC+0100) thrown in /usr/local/ispconfig/server/lib/classes/db_mysql.inc.php on line 302
    Now I am trying to understand where come that problem from ...
     
  4. ahrasis

    ahrasis Well-Known Member HowtoForge Supporter

    Default php is incorrect since your Debian OS is version 10. I however do not have any idea about your AI issue.
     
    Boris Boris likes this.
  5. remkoh

    remkoh Active Member

    Dns records are propagated from ISPConfig to your master DNS server?

    Propagating records from master to slave is not ISPConfig functionality but DNS server functionality.
    ISPConfig is only used to set which slaves to notify on updates in the master zone file and to where zone transfers are allowed in the master and slave zone files.

    Check those settings in the zone files in your DNS servers.
    If all is set correctly then propagating changes from master to slave should work.
    Unless serial isn't updated on master when applying changes. Then slave thinks nothing has changed and won't update.
     
    Boris Boris likes this.
  6. Boris Boris

    Boris Boris New Member

    Thank you very much for your answer, Remkoh.

    I should have told you that I have kept this ISPconfig installation up to date for over 8 years and I have never encountered this particular problem since all this time. upload_2023-11-12_14-0-52.png

    I have used ISPConfig for almost 10 years without problem and that I have managed DNS for 25 years.

    So, I know that Bind is doing the work and I have no problems in my DNS records.

    But thank you very much once again.
     
  7. till

    till Super Moderator Staff Member ISPConfig Developer

    If you look at the ISPConfig SQL files, you will see that auto-increment is enabled there. So you somehow removed it from your database, ISPConfig itself is not able to do that, so it must have been done manually or happened by an issue in MySQL or MariaDB.

    And regarding the error in #3, seems as if you restarted mysql while ispconfig server.sh job was running and this caused the error that MySQL or MariaDB reported that it is shut down which caused the SQL query to fail.
     
    Boris Boris likes this.
  8. till

    till Super Moderator Staff Member ISPConfig Developer

    DNS records never get sent on an ISPConfig setup. The slave node fetches data from master, the master does not send them. So you must check the slave node to find out why he stopped fetching records from master. see debug instructions: https://www.faqforge.com/linux/debugging-ispconfig-3-server-actions-in-case-of-a-failure/
     
    Boris Boris likes this.
  9. Boris Boris

    Boris Boris New Member

    Thank you very much for your answer Ahrasis.

    My ISPConfig installation was working with PHP 7.4 but I upgraded it to 8.1 to check if it was a PHP related issue. But, I regularly use PHP 8.1 installations on Debian 10 from the Sury repositories and I have never had a problem. I have a lot of ISPConfig master + 4 or 6 slave systems running under Debian 10, several of which run PHP 8.1, and it works well.

    But you made me want to gradually upgrade all my Debian VMs... I've had to do it for a long time ;)

    I'm going to upgrade to Debian 12 on new VMs...

    Thank you very much, Ahrasis.
     
  10. Boris Boris

    Boris Boris New Member

    Thank you very much Till for these details.

    Yes, I don't express myself well.

    Of course, what I meant is that the ISPConfig Cron job no longer works for DNS and does not inform the slave on which the Bind I am using is installed.

    Regarding tables, it was during the update that the autoincrement options were removed.

    I updated 4 pools from 6 master/slave ISPConfigs at the same time and this only happened on this master.

    I re-installed a previous backup of my VM from September, before the update, I re-performed the update, and this in different configurations (previous upgrade of PHP, without upgrade of PHP, etc.) but each time the autoincrements disappear during the update.

    In any case, thank you for your answers, I will recheck all the points you talk about so as not to remain stupid.

    But I think I will re-install a fresh VM or start from an older backup.
     
  11. Boris Boris

    Boris Boris New Member

    Correction: The problem occurred on an earlier version of ISPConfig and not at the time of the last update.

    I was able to verify this by testing a backup of the VM containing an ISPConfig 3.2.10 version which exhibits the same symptom.

    I will send you the logs, debugging information and symptoms of this version.
     
  12. till

    till Super Moderator Staff Member ISPConfig Developer

    ISPConfig just applies the incremental sql files from install/sql/ folder, and as you can see there, no auto-increment gets removed plus I've never seen a system with such a symptom, so this is something specific to your installation and as I mentioned, ISPConfig is not able to remove the auto-increments on its own as existing tables do not get dropped or recreated on update.
     
    Boris Boris likes this.
  13. Boris Boris

    Boris Boris New Member

    Thank you very much, Till!
    In fact, I have never had any serious problems with ISPConfig and almost none in so many years.
    This is why I have only just registered with the Forum :) ...
    Yes, this is probably a problem due to accidental manipulation on my part.

    But I already saw the same symptom in the post here:
    https://forum.howtoforge.com/thread...oesnt-have-a-default-value.84543/#post-404451
    And when I turn on the auto-increment option in phpmyadmin by myself, my problem almost looks like this:
    https://forum.howtoforge.com/threads/ispconfig-3-2-9p1-pending-updates-stuck.90479/#post-445479

    I think I did something wrong during an update this year... Interruption mid-update or something.
    In short, this is not a bug and it is not worth investigating further.
    It goes very quickly to install a brand new master.

    In any case, thank you again, Till, I’ve been silently reading your precious advice for years!

    Vielen Dank !
     

Share This Page