BIND
Install
pkg install bind911 sysrc named_enable="YES"
Generate key (note that the service start will do that)
rndc-confgen -a
Check config
named-checkconf named-checkzone localhost /var/named/<filename>
Set directory
/usr/local/etc/namedb/named.conf
options { ... directory "/usr/local/etc/namedb"; ... }
Logging config for debug
create log file manually
touch /var/log/named.log chown bind:bind /var/log/named.log
/usr/local/etc/namedb/named.conf
logging { channel default-log { file "/var/log/named.log" versions 10 size 200m; severity info; print-category yes; print-severity yes; print-time yes; }; category lame-servers { default-log; }; category security{ default-log;}; category queries { default-log;}; category default { default-log;}; };
Zone config
/usr/local/etc/namedb/named.conf
zone "example.org" { type master; file "master/example.org"; }; zone "1.168.192.in-addr.arpa" { type master; file "master/1.168.192.in-addr.arpa"; };
Zone file
/usr/local/etc/namedb/master/example.org
$TTL 3600 ; 1 hour default TTL example.org. IN SOA ns1.example.org. admin.example.org. ( 2017010301 ; Serial 10800 ; Refresh 3600 ; Retry 604800 ; Expire 300 ; Negative Response TTL ) ; DNS Servers IN NS ns1.example.org. ; MX Records IN MX 10 mx.example.org. IN MX 20 mail.example.org. ; Machine Names @ IN A 192.168.1.1 ns1 IN A 192.168.1.2 mail IN A 192.168.1.3 ; Aliases www IN CNAME example.org.
reverse zone file
/usr/local/etc/namedb/master/1.168.192.in-addr.arpa
@ IN SOA example.org. admin.example.org. ( 2017010301 ; serial 14400 ; refresh 3600 ; retry 604800 ; expire 10800 ; minimum ) 1.168.192.in-addr.arpa. IN NS ns1.example.org. 2 IN PTR ns1.example.org. 3 IN PTR mail.example.org.
Start service
service named start