安裝 bind9:
編輯設定檔:
假設我們要將 test.com 網域指向 192.168.0.10 這個 IP:
建立資料夾,將設定檔放在 zones 中方便管理:
建立 local.test 網域專用的設定檔:
(db 代表 database ,是 bind9 中常見的命名慣例)
設定檔內容:
(如果要設定其他網域,只要把 test.com 替換掉即可)
測試設定檔是否正確:
範例輸出:
重新啟動 bind9 服務:
假設安裝 bind9 的主機 IP 是 192.168.0.9 ,我們就可以使用下面的指令來在 192.168.0.9 這個主機上面查詢 test.com 的 DNS 資訊:
範例輸出:
要讓其他主機指定 DNS Server,就需要去修改 /etc/netplan/ 下面的檔案,檔名很可能不一樣,例如筆者的是:
下面的範例是設定 DNS 為 192.168.0.9:
調整完設定後執行下面的指令來測試和套用設定:
之後這台裝置上的 test.com 就會被指向 192.168.0.10 了,我們也可以使用 ping 指令來測試:
參考資料:
Ubuntu - Domain Name Service (DNS)
sudo apt install bind9
編輯設定檔:
sudo vi /etc/bind/named.conf.local
假設我們要將 test.com 網域指向 192.168.0.10 這個 IP:
zone "test.com" {
type master;
file "/etc/bind/zones/db.test.com";
};
建立資料夾,將設定檔放在 zones 中方便管理:
sudo mkdir -p /etc/bind/zones
建立 local.test 網域專用的設定檔:
(db 代表 database ,是 bind9 中常見的命名慣例)
sudo vi /etc/bind/zones/db.test.com
設定檔內容:
(如果要設定其他網域,只要把 test.com 替換掉即可)
;
; BIND data file for test.com
;
$TTL 604800
@ IN SOA ns.test.com. admin.test.com. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns.test.com.
@ IN A 192.168.0.10
ns IN A 192.168.0.10
測試設定檔是否正確:
sudo named-checkzone test.com /etc/bind/zones/db.test.com
範例輸出:
sudo named-checkzone test.com /etc/bind/zones/db.test.com
zone test.com/IN: loaded serial 1
OK
重新啟動 bind9 服務:
sudo systemctl restart bind9.service
假設安裝 bind9 的主機 IP 是 192.168.0.9 ,我們就可以使用下面的指令來在 192.168.0.9 這個主機上面查詢 test.com 的 DNS 資訊:
dig @192.168.0.9 test.com
範例輸出:
dig @192.168.0.9 test.com
; <<>> DiG 9.18.28-0ubuntu0.24.04.1-Ubuntu <<>> @192.168.0.9 test.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48204
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: 33750dcb32f6aac501000000675324d3771eabc6e784a3b2 (good)
;; QUESTION SECTION:
;test.com. IN A
;; ANSWER SECTION:
test.com. 604800 IN A 192.168.0.10
;; Query time: 0 msec
;; SERVER: 192.168.0.9#53(192.168.0.9) (UDP)
;; WHEN: Fri Dec 06 16:22:43 UTC 2024
;; MSG SIZE rcvd: 81
要讓其他主機指定 DNS Server,就需要去修改 /etc/netplan/ 下面的檔案,檔名很可能不一樣,例如筆者的是:
sudo vi /etc/netplan/50-cloud-init.yaml
下面的範例是設定 DNS 為 192.168.0.9:
network:
ethernets:
ens33:
dhcp4: false
addresses:
- 192.168.0.41/24
nameservers:
addresses:
- "192.168.0.9"
routes:
- to: default
via: 192.168.0.1
version: 2
調整完設定後執行下面的指令來測試和套用設定:
sudo netplan try
之後這台裝置上的 test.com 就會被指向 192.168.0.10 了,我們也可以使用 ping 指令來測試:
ping test.com
PING test.com (192.168.0.10) 56(84) bytes of data.
64 bytes from 192.168.0.10: icmp_seq=1 ttl=64 time=0.329 ms
64 bytes from 192.168.0.10: icmp_seq=2 ttl=64 time=0.310 ms
參考資料:
Ubuntu - Domain Name Service (DNS)
留言
張貼留言
如果有任何問題、建議、想說的話或文章題目推薦,都歡迎留言或來信: a@ruyut.com