3

As from the title, bind9 won't serve txt records for one domain, and serve it for others. the zones are almost equal.

System Ubuntu 14.04 Bind9 from the distribution (tried 9.10 from sources too)

I have two domains: www.filippo.fake and www.mimmo.fake

Filippo's zone and Mimmo's zone are substantially equal:

cat pri.filippo.fake

$TTL        3600
@       IN      SOA     ns-1.myserver.net. email.hotmail.com. (
                        2016100403       ; serial, todays date + todays serial #
                        7200              ; refresh, seconds
                        540              ; retry, seconds
                        604800              ; expire, seconds
                        86400 )            ; minimum, seconds
;

filippo.fake. 3600 A        1.2.3.4
mail 3600 A        1.2.3.4
webmail.filippo.fake 86400 A        1.2.3.4
www 3600 A        1.2.3.5
filippo.fake. 3600      MX    10   mail.filippo.fake.
filippo.fake. 3600      NS        ns-2.myserver.net.
filippo.fake. 3600      NS        ns-1.myserver.net.
default._domainkey.filippo.fake. 3600      TXT        "v=DKIM1; t=s; p=MIdsBdsasfdsiG9w0BAQEFAfsddsfsfCgKCAQEAsPNZmpYj9ozmRtCUIbVa8uviqMaxLkT+oQ+Et1FaHGmajDYr1TrRpyj0xu/cVJb5RutV2OFHy9X+qcw0PhOoZva4I6jqbV/xqBCG823ZoyyLAodeB0ilq94wtf8MW52iMR422HMCLuR3estBOKelBr4ptptZqojK5/btJlQT/JiGkPA2YbuiEdl9QkvbZQ/JGfN" "0OpoQWKy6iy597DGj68syZDnbL+c45IWIq6Ai7U7TlRPyuwmEer3ryRbWC7DdQBp4E/5U36YBfXLSgY4L2VBZzoBSUL2MWO/VUUfcn5LegIA4ZBK/juC2br4Rv06Tm9YWtgDsYrp6Srit/8UV7wIDAQAB"
filippo.fake. 86400      TXT        "v=spf1 +a +mx +ip4:1.2.3.4 ?all"

cat pri.mimmo.fake

$TTL        3600
@       IN      SOA     ns-1.myserver.net. email.hotmail.com. (
                        2016100403       ; serial, todays date + todays serial #
                        7200              ; refresh, seconds
                        540              ; retry, seconds
                        604800              ; expire, seconds
                        86400 )            ; minimum, seconds
;

mimmo.fake. 3600 A        1.2.3.4
mail 3600 A        1.2.3.4
webmail.mimmo.fake 86400 A        1.2.3.4
www 3600 A        1.2.3.5
mimmo.fake. 3600      MX    10   mail.mimmo.fake.
mimmo.fake. 3600      NS        ns-2.myserver.net.
mimmo.fake. 3600      NS        ns-1.myserver.net.
default._domainkey.mimmo.fake. 3600      TXT        "v=DKIM1; t=s; p=MIdsBdsasffdsfsdEFAfsddsfsfCgKCAQEAsPNZmpYj9ozmRtCUIbVa8uvi32321FaHGmajDYr1TrRpyj0xu/cVJb5RutV2OFHy9X+qcw0PhOoZva4I6jqbV/xqBCGfdsfdsfdslq94wtf8MW52iMR422HMCLuR3estBOKelBr4ptptZqojK5/btJlQT/JiGkPA2YbuiEdl9QkvbZQ/JGfN" "0OpoQWKy6iy597DGj68syZDnbL+c45IWIq6Ai7U7TlRPyuwmEer3ryRbWC7DdQBp4E/5U36YBfXLSgY4L2VBZzoBSUL2MWO/VUUfcn5LegIA4ZBK/juC2br4Rv06Tm9YWtgDsYrp6Srit/8UV7wIDAQAB"
mimmo.fake. 86400      TXT        "v=spf1 +a +mx +ip4:1.2.3.4 ?all"

However, running "host -t txt domain localhost" from ns-1, ns-2 and the rest of the world gives following results

Obviously without the ending "localhost" from the rest of the world:

root@ns-1:/var/log/named# host -t txt filippo.fake localhost
Using domain server:
Name: localhost
Address: ::1#53
Aliases:

filippo.fake descriptive text "v=spf1 +a +mx +ip4:1.2.3.4 ?all"

 root@ns-1:/var/log/named# host -t txt mimmo.fake localhost
Using domain server:
Name: localhost
Address: ::1#53
Aliases:

mimmo.fake has no TXT record

There are more domains like filippo.fake normally working. With or without dkim record it doesn't matter. I already tried to change bind version, delete and recreate the zone with ispconfig, manually creating the pri.mimmo.fake zone file. It doesn't changes anything.

