1

I have two master servers that share two slaves. Master A is a traditional bind server that uses also-notify to update the slaves. Master B is a plesk server that manages bind by itself and uses rndc to add zones to the slaves.

However I now need to use views on master A but because plesk manages bind on master B it's not possible to add the views there.

I've added the views to the slaves and master A. Master A is able to notify slaves about zones in the views no problem. But zones in master B don't work.

client master-b#5056: view public: received notify for zone 'domain.com': not authoritative

Master A config:

view "public" {
    match-clients { key public-key; !key internal-key; any; };
    server slave-a-ip { keys public-key; };
    server slave-b-ip { keys public-key; };
    include "named.public.zones";
    include "named.common.zones";
};

view "internal" {
    match-clients { key internal-key; !key public-key; internal-acl; };
    server slave-a-ip { keys internal-key; };
    server slave-b-ip { keys internal-key; };
    include "named.internal.zones";
    include "named.common.zones";
};

Slave config:

controls {
    inet * port 953 allow { master-b-ip; 127.0.0.1; } keys { "rndckey"; "rndc-key-master-b"; };
};

view "public" {
        match-clients { key public-key; !key internal-key; any; };
        server master-a-ip { keys public-key; };
        include "named.public.zones";
        include "named.common.zones";
};

view "internal" {
        match-clients { key internal-key; !key public-key; internal-acl; };
        server master-a-ip { keys internal-key; };
        include "named.internal.zones";
        include "named.common.zones";
};

Is it possible for zones added through rndc from master-b to go into the public view?

1

Is it possible for zones added through rndc from master-b to go into the public view?

Yes.

As per the rndc documentation, the addzone command takes an optional view argument:

addzone zone [class [view]] configuration

That however, leaves a different question, whether you can make that work with your Plesk-based setup (it would need to specify the name of the desired view when it adds the zone).

1
  • Unfortunately plesk doesn't support views in their dns slave extension and I can't add a view block around the zone definitions in named.conf on the plesk machine as it would be overwritten the next time a new zone is added.
    – grimurd
    Nov 4 '20 at 15:44
0

From the BIND documentation:

One way to think about multiple views is as if each view were its own instance of BIND

So if your master needs multiple views, it does not necessarily mean that your slaves need them too. And when MASTER-B communicates via zone transfers on an IP address linked to the public zone, those public zones will be transfered/updated.

Is there something I am missing here?

1
  • I'm using views to change the dns response depending on the clients IP. Since my master server isn't queried directly by clients the views would be useless if they didn't also exist on the slaves.
    – grimurd
    Nov 4 '20 at 13:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.