Bind For Private Network DNS Server
apt install bind9 bind9utils bind9-doc dnsutils
nano /etc/default/bind9
# run resolvconf?
RESOLVCONF=no
# startup options for the server
OPTIONS="-u bind -4"
nano /etc/bind/named.conf.options
acl "trusted" {
10.19.83.1; # gtw
10.19.83.2; # apn
10.19.83.3; # rpi, dns
10.19.83.6; # ceo
10.19.83.10; # mac
};
options {
directory "/var/cache/bind";
recursion yes; # enables resursive queries
allow-recursion { trusted; }; # allows recursive queries from "trusted" clients
listen-on { 10.19.83.3; }; # dns private IP address - listen on private network only
allow-transfer { none; }; # disable zone transfers by default
forward first;
forwarders {
8.8.8.8;
8.8.4.4;
};
dnssec-validation auto;
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};
nano /etc/bind/named.conf.local
zone "dev.shahed.biz" {
type master;
file "/etc/bind/zones/db.dev.shahed.biz"; # zone file path
};
zone "83.19.10.in-addr.arpa" {
type master;
file "/etc/bind/zones/db.83.19.10"; # 10.19.83.0/24 subnet
};
mkdir /etc/bind/zones
cp /etc/bind/db.local /etc/bind/zones/db.dev.shahed.biz
nano /etc/bind/zones/db.dev.shahed.biz
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA dns.dev.shahed.biz. admin.dev.shahed.biz. (
3 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
; name servers - NS records
@ IN NS dns.dev.shahed.biz.
;
; name servers - A records
dns.dev.shahed.biz. IN A 10.19.83.3
; 10.19.83.0/24 - A records
gtw.dev.shahed.biz. IN A 10.19.83.1
apn.dev.shahed.biz. IN A 10.19.83.2
rpi.dev.shahed.biz. IN A 10.19.83.3
ceo.dev.shahed.biz. IN A 10.19.83.6
mac.dev.shahed.biz. IN A 10.19.83.10
cp /etc/bind/db.127 /etc/bind/zones/db.83.19.10
nano /etc/bind/zones/db.10.19.83
;
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA dns.dev.shahed.biz. admin.dev.shahed.biz. (
3 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
; name servers - NS records
@ IN NS dns.dev.shahed.biz.
;
; PTR Records
1.10 IN PTR gtw.dev.shahed.biz. ; 10.19.83.1
2.10 IN PTR apn.dev.shahed.biz. ; 10.19.83.2
3.10 IN PTR dns.dev.shahed.biz. ; 10.19.83.3
3.10 IN PTR rpi.dev.shahed.biz. ; 10.19.83.3
6.10 IN PTR ceo.dev.shahed.biz. ; 10.19.83.6
10.10 IN PTR mac.dev.shahed.biz. ; 10.19.83.10
nano /etc/resolv.conf
nameserver 10.19.83.3
nameserver 8.8.8.8
nameserver 8.8.4.4
search dev.shahed.biz
nano /etc/network/interfaces
dns-nameservers 10.19.83.3 8.8.8.8 8.8.4.4
dns-search dev.shahed.biz
/etc/init.d/bind9 restart
named-checkconf -z
named-checkzone dev.shahed.biz /etc/bind/zones/db.dev.shahed.biz
named-checkzone 83.19.10.in-addr.arpa /etc/bind/zones/db.83.19.10
References
- How To Configure Bind as an Authoritative-Only DNS Server on Ubuntu 14.04
- How To Configure BIND as a Private Network DNS Server on Ubuntu 16.04
- How To Configure BIND as a Private Network DNS Server on Ubuntu 18.04
- Set Up Authoritative DNS Server on Ubuntu 18.04, 16.04 with BIND9
- Raspberry Pi Bind9 DNS/DDNS (Dynamic DNS) Server
- Configuring a DNS Server in Raspberry Pi
- Setting up Private DNS Server with BIND9