The logs.

Until I changed the bind version, I was receiving this in the log of the domains not working:

04-Oct-2016 14:52:01.746 zone mimmo.faje/IN: 'mimmo.fake' found SPF/TXT record but no SPF/SPF record found, add matching type SPF record

but consider that after installing bind 9.10 from sources the warning didn't show anymore in logs, while the problem with txt persits. if I create spf record, it changes nothing.

Each time the service restarts, no particular messages relative to errors or warnings are shown in the logs. Anyway, due to the complexity of the bind logging I'll show you the rules used to log, maybe I'm not looking at what i should?

 logging {
     channel default_file {
        file "/var/log/named/default.log" versions 3 size 5m;
        severity dynamic;
        print-time yes;
    };
    channel general_file {
        file "/var/log/named/general.log" versions 3 size 5m;
        severity dynamic;
        print-time yes;
    };
   channel database_file {
       file "/var/log/named/database.log" versions 3 size 5m;
       severity dynamic;
       print-time yes;
   };
   channel security_file {
       file "/var/log/named/security.log" versions 3 size 5m;
       severity dynamic;
       print-time yes;
   };
   channel config_file {
       file "/var/log/named/config.log" versions 3 size 5m;
       severity dynamic;
       print-time yes;
   };
   channel resolver_file {
       file "/var/log/named/resolver.log" versions 3 size 5m;
       severity dynamic;
       print-time yes;
   };
    channel xfer-in_file {
        file "/var/log/named/xfer-in.log" versions 3 size 5m;
        severity dynamic;
        print-time yes;
    };
    channel xfer-out_file {
        file "/var/log/named/xfer-out.log" versions 3 size 5m;
        severity dynamic;
        print-time yes;
    };
   channel notify_file {
        file "/var/log/named/notify.log" versions 3 size 5m;
        severity dynamic;
        print-time yes;
   };
   channel client_file {
       file "/var/log/named/client.log" versions 3 size 5m;
      severity dynamic;
       print-time yes;
   };
    channel unmatched_file {
        file "/var/log/named/unmatched.log" versions 3 size 5m;
        severity dynamic;
        print-time yes;
    };
    channel queries_file {
        file "/var/log/named/queries.log" versions 3 size 5m;
        severity dynamic;
        print-time yes;
    };
    channel network_file {
        file "/var/log/named/network.log" versions 3 size 5m;
        severity dynamic;
        print-time yes;
    };
    channel update_file {
        file "/var/log/named/update.log" versions 3 size 5m;
        severity dynamic;
        print-time yes;
    };
    channel dispatch_file {
        file "/var/log/named/dispatch.log" versions 3 size 5m;
        severity dynamic;
        print-time yes;
    };
    channel dnssec_file {
        file "/var/log/named/dnssec.log" versions 3 size 5m;
        severity dynamic;
        print-time yes;
    };
   channel lame-servers_file {
        file "/var/log/named/lame-servers.log" versions 3 size 5m;
        severity dynamic;
        print-time yes;
    };

    category default { default_file; };
    category general { general_file; };
    category database { database_file; };
    category security { security_file; };
    category config { config_file; };
    category resolver { resolver_file; };
    category xfer-in { xfer-in_file; };
    category xfer-out { xfer-out_file; };
    category notify { notify_file; };
    category client { client_file; };
    category unmatched { unmatched_file; };
    category queries { queries_file; };
    category network { network_file; };
    category update { update_file; };
    category dispatch { dispatch_file; };
    category dnssec { dnssec_file; };
    category lame-servers { lame-servers_file; };
};

closed as off-topic by Andrew B, mdpc, Michael Hampton Oct 19 '16 at 0:31

This question appears to be off-topic. The users who voted to close gave this specific reason:

If this question can be reworded to fit the rules in the help center, please edit the question.

  • I'm missing the "record class" field in your zone file entries, i.e the IN . Normally mimmo.fake. 3600 A 1.2.3.4 would look like mimmo.fake. 3600 IN A 1.2.3.4 – HBruijn Oct 4 '16 at 18:48
  • the IN record class is only on SOA lines. Is this wrong? Bind doesn't show any error nor warning loading the zone files. The domains whos txt aren't working is equal to domains who have working ones. – Marco Oct 4 '16 at 19:52
  • Class is optional, and assumed to be IN when omitted. This applies to all records, not just the SOA. – Andrew B Oct 4 '16 at 21:06
  • 1
    I don't think the post deserved to be closed, as ISPConfig is totally neutral, as i did pasted bind config files and zone files. Indeed the problem turned out to be a missing . at the end of a cname record in another domain (no filippo nor mimmo). When i fixed this missing dot, all cnames in all zones started resolving again. – Marco Mar 19 '17 at 2:37