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 >";
|
|
};
|
|
```
|