安裝與配置DNS服務器
實驗目的
- 掌握bind守護進程的啓動方法
- 掌握主DNS服務器的配置方法
實驗內容
1. 安裝和啓動bind
2. 安裝和配置一個DNS服務器
3. 在Linux平臺下配置DNS客戶端對DNS服務器進行域名查詢測試
實驗環境
DNS Server | DNS Client | |
---|---|---|
物理機 | Chromebook pixel2015 | LG Gram14 2019 |
OS | Manjaro 19.01 | Windows 10 |
IP | 192.168.43.60/24 | 192.168.43.251/24 |
實驗步驟
安裝bind
sudo pacman -S bind --noconfirm
啓動bind
sudo systemctl start named
sudo systemctl enable named
bind配置
使用 BIND 提供系統 DNS 服務
sudo vim /etc/resolv.conf
# 將nameserver 127.0.0.1寫到最前面
配置文件,修改bind的屬性
sudo vim /etc/named.conf
默認的話是圖這個樣子
我的配置文件如下
options { listen-on port 53 { any; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { any; }; recursion yes; allow-transfer { none;}; }; zone "." IN { type hint; file "named.ca"; }; zone "cs060.cuc.edu.cn" IN { #正向"cs666.cuc.edu.cn"區域 type master; #類型爲主要區域 file "cs060.cuc.edu.cn.zone"; #區域數據文件 //allow-update { none; }; }; zone "43.168.192.in-addr.arpa" in { #反向"192.168.43.0/24"區域 type master; file "192.168.43.arpa"; #區域數據文件爲 192.168.43.arpa //allow-update { none; }; };
hint其實就是DNS zone的root (.)。該zone最爲重要。因爲當DNS服務器在自己的數據庫中找不到要查詢的信息時,便會到hint(.)去查找。言外之意是說由 .(root) 聲明的zone爲hint類型的文件記錄了世界上僅有的13臺DNS服務器的相關信息(該文件默認爲named.ca,此文件內容不需要進行任何修改)!
編寫正向DNS配置
cd /var/named
sudo cp -p named.localhost cs060.cuc.edu.cn.zone #編輯正向區域數據配置文件,注意複製配置文件時,要保持源文件權限
sudo vim cs060.cuc.edu.cn.zone //編輯正向區域數據配置文件內容
$TTL 1D
@ IN SOA cs060.cuc.edu.cn. root.cs060.cuc.edu.cn. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS cs060.cuc.edu.cn.
@ IN A 192.168.43.60
cs060.cuc.edu.cn IN A 192.168.43.60
client.cuc.edu.cn IN A 192.168.43.251
編寫反向配置文件
sudo cp -p cs060.cuc.edu.cn.zone 192.168.43.arpa #複製反向區域數據配置文件
sudo vim 192.168.43.arpa
$TTL 1D
@ IN SOA cs060.cuc.edu.cn. root.cs060.cuc.edu.cn. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS cs060.cuc.edu.cn.
@ IN PTR cuc.edu.cn.
192.168.43.60 IN PTR cs060.cuc.edu.cn.
192.168.43.251 IN PTR client.cuc.edu.cn.
檢查語法錯誤
named-checkconf
man:
named-checkconf [options] [文件名] -h ===> 顯示使用情況摘要並且退出。 -z ===> 執行named.conf配置文件中找到的所有主要區域的測試負載 -t <目錄> ===> 將現有的目錄切換至指定目錄以便處理配置文件中的已包括僞命令 注意: 使用該命令是需要指定配置文件的路徑,否則默認檢測 /etc/named.conf 文件。
named-checkzone
man:
named-checkzone [options] [區域名] [區域文件名] -q ===> 安靜模式 -d ===> 啓用調試 -c <類別> ===> 指定區域類別,如果沒有指定就使用IN -n <模式> ===> 檢測NS記錄 -k <模式> ===> 使用指定的格式(fail | warn(默認) | ignore)執行檢測 -m <模式> ===> 檢測MX -M <模式> ===> 檢測MX是否使用CNAME -S <模式> ===> 檢測SRV記錄是否使用CNAME
重啓named服務
sudo systemctl restart named
關閉防火牆
iptables -F
驗證DNS解析
如圖,不知道爲什麼不能解析,求大佬們幫忙
參考網址:
https://wiki.archlinux.org/index.php/BIND#Configuring_BIND_to_serve_DNSSEC_signed_zones
https://www.howtoforge.com/two_in_one_dns_bind9_views