I have noticed one important thing. The server is started with
configuration
stored in a configuration database. Not with the configuration file!
"info: loaded configuration database '/var/lib/knot/confdb'"
Is it intentional?
On 2019-12-20 18:29, Alarig Le Lay wrote:
I re-did all the procedure on another VM (also
gentoo):
[testing VM]
obelix ~ # emerge -va net-dns/knot
obelix ~ # ls -lhd /var/run/knot
ls: cannot access '/var/run/knot': No such file or directory
obelix ~ # ls -lhd /var/lib/knot/
drwxr-xr-x 2 knot knot 4.0K Dec 20 17:50 /var/lib/knot/
obelix ~ # ls -lh /var/lib/knot/
total 0
obelix ~ # vim ~/.ssh/authorized_keys
[backups]
backup02 ~ # rsync -av /tmp/alarig/2019-12-19/var/db/knot/
root@obelix.breizh-ix.net:/var/lib/knot/
The authenticity of host 'obelix.breizh-ix.net (2a00:5884:102:1::6)'
can't be established.
ECDSA key fingerprint is
SHA256:gzp3uVzltffjUMslc5olyvhwhx28F9e1YXSy86nOnQo.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
yes
Warning: Permanently added 'obelix.breizh-ix.net,2a00:5884:102:1::6'
(ECDSA) to the list of known hosts.
sending incremental file list
./
100.186.234.89.in-addr.arpa.zone
126.91.45.in-addr.arpa.nodnssec
126.91.45.in-addr.arpa.zone
2.0.1.0.4.8.8.5.0.0.a.2.ip6.arpa.zone
2.4.f.0.e.0.a.2.ip6.arpa.nodnssec
2.4.f.0.e.0.a.2.ip6.arpa.zone
208_28.186.234.89.in-addr.arpa.zone
35.186.234.89.in-addr.arpa.zone
4.0.8.0.0.4.1.8.8.5.0.0.a.2.ip6.arpa.zone
67.186.234.89.in-addr.arpa.zone
7.6.3.8.4.8.8.5.0.0.a.2.ip6.arpa.zone
geoopendata.eu.org.zone
no.swordarmor.fr.nodnssec
no.swordarmor.fr.zone
swordarmor.fr.nodnssec
swordarmor.fr.zone
confdb/
confdb/data.mdb
confdb/lock.mdb
journal/
journal/data.mdb
journal/lock.mdb
keys/
keys/data.mdb
keys/lock.mdb
keys/keys/
keys/keys/109bcc81665572dabac1484336714f231adc7e6a.pem
keys/keys/1beb426dbdf1031928268721dba59522dd47e32e.pem
keys/keys/6d271119f9c2feec9d7cc85f4c66c48083f95259.pem
keys/keys/7bddece71d6ee9c7e98d99b05a0d8039d688e383.pem
keys/keys/7d07589ac2a375f2f1a6fedcad722b91d1883990.pem
keys/keys/cddcff459b920d7e429243339a11c1ecd32f723b.pem
keys/keys/e3e8ddfc5b7feffd07dce74af5636f1241eaae03.pem
keys/keys/f4a66f73462dbcf610f4b911e4ac2c8578917623.pem
timers/
timers/data.mdb
timers/lock.mdb
sent 8,486,759 bytes received 667 bytes 893,413.26 bytes/sec
total size is 8,481,722 speedup is 1.00
backup02 ~ # rsync -av
/tmp/alarig/2019-12-19/usr/local/etc/knot/knot.conf
root@obelix.breizh-ix.net:/etc/knot/
sending incremental file list
knot.conf
sent 3,166 bytes received 35 bytes 6,402.00 bytes/sec
total size is 3,071 speedup is 0.96
[testing machine]
obelix ~ # vim ~/.ssh/authorized_keys
obelix ~ # ls -lhd /var/lib/knot/
drwxr-x--- 6 553 553 4.0K Dec 18 20:51 /var/lib/knot/
obelix ~ # ls -lh /var/lib/knot/
total 200K
-rw-rw---- 1 553 553 378 Dec 31 2017
100.186.234.89.in-addr.arpa.zone
-rw-r--r-- 1 root 553 1.2K Dec 18 17:50 126.91.45.in-addr.arpa.nodnssec
-rw-rw---- 1 553 553 10K Dec 18 17:50 126.91.45.in-addr.arpa.zone
-rw-rw---- 1 553 553 1.5K Dec 31 2017
2.0.1.0.4.8.8.5.0.0.a.2.ip6.arpa.zone
-rw-rw---- 1 553 553 1.1K Dec 31 2017
208_28.186.234.89.in-addr.arpa.zone
-rw-r--r-- 1 root 553 2.0K Dec 17 20:53
2.4.f.0.e.0.a.2.ip6.arpa.nodnssec
-rw-rw---- 1 553 553 13K Dec 17 20:53 2.4.f.0.e.0.a.2.ip6.arpa.zone
-rw-rw---- 1 553 553 430 Dec 31 2017 35.186.234.89.in-addr.arpa.zone
-rw-rw---- 1 553 553 535 Apr 13 2018
4.0.8.0.0.4.1.8.8.5.0.0.a.2.ip6.arpa.zone
-rw-rw---- 1 553 553 256 Dec 31 2017 67.186.234.89.in-addr.arpa.zone
-rw-rw---- 1 553 553 308 Dec 31 2017
7.6.3.8.4.8.8.5.0.0.a.2.ip6.arpa.zone
drwxr-x--- 2 553 553 4.0K May 27 2017 confdb
-rw-rw---- 1 553 553 500 Dec 31 2017 geoopendata.eu.org.zone
drwxrwx--- 2 553 553 4.0K Nov 17 2017 journal
drwxr-x--- 3 553 553 4.0K Nov 17 2017 keys
-rw-r--r-- 1 root 553 1.1K Dec 14 16:10 no.swordarmor.fr.nodnssec
-rw-rw---- 1 553 553 9.1K Dec 17 19:03 no.swordarmor.fr.zone
-rw-r--r-- 1 553 553 14K Dec 14 16:09 swordarmor.fr.nodnssec
-rw-rw---- 1 553 553 81K Dec 18 20:51 swordarmor.fr.zone
drwxrwx--- 2 553 553 4.0K May 26 2017 timers
obelix ~ # chown -R knot: /var/lib/knot/
obelix ~ # ls -lhd /var/lib/knot/
drwxr-x--- 6 knot knot 4.0K Dec 18 20:51 /var/lib/knot/
obelix ~ # ls -lh /var/lib/knot/
total 200K
-rw-rw---- 1 knot knot 378 Dec 31 2017
100.186.234.89.in-addr.arpa.zone
-rw-r--r-- 1 knot knot 1.2K Dec 18 17:50
126.91.45.in-addr.arpa.nodnssec
-rw-rw---- 1 knot knot 10K Dec 18 17:50 126.91.45.in-addr.arpa.zone
-rw-rw---- 1 knot knot 1.5K Dec 31 2017
2.0.1.0.4.8.8.5.0.0.a.2.ip6.arpa.zone
-rw-rw---- 1 knot knot 1.1K Dec 31 2017
208_28.186.234.89.in-addr.arpa.zone
-rw-r--r-- 1 knot knot 2.0K Dec 17 20:53
2.4.f.0.e.0.a.2.ip6.arpa.nodnssec
-rw-rw---- 1 knot knot 13K Dec 17 20:53 2.4.f.0.e.0.a.2.ip6.arpa.zone
-rw-rw---- 1 knot knot 430 Dec 31 2017
35.186.234.89.in-addr.arpa.zone
-rw-rw---- 1 knot knot 535 Apr 13 2018
4.0.8.0.0.4.1.8.8.5.0.0.a.2.ip6.arpa.zone
-rw-rw---- 1 knot knot 256 Dec 31 2017
67.186.234.89.in-addr.arpa.zone
-rw-rw---- 1 knot knot 308 Dec 31 2017
7.6.3.8.4.8.8.5.0.0.a.2.ip6.arpa.zone
drwxr-x--- 2 knot knot 4.0K May 27 2017 confdb
-rw-rw---- 1 knot knot 500 Dec 31 2017 geoopendata.eu.org.zone
drwxrwx--- 2 knot knot 4.0K Nov 17 2017 journal
drwxr-x--- 3 knot knot 4.0K Nov 17 2017 keys
-rw-r--r-- 1 knot knot 1.1K Dec 14 16:10 no.swordarmor.fr.nodnssec
-rw-rw---- 1 knot knot 9.1K Dec 17 19:03 no.swordarmor.fr.zone
-rw-r--r-- 1 knot knot 14K Dec 14 16:09 swordarmor.fr.nodnssec
-rw-rw---- 1 knot knot 81K Dec 18 20:51 swordarmor.fr.zone
drwxrwx--- 2 knot knot 4.0K May 26 2017 timers
obelix ~ # vim /etc/knot/knot.conf # changing paths
obelix ~ # knotd -c /etc/knot/knot.conf
[on another shell]
obelix ~ # ps aux | grep knot
root 12101 0.0 0.7 13988 7808 pts/2 S+ 18:17 0:00 view
/etc/knot/knot.sample.conf
knot 12600 2.8 0.7 22678580 8084 pts/1 Sl+ 18:20 0:00 knotd
-c /etc/knot/knot.conf
root 12883 0.0 0.2 7572 2028 pts/3 S+ 18:20 0:00 grep
--colour=auto knot
obelix ~ # dig +short -t SOA swordarmor.fr @localhost
kaiminus.swordarmor.fr. hostmaster.swordarmor.fr. 2019121403 14400 3600
604800 86400
[back to the previous one]
obelix ~ # knotd -c /etc/knot/knot.conf
^Cobelix ~ #
obelix ~ #
obelix ~ # knotd
2019-12-20T18:19:41 info: Knot DNS 2.9.2 starting
2019-12-20T18:19:41 info: loaded configuration database
'/var/lib/knot/confdb'
2019-12-20T18:19:41 info: using reuseport for UDP
2019-12-20T18:19:41 info: loading 0 zones
2019-12-20T18:19:41 warning: no zones loaded
2019-12-20T18:19:41 info: starting server
2019-12-20T18:19:41 info: server started in the foreground, PID 12361
2019-12-20T18:19:41 info: control, binding to '/var/run/knot/knot.sock'
2019-12-20T18:19:41 critical: control, failed to bind socket
'/var/run/knot/knot.sock' (operation not permitted)
2019-12-20T18:19:41 info: stopping server
2019-12-20T18:19:41 info: updating persistent timer DB
2019-12-20T18:19:41 warning: failed to update persistent timer DB
(operation not permitted)
2019-12-20T18:19:41 info: shutting down
obelix ~ # mv /var/lib/knot/ /var/lib/knot.bak
obelix ~ # mkdir /var/lib/knot
obelix ~ # chown -R knot: /var/lib/knot/
obelix ~ # rc-service knot start
* /var/lib/knot/: correcting mode
* Starting knot ...
[ ok ]
obelix ~ # ps aux | grep knot
root 12101 0.0 0.7 13988 7808 pts/2 S+ 18:17 0:00 view
/etc/knot/knot.sample.conf
knot 13389 0.0 0.4 1180648 5044 ? Ssl 18:25 0:00
/usr/sbin/knotd -d
root 13536 0.0 0.2 7572 2132 pts/1 S+ 18:25 0:00 grep
--colour=auto knot
obelix ~ # # so removing /var/lib/knot actually works…
obelix ~ # rc-service knot stop
* Stoping knot ...
[ ok ]
obelix ~ # rm -rv /var/lib/knot
removed '/var/lib/knot/timers/data.mdb'
removed '/var/lib/knot/timers/lock.mdb'
removed directory '/var/lib/knot/timers'
removed directory '/var/lib/knot'
obelix ~ # mv /var/lib/knot.bak/ /var/lib/knot
obelix ~ # vim /etc/knot/knot.conf
obelix ~ # grep -P '^control|listen:' /etc/knot/knot.conf
listen: [ 127.0.0.1@53, ::1@53 ]
control:
listen: "/tmp/knot/test.sock"
obelix ~ # knotd
2019-12-20T18:28:21 info: Knot DNS 2.9.2 starting
2019-12-20T18:28:21 info: loaded configuration database
'/var/lib/knot/confdb'
2019-12-20T18:28:21 info: using reuseport for UDP
2019-12-20T18:28:21 info: loading 0 zones
2019-12-20T18:28:21 warning: no zones loaded
2019-12-20T18:28:21 info: starting server
2019-12-20T18:28:21 info: server started in the foreground, PID 14040
2019-12-20T18:28:21 info: control, binding to '/var/run/knot/knot.sock'
2019-12-20T18:28:21 critical: control, failed to bind socket
'/var/run/knot/knot.sock' (operation not permitted)
2019-12-20T18:28:21 info: stopping server
2019-12-20T18:28:21 info: updating persistent timer DB
2019-12-20T18:28:21 warning: failed to update persistent timer DB
(operation not permitted)
2019-12-20T18:28:21 info: shutting down
obelix ~ # mv /var/lib/knot/ /var/lib/knot.bak
obelix ~ # rc-service knot start
* /var/lib/knot/: creating directory
* /var/lib/knot/: correcting owner
* Starting knot ...
[ ok ]
obelix ~ # ps aux | grep knot
root 12101 0.0 0.7 13988 7808 pts/2 S+ 18:17 0:00 view
/etc/knot/knot.sample.conf
knot 14079 0.0 0.4 1075156 4992 ? Ssl 18:28 0:00
/usr/sbin/knotd -d
root 14100 0.0 0.2 7572 2132 pts/1 S+ 18:28 0:00 grep
--colour=auto knot
obelix ~ # ls -lh /tmp/knot/
total 0
srwxrwx--- 1 knot knot 0 Dec 20 18:28 test.sock
On 20/12/2019 16:24, Daniel Salzman wrote:
> There is no hardcoded ID in the server data :-)
>
> Could you try to manually execute the server under root (knotd -c
> /etc/knot/knot.conf)?
> Could you try to change the control socket location to a non-var
> directory
> (
https://www.knot-dns.cz/docs/2.9/singlehtml/index.html#control-listen)?
>
> Daniel
>
> On 12/20/19 3:02 PM, Alarig Le Lay wrote:
>> I just found this:
>> backup02 ~ # borg mount /home/alarig/backups/kaiminus-old/
>> /tmp/alarig/
>> backup02 ~ # grep knot /tmp/alarig/2019-12-19/etc/passwd
>> knot:*:553:553:Knot DNS Server:/nonexistent:/usr/sbin/nologin
>>
>> kaiminus ~ # grep knot /etc/passwd
>> knot:x:53:53:User for knot DNS server:/var/lib/knot:/sbin/nologin
>>
>> Perhaps the user ID is hardcoded somewhere in the storage and as long
>> as
>> I had the whole old /var/db/knot inside my new /var/lib/knot, the UID
>> 553 (which doesn’t exist on the new system) was used instead of 53?
>>
>> On 20/12/2019 14:55, Alarig Le Lay wrote:
>>> The socket wasn’t created at all, so I tried to touch the file and
>>> chown
>>> to knot, but same result. As knot dies if the socket doesn’t exist,
>>> it
>>> wasn’t running until I removed /var/lib/knot.
>>>
>>> On 20/12/2019 14:44, David Vašek wrote:
>>>> I meant, if it helps to *remove* the socket. Sorry.
>>>>
>>>> David
>>>>
>>>> On 2019-12-20 14:43, David Vašek wrote:
>>>>> Hi,
>>>>>
>>>>> are you sure, that knot isn't running already (pgrep knotd)? If
>>>>> not,
>>>>> does it help to remote /var/run/knot/knot.sock manually before you
>>>>> start knot?
>>>>>
>>>>> David
>>>>>
>>>>>
>>>>> On 2019-12-20 13:56, Alarig Le Lay wrote:
>>>>>> Here is my config file:
https://paste.swordarmor.fr/raw/kXaN
>>>>>>
>>>>>> The init script:
>>>>>>
https://gitweb.gentoo.org/repo/sync/gentoo.git/tree/net-dns/knot/files/knot…
>>>>>>
>>>>>>
>>>>>> The content of the dirs (and what I kept in .old):
>>>>>>
https://paste.swordarmor.fr/raw/IG3K
>>>>>>
>>>>>> The error wasn’t in the logs but in the shell (and I closed it
>>>>>> since
>>>>>> then) when I tried to launch it directly from CLI. It was a
>>>>>> permission
>>>>>> denied on /var/run/knot/knot.sock
>>>>>>
>>>>>> I don’t recall when I first installed knot on the FreeBSD
>>>>>> machine, but
>>>>>> it was on the 10th release, so 2014~2015 if I refer to
Wikipedia.
>>>>>>
>>>>>> Regards,
>>>>>> Alarig
>>>>>>
>>>>>> On 20/12/2019 13:30, David Vašek wrote:
>>>>>>> Hello Alarig,
>>>>>>>
>>>>>>> could you please send us some more data? The config file and
>>>>>>> some
>>>>>>> output
>>>>>>> would be helpful, i.e. knot.conf, /etc/init.d/knot, ls -l
>>>>>>> /var/lib/knot
>>>>>>> /var/run/knot, and the knot logfile from the failed attempt.
So
>>>>>>> far, it
>>>>>>> seems to us it should work. Thanks.
>>>>>>>
>>>>>>> Regards,
>>>>>>>
>>>>>>> David
>>>>>>>
>>>>>>>
>>>>>>> On 2019-12-20 09:55, Alarig Le Lay wrote:
>>>>>>>> Hi Daniel,
>>>>>>>>
>>>>>>>> Yes I’m sure the permissions were good, they are set by
the
>>>>>>>> package. I
>>>>>>>> pulled it from the official repo, and server.user were
already
>>>>>>>> set for
>>>>>>>> my old configuration. I also changed the storage
(s/db/lib)
>>>>>>>> before
>>>>>>>> running the daemon.
>>>>>>>> Plus, when I started the daemon with an empty
/var/lib/knot
>>>>>>>> (and just
>>>>>>>> rsynced my zones & keys) I didn’t changed any
permission.
>>>>>>>>
>>>>>>>> I don’t use systemd by openrc.
>>>>>>>>
>>>>>>>> On 20/12/2019 09:30, Daniel Salzman wrote:
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> Are you sure the permissions are right?
>>>>>>>>> Do you have 'server.user' configured?
>>>>>>>>> Where did you get the Knot DNS package for Gentoo?
>>>>>>>>>
>>>>>>>>> There are some differences between FreeBSD and Linux
packages
>>>>>>>>> with
>>>>>>>>> systemd enabled.
>>>>>>>>>
>>>>>>>>> Daniel
>>>>>>>>>
>>>>>>>>> On 12/19/19 11:33 PM, Alarig Le Lay wrote:
>>>>>>>>>> Hi,
>>>>>>>>>>
>>>>>>>>>> Today I migrated my knot from FreeBSD to Gentoo
(because it
>>>>>>>>>> take too
>>>>>>>>>> much time to stay on a supported release of
FreeBSD)
>>>>>>>>>>
>>>>>>>>>> I rsynced my knot.conf (and changed the paths)
and
>>>>>>>>>> /var/db/knot to
>>>>>>>>>> /var/lib/knot
>>>>>>>>>>
>>>>>>>>>> However, daemon failed to start because it wasn’t
able to
>>>>>>>>>> bind to
>>>>>>>>>> /var/run/knot/knot.sock, and the permissions
where good. I
>>>>>>>>>> had to
>>>>>>>>>> remove
>>>>>>>>>> /var/db/knot and rsync only zones and keys.
>>>>>>>>>>
>>>>>>>>>> I don’t get the link from files in /var/lib and a
denied
>>>>>>>>>> permission on
>>>>>>>>>> /var/run/knot/knot.sock, so I think that there is
a bug here.
>>>>>>>>>>
>>>>>>>>>> Regards,
>>>>>>>>>>
>>>
>>