1. 安裝 Bind9 及 dhcp3-server

apt-get install bind9 dhcp3-server



它會自動想所需的相依套件一起安裝好
安裝好後就必須要來設定 conf 檔囉。

2. 先修改 /etc/bind/named.conf
讓 BIND 知道可由別的程式來更新其資料,所以,我加入了下列一行。其他的就完全沒動。
由於,我的 DNS 及 DHCP 是在同一台電腦,所以,只允許 localhost 可以更新即可。
使用 rndc-key 來確認是認可的程式要來進行更新的動作。

controls {
inet 127.0.0.1 allow {localhost; } keys { "rndc-key"; };
};



3. 修改 /etc/bind/named.conf.local
我只有一個 domain 要做,所以就設定這個 domain 的正反解的 zone。同時,也把 rndc-key 加入。

zone "yourdomain.com" {
type master;
file "/etc/bind/db.domian";
allow-update { key "rndc-key"; };
notify yes;
};
zone "0.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.192.168.0";
allow-update { key "rndc-key"; };
notify yes;
};
include "/etc/bind/rndc.key";



如果你的 DNS 及 DHCP 分別是在不同的機器上,你必須要把 /etc/bind/rndc-key 複製到另一台機器上。所以,兩台會用相同的 rndc-key。或者,用其他的方式讓兩台機器用相同的 rndc-key。

4. db 檔案
就用一般設定建立 zone 的 db 檔即可。
我的如下:

正解 zone db

$ORIGIN .
$TTL 38400 ; 10 hours 40 minutes
yourdomain.com IN SOA ns.yourdomain.com. postman.ns.yourdomain.com. (
2006091801 ; serial
10800 ; refresh (3 hours)
3600 ; retry (1 hour)
432000 ; expire (5 days)
38400 ; minimum (10 hours 40 minutes)
)
NS ns.yourdomain.com.


反解 zone db

$ORIGIN .
$TTL 38400 ; 10 hours 40 minutes
0.168.192.in-addr.arpa IN SOA ns.yourdomain.com. postman.ns.yourdomain.com. (
2006091801 ; serial
10800 ; refresh (3 hours)
3600 ; retry (1 hour)
432000 ; expire (5 days)
38400 ; minimum (10 hours 40 minutes)
)
NS ns.yourdomain.com.



5. 設定 dhcpd.conf
主要是要將 ddns-updates 設定為 on,還有 ddns-update-style 設定為 interim 或 ad-hoc 皆可。

# Basic stuff to name the server and swicth on updating
server-identifier ns;
ddns-updates on;
ddns-update-style interim;
ddns-domainname "yourdomain.com.";
ddns-rev-domainname "in-addr.arpa.";
ignore client-updates;
# This is the key so that DHCP can authenticate it's self to BIND9
include "/etc/bind/rndc.key";
# This is the communication zone
zone yourdomain.com. {
primary 127.0.0.1;
key rndc-key;
}
# Normal DNS stuff
option domain-name "yourdomain.com.";
option domain-name-servers 192.168.0.1;
option ntp-servers 192.168.0.1;
option ip-forwarding off;
default-lease-time 600;
max-lease-time 7200;
authoritative;
log-facility local7;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.100 192.168.0.200;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
allow unknown-clients;
zone 0.168.192.in-addr.arpa. {
primary 192.168.0.1;
key "rndc-key";
}
zone localdomain. {
primary 192.168.0.1;
key "rndc-key";
}
}




參考來源:Configuring Dynamic DNS & DHCP on Debian Stable