My template of bind9 configuration
keys | ||
views | ||
zones | ||
named.conf | ||
named.conf.keys | ||
named.conf.options | ||
named.conf.view | ||
README.md |
How to deploy :
- Delete all /etc/bind/ directory
- git clone
- Run 'rndc-confgen | grep '^key "rndc-key" {' -A3 > rndc.key'
- Restart bind service
How to use :
The repository is thought like this:
.
├── named.conf # default file, have only include
├── named.conf.keys # have all TSIG keys and rndc config
├── named.conf.options # have all bind options
├── named.conf.view # have all views options
├── keys # directory with all DNSSEC keys
├── views
│ ├── local.conf # have all zones options of the "local" view
│ └── public.conf # have all zones options of the "public" view
└── zones
├── local # directory with all zones records of the "local" view
└── public # directory with all zones records of the "public" view
and to add zone, for exemple in local view, you have to add this in the views/local.conf file :
zone "exemple.com" {
type master;
file "/etc/bind/zones/local/exemple.com.conf";
};
then add zones/local/exemple.com.conf file with all your records like this :
$ORIGIN example.com.
$TTL 3600
@ SOA dns1.example.com. hostmaster.example.com. (
2019010101 ; serial
86400 ; refresh
7200 ; retry
3600000 ; expire
172800 ) ; minimum TTL
;
;
@ NS dns1.example.com.
@ NS dns2.example.com.
dns1 A 10.0.1.1
dns1 AAAA aaaa:bbbb::1
dns2 A 10.0.1.2
dns2 AAAA aaaa:bbbb::2
;
;
@ MX 10 mail.example.com.
@ MX 20 mail2.example.com.
mail A 10.0.1.5
mail AAAA aaaa:bbbb::5
mail2 A 10.0.1.6
mail2 AAAA aaaa:bbbb::6
;
;
@ A 10.0.1.7
@ AAAA aaaa:bbbb::7
services A 10.0.1.10
services AAAA aaaa:bbbb::10
ftp CNAME services.example.com.
www CNAME services.example.com.
Tips :
Create TSIG key :
To create TSIG key, you have to create a shared base64 data like this :
echo $(date) | openssl base64
and add the following in the named.conf.keys file
key "key-name" {
algorithm hmac-sha256;
secret "< YOUR BASE64 >";
};