97 lines
2.2 KiB
Markdown
97 lines
2.2 KiB
Markdown
## 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 :
|
||
|
||
This configuration template is for Bind 9.10.3 in Debian 9. You can find the official configuration [here](https://ftp.isc.org/isc/bind9/9.10.3/doc/arm/Bv9ARM.ch06.html)
|
||
|
||
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 >";
|
||
};
|
||
```
|