Blog Details

Linux 作業系統 cutexyz > Blog > Linux 服務架設 > 在 Ubuntu 內架設 DNS service

在 Ubuntu 內架設 DNS service

想要在 ubuntu 內架設 DNS service, 最方便的選擇之一就是使用 BIND 9, 這是一個 open source 的套件, 如想要了解更多可到以下連接查看 https://www.isc.org/bind/, BIND(Berkeley Internet Name Domain), 那麼事不宜遲, 以下我們就用最快的速度把它裝起來, 在看設定看看吧!

# 以下的指令都未來上 sudo 的 root 的權限進行安裝, 請自行依照你的帳號權限進行相關的調整
# 安裝套件
sudo apt install bind9

# 檢查是否安裝成功並且正在服務 
ss -tulnp | grep named

# ss指令可以顯示出Socket相關的資訊
# named 是 BIND 服務的 daemon

# 首先我們先建立 網域的設定檔, 舉例來說, 我們擁有一個網域叫做 cutexyz.com
# 建立一個目錄
mkdir /etc/bind/zones/

# 建立網域檔案, 檔案名稱的命名方式並沒有一定, 但建議依照你的網域命名
vi /etc/bind/zones/net.cutexyz.com

# 內容請放入以下內容, 第一航的 cutexyz.com 就是你的網域名稱, 記得在尾巴夾上 . 號
# 接在後面的是你的管理者 email, mailworker.cutexyz.com 就是代表 [email protected]
# 尾巴一樣要加上 . 號, 這邊的 email 請備免使用 [email protected] 這一類有 . 號的 email 喔
# 另外有關 serial 的流水號, 記得每次更新就醫序號即可

$TTL 1D
@       IN      SOA     cutexyz.com. mailworker.cutexyz.com. (
                        202310241; serial
                        8H ; refresh
                        4H ; retry
                        4W ; expire
                        1D ; minimum
                        )
@       IN      NS      dns.cutexyz.com.
@       IN      A       10.40.52.149
www     IN      A       220.135.38.54
vpc     IN      A       192.168.100.100
fs      IN      A       192.168.100.101

# 其中
# SOA, 指定這個使用主從架構的zone區塊的一些資訊 Start Of Authority 
# mailworker.cuetxyz.com 就是代表 [email protected]
# serial 前面的數字就代表版號, 不要重複一直懶加上去就好
# NS, 指定下一級的DNS的網域名稱伺服器
# A, 指定網域名稱所對應的IPv4
# AAAA, 指定網域名稱所對應的IPv6
# 貼加完成所有子域名之後存檔退出
# bind 設定檔的修改
vi /etc/bind/named.conf.local

# 加入以下內容, 這邊的意思就是指定 cutexyz.com 這個網域請到下面 file 指定的設定檔進行解析
zone "cutexyz.com" IN {
    type master;
    file "/etc/bind/zones/net.cutexyz.com";
};

# 存檔退出, 並進行服務重啟
service bind9 restart

以上服務設定完成之後, 就可以將你的網路環境的 dns ip 改為你的主機, 然後就可以進行測試看看了喔!!!
如果這真的是你打算對 internet 服務用的 DNS, 那麼記得到你註冊的 Domain service provider 那邊去將 DNS server 位置設定為你的主機喔!!! 這樣才能讓你的設定黨對全世界生效(一般不建議自己在有限的網路環境中架設自己的 DNS).

另外也可以透過簡單的 python 來做 dns 解析測試,
用 python 透過指定的 DNS 進行 domain 解析

參考資料:
https://documentation.ubuntu.com/server/how-to/networking/install-dns/index.html

Leave A Comment

All fields marked with an asterisk (*) are required