2013-10-15 05:08:50 -04:00
|
|
|
Prerequisites:
|
2019-02-15 08:59:46 -05:00
|
|
|
--------------
|
2017-01-29 15:54:39 -05:00
|
|
|
|
2024-11-14 02:26:41 -05:00
|
|
|
python3
|
|
|
|
|
dnspython >=2.2.0 (python3-dnspython)
|
|
|
|
|
psutil (python3-psutil)
|
|
|
|
|
bind9
|
|
|
|
|
dnssec-signzone (bind9-utils)
|
|
|
|
|
dnssec-keygen (bind9-utils)
|
|
|
|
|
dnssec-verify (bind9-utils)
|
|
|
|
|
certtool (gnutls-bin)
|
2019-06-11 10:17:30 -04:00
|
|
|
ldnsutils
|
2013-10-15 05:08:50 -04:00
|
|
|
lsof
|
2015-01-03 13:56:31 -05:00
|
|
|
gawk
|
2017-01-17 08:10:28 -05:00
|
|
|
objdump
|
2014-02-25 02:59:08 -05:00
|
|
|
(valgrind)
|
2014-02-19 05:03:35 -05:00
|
|
|
(gdb)
|
2013-10-15 05:08:50 -04:00
|
|
|
|
2014-08-11 04:48:24 -04:00
|
|
|
Python modules:
|
|
|
|
|
---------------
|
|
|
|
|
|
|
|
|
|
To install necessary Python modules using pip, run:
|
|
|
|
|
$ pip install -r requirements.txt
|
|
|
|
|
|
2023-04-18 10:37:45 -04:00
|
|
|
Optional loopback addresses configuration:
|
|
|
|
|
------------------------------------------
|
|
|
|
|
|
2023-10-31 12:19:13 -04:00
|
|
|
# for i in {1..64}; do sudo ip address add 127.0.1.$i/32 dev lo; done
|
|
|
|
|
# for i in {1..64}; do sudo ip address add ::1$i/128 dev lo; done
|
2023-04-18 10:37:45 -04:00
|
|
|
|
2014-02-19 05:03:35 -05:00
|
|
|
Ubuntu:
|
|
|
|
|
-------
|
2017-01-29 15:54:39 -05:00
|
|
|
|
2014-02-19 05:03:35 -05:00
|
|
|
Disable apparmor protection for system Bind:
|
2023-10-31 12:19:13 -04:00
|
|
|
$ sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.named
|
2018-04-25 07:34:23 -04:00
|
|
|
or
|
2023-10-31 12:19:13 -04:00
|
|
|
$ sudo ln -s /etc/apparmor.d/usr.sbin.named /etc/apparmor.d/disable/
|
|
|
|
|
$ sudo /etc/init.d/apparmor restart
|
2014-02-19 05:03:35 -05:00
|
|
|
|
|
|
|
|
Allow ptrace:
|
2014-02-25 02:59:08 -05:00
|
|
|
# echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope
|
2014-02-19 05:03:35 -05:00
|
|
|
or
|
2018-04-25 07:34:23 -04:00
|
|
|
# vim /etc/sysctl.d/10-ptrace.conf
|
|
|
|
|
# kernel.yama.ptrace_scope = 0
|
2023-10-31 12:19:13 -04:00
|
|
|
|
|
|
|
|
XDP:
|
|
|
|
|
----
|
|
|
|
|
|
|
|
|
|
XDP testing with Valgrind requires running under root. Testing with ASAN is
|
|
|
|
|
possible if lsof has two following capabilities:
|
|
|
|
|
|
|
|
|
|
$ sudo setcap "CAP_SYS_PTRACE,CAP_DAC_OVERRIDE+ep" `which lsof`
|
|
|
|
|
|
|
|
|
|
And knotd has set:
|
|
|
|
|
|
|
|
|
|
$ sudo setcap "CAP_NET_RAW,CAP_NET_ADMIN,CAP_SYS_ADMIN,CAP_IPC_LOCK,CAP_SYS_PTRACE+ep" `readlink -f ../src/knotd`
|
2024-01-12 10:28:22 -05:00
|
|
|
|
|
|
|
|
Tcpdump:
|
|
|
|
|
--------
|
|
|
|
|
|
|
|
|
|
$ sudo setcap "CAP_NET_RAW+ep" `which tcpdump`
|
|
|
|
|
|