系列文章:
一、環境說明:
在 192.168.91.x/24 閘道 192.168.91.254,ubuntu 26.04 主機架設BIND9:一台MASTER:IP:192.168.91.2、一台SLAVE:IP:192.168.91.3 ,MASTER變更,讓 client IP:192.168.91.201 對SLAVE 進行變更後的正解與反解。
二、Master (192.168.91.2)
(1) 安裝
sudo apt update
sudo apt install bind9 bind9-utils bind9-dnsutils -y
(2)設定 /etc/bind/named.conf.lan
sudo nano /etc/bind/named.conf.lan
內容:
zone "lab.lan" {
type master;
file "/etc/bind/db.lab.lan";
allow-transfer {
192.168.91.3;
};
also-notify {
192.168.91.3;
};
};
zone "91.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.192.168.91";
allow-transfer {
192.168.91.3;
};
also-notify {
192.168.91.3;
};
(3)設定正解區 /etc/bind/db.lab.lan
sudo nano /etc/bind/db.lab.lan
內容:
$TTL 86400
@ IN SOA dns1.lab.lan. admin.lab.lan. (
2026080201
3600
1800
604800
86400
)
@ IN NS dns1.lab.lan.
@ IN NS dns2.lab.lan.
dns1 IN A 192.168.91.2
dns2 IN A 192.168.91.3
master IN A 192.168.91.2
slave IN A 192.168.91.3
client IN A 192.168.91.201
(4)設定反解區 /etc/bind/db.192.168.91
sudo nano /etc/bind/db.192.168.91
內容:
$TTL 86400
@ IN SOA ns1.lab.lan. admin.lab.lan. (
2026080201
3600
1800
604800
86400
)
@ IN NS dns1.lab.lan.
@ IN NS dns2.lab.lan.
2 IN PTR master.lab.lan.
3 IN PTR slave.lab.lan.
201 IN PTR client.lab.lan.
(5)檢查
sudo named-checkzone lab.lan /etc/bind/db.lab.lan
sudo named-checkzone
91.168.192.in-addr.arpa /etc/bind/db.192.168.91
sudo named-checkconf
(6)重新啟動
sudo systemctl restart bind9
三、Slave (192.168.91.3)
(1) 安裝
sudo apt update
sudo apt install bind9 bind9-utils bind9-dnsutils -y
(2)設定 /etc/bind/named.conf.lan
sudo nano /etc/bind/named.conf.lan
內容:
zone "lab.local" {
type slave;
masters { 192.168.91.2; };
file "/var/cache/bind/db.lab.lan";
};
zone "91.168.192.in-addr.arpa" {
type slave;
masters { 192.168.91.2; };
file "/var/cache/bind/db.192.168.91";
};
(3)重新啟動
sudo systemctl restart bind9
(4)確認是否已同步
ls /var/cache/bind
當出現 db.192.168.91 與 db.lab.lan 即是OK
四、Master 修改資料
新增一筆資料 pc50 192.168.91.50
(1)修改正解區 /etc/bind/db.lab.lan
sudo nano /etc/bind/db.lab.lan
內容:
$TTL 86400
@ IN SOA dns1.lab.lan. admin.lab.lan. (
2026080202
3600
1800
604800
86400
)
@ IN NS dns1.lab.lan.
@ IN NS dns2.lab.lan.
dns1 IN A 192.168.91.2
dns2 IN A 192.168.91.3
master IN A 192.168.91.2
slave IN A 192.168.91.3
client IN A 192.168.91.201
(2)修改反解區 /etc/bind/db.192.168.91
sudo nano /etc/bind/db.192.168.91
內容:
$TTL 86400
@ IN SOA dns1.lab.lan. admin.lab.lan. (
2026080202
3600
1800
604800
86400
)
@ IN NS dns1.lab.lan.
@ IN NS dns2.lab.lan.
2 IN PTR master.lab.lan.
3 IN PTR slave.lab.lan.
201 IN PTR client.lab.lan.
50 IN PTR pc50.lab.lan.
sudo rndc reload
或
sudo systemctl reload bind9
五、Client (192.168.91.201)
(1) 修改 DNS 的 IP:192.168.91.3
cd /etc/netplan
sudo cp 00-installer-config.yaml 00-installer-config.yaml.BK
sudo nano 00-installer-config.yaml
內容如下:
# This is the network config written by 'subiquity'
network:
ethernets:
ens33:
dhcp4: false
addresses:
- 192.168.91.201/24
routes:
- to: default
via: 192.168.91.254
nameservers:
addresses:
- 192.168.91.3
version: 2
(2)測試正解
dig pc50.lab.lan
(3)測試反解
dig -x 192.168.91.50
(1) 在 Slave 執行
dig @192.168.91.3 lab.lan SOA