NSD - это сервер DNS с открытым исходным кодом. Он был разработан NLnet Labs из Амстердама в сотрудничестве с RIPE NCC с нуля как авторитетный сервер имен. NSD - это NS, входящий в состав базы OpenBSD.
Основной файл конфигурации для NSD - это файл с именем nsd.conf, расположенный в каталоге /var/nsd/etc/. Теперь откройте/создайте новый файл в вашем текстовом редакторе с правами суперпользователя. Вот пример:
server: ip-address: 0.0.0.0 ip4-only: yes identity: "DNS" hide-version: yes verbosity: 1 database: "" username: _nsd logfile: "/var/log/nsd.log" pidfile: "/var/nsd/run/nsd.pid" difffile: "/var/nsd/db/ixfr.db" xfrdfile: "/var/nsd/db/xfrd.state" database: "/var/nsd/db/nsd.db" remote-control: control-enable: yes control-interface: /var/nsd/run/nsd.sock zone: name: "example.net" zonefile: "master/example.net.zone" #notify: 193.201.116.2 NOKEY #provide-xfr: 193.201.116.2 NOKEY
Следующим шагом является написание файлов зон для NSD. Сначала зона прямого просмотра example.net:
; Domain file from My project example.net. 3600 SOA ns.example.net. admin.example.net. ( 2020070701 ; serial YYYYMMDDnn 10800 ; refresh 3600 ; retry 604800 ; expire 86400 ) ; minimum TTL example.net. NS ns.example.net. example.net. NS ns.secondary.net.ua. ns A 10.10.10.10 example.net. A 10.10.10.10 www A 10.10.10.10 irc A 10.10.10.10 imap A 10.10.10.10 smtp A 10.10.10.10 example.net. mx 10 smtp.example.net.
Сохраните этот файл зоны как /var/nsd/zones/master/example.net.zone
В NSD есть инструмент для проверки файла конфигурации перед запуском или перезагрузкой демона:
$ doas nsd-checkconf /var/nsd/etc/nsd.conf
Любая ошибка будет отображена, потому отсутствие репорта - отличные новости. Теперь можно запустить сервис:
$ doas rcctl enable nsd $ doas rcctl start nsd