Hi MJ,
If you're using the same Knot instance to host a mix of primary (signed)
and secondary zones, then I suggest you set "zonefile-load" to "none"
in
your template, and then override it with "difference-no-serial" for the
primary zones. Secondary zones don't need a zone file at all. Incoming
XFRs are stored into the journal, and the zones are loaded entirely from
the journal at startup.
Regards,
Anand
On 04/08/2021 10:47, mj wrote:
> Hi Libor,
>
> Thanks again for quick and accurate assistane.
>
> It worked perfectly.
>
> As I took the secondary config from
>
https://www.knot-dns.cz/docs/3.1/singlehtml/#secondary-slave-zone
>
> should that perhaps be added in the config sample there..?
>
> All the best!
> MJ
>
> On 8/3/21 10:20 PM, libor.peltan wrote:
>> Hi MJ,
>>
>> maybe you want to set up zonefile-load to none?
>>
>>
https://www.knot-dns.cz/docs/3.1/singlehtml/index.html#zonefile-load
>>
>> Thanks,
>>
>> Libor
>>
>> Dne 03. 08. 21 v 21:16 mj napsal(a):
>>> Hi,
>>>
>>> Sorry to come back again, but it seems we still have an issue:
>>>
>>> Knot is not serving our secondary zones after restarting, until we
>>> issue a "knotc zone-retransfer sub3.company.com". Then it will
start
>>> answering queries for the zone.
>>>
>>> A knot restart logs:
>>>
>>>> knotd[4436]: info: [
sub3.company.com.] zone will be loaded
>>>> knotd[4436]: info: [
sub3.company.com.] zone loaded from journal,
>>>> serial 2016110905
>>>> knotd[4436]: info: [
sub3.company.com.] failed to parse zone file
>>>> (not exists)
>>>
>>> To demonstrate, after having restarted knot:
>>>
>>>> root@knot:/etc/knot# kdig
sub3.company.com @4.5.6.7
>>>> ;; ->>HEADER<<- opcode: QUERY; status: SERVFAIL; id: 13771
>>>> ;; Flags: qr rd; QUERY: 1; ANSWER: 0; AUTHORITY: 0; ADDITIONAL: 0
>>>>
>>>> ;; QUESTION SECTION:
>>>> ;;
sub3.company.com. IN A
>>>>
>>>> ;; Received 30 B
>>>> ;; Time 2021-08-03 20:44:29 CEST
>>>> ;; From 4.5.6.7@53(UDP) in 0.0 ms
>>>
>>>
>>>> root@knot:/etc/knot# knotc zone-retransfer
sub3.company.com
>>>> OK
>>>> Aug 3 20:44:39 www knotd[4186]: info: [
sub3.company.com.] control,
>>>> received command 'zone-retransfer'
>>>> root@www:/etc/knot# Aug 3 20:44:39 www knotd[4186]: info:
>>>> [
sub3.company.com.] AXFR, incoming, remote 1.2.3.4@53, started
>>>> Aug 3 20:44:39 www knotd[4186]: info: [
sub3.company.com.] AXFR,
>>>> incoming, remote 1.2.3.4@53, finished, 0.02 seconds, 23 messages,
>>>> 1914 bytes
>>>> Aug 3 20:44:39 www knotd[4186]: info: [
sub3.company.com.] zone
>>>> stored to journal, serial 2016090960
>>>> Aug 3 20:44:39 www knotd[4186]: info: [
sub3.company.com.] refresh,
>>>> remote 1.2.3.4@53, zone updated, 0.12 seconds, serial none ->
>>>> 2016090960
>>>
>>>
>>>> root@knot:/etc/knot# kdig
sub3.company.com @4.5.6.7
>>>> ;; ->>HEADER<<- opcode: QUERY; status: NOERROR; id: 44788
>>>> ;; Flags: qr aa rd; QUERY: 1; ANSWER: 1; AUTHORITY: 0; ADDITIONAL: 0
>>>>
>>>> ;; QUESTION SECTION:
>>>> ;;
sub3.company.com. IN A
>>>>
>>>> ;; ANSWER SECTION:
>>>>
sub3.company.com. 3600 IN A 1.2.3.4
>>>>
>>>> ;; Received 46 B
>>>> ;; Time 2021-08-03 20:44:44 CEST
>>>> ;; From 4.5.6.7@53(UDP) in 0.1 ms
>>>
>>>
>>> In knot.conf, we have set as a template: journal-content: all, and
>>> the secondary zone is defined like:
>>>
>>>> - domain:
sub3.company.com
>>>> storage: /var/lib/knot/zones
>>>> master: zones_master
>>>> acl: notify_from_master
>>>
>>> As a side note: the directory /var/lib/knot/zones contains nothing
>>>
sub3.company.com related. (which explains the knot startup message
>>> "failed to parse zone file (not exists)")
>>>
>>> Why would knot after restart load the zone from journal, but not
>>> start serving it? Have I misconfigured something?
>>>
>>> Sorry to have asked so many questions in just two days. :-)
>>>
>>> MJ