案例:BIND 安裝與配置詳解
一、安裝 BIND軟件包
1.安裝 BIND 軟件包
? 通過網(wǎng)絡(luò)源或掛載的光盤安裝 BIND:
yum installbind-y
? 或者通過 RPM 包安裝,前提是掛載系統(tǒng)盤 ISO 鏡像:
`rpm -ivh bind-x.x.x-x.el7.x86_64.rpm`
2.查看 BIND 配置文件路徑
rpm -qcbind該命令顯示 BIND 安裝后的配置文件路徑,重要的幾個(gè)講解:
?/etc/named.conf:主配置文件,控制 BIND 服務(wù)的全局設(shè)置。 該文件用于配置 DNS 服務(wù)器的行為,如區(qū)域(zones)、轉(zhuǎn)發(fā)器(forwarders)、ACL(訪問控制列表)等。
?/etc/named.rfc1912.zones- 區(qū)域配置文件,控制具體區(qū)域。專門用于定義 BIND 服務(wù)器中使用的區(qū)域(zone)。
?/var/named/named.localhost- 區(qū)域數(shù)據(jù)文件,存儲(chǔ)區(qū)域信息。
二、配置 BIND 主服務(wù)器(正向解析)
本節(jié)環(huán)境
主服務(wù)器:20.0.0.11
客戶端:Windows 10 或 Linux
1.修改主配置文件
編輯/etc/named.conf文件,配置監(jiān)聽端口、區(qū)域數(shù)據(jù)存放位置及允許查詢的網(wǎng)段:
`vim /etc/named.conf`主要修改以下幾項(xiàng):
配置示例:
options { listen-on port 53 { 20.0.0.100; }; # ☆☆☆修改:監(jiān)聽53端口,指定本地IP,也可用any表示所有IP。 # listen-on-v6 port 53 { ::1; }; # ipv6行如不使用可以注釋掉或者刪除。 directory"/var/named"; # 區(qū)域數(shù)據(jù)文件的默認(rèn)存放位置。 dump-file"/var/named/data/cache_dump.db"; # 緩存數(shù)據(jù)庫文件位置。 statistics-file"/var/named/data/named_stats.txt"; # 狀態(tài)統(tǒng)計(jì)文件位置。 memstatistics-file"/var/named/data/named_mem_stats.txt"; # 內(nèi)存統(tǒng)計(jì)文件位置。 # allow-query { 20.0.0.0/24; 172.16.100.0/24; }; allow-query { any; }; # ☆☆☆修改:允許訪問本DNS解析服務(wù)的網(wǎng)段,也可用any表示所有。 };
?監(jiān)聽端口和 IP 地址:指定 BIND 服務(wù)監(jiān)聽的端口和 IP 地址。
?區(qū)域數(shù)據(jù)文件的存儲(chǔ)路徑:指定區(qū)域數(shù)據(jù)文件的存儲(chǔ)目錄。
?允許查詢的網(wǎng)段:定義允許訪問 DNS 服務(wù)的客戶端網(wǎng)段。
2.配置根區(qū)域
在named.conf中定義根區(qū)域,根區(qū)域用于處理域名解析的根請求:
zone"."IN { # 正向解析“."根區(qū)域 typehint; # 類型為根區(qū)域(索引) file"named.ca";# 區(qū)域數(shù)據(jù)文件為named.ca }; # named.ca文件記錄了13臺(tái)根域服務(wù)器的域名和IP地址等信息 include"/etc/named.rfc1912.zones"; # 包含區(qū)域配置文件中的所有配置,存儲(chǔ)了標(biāo)準(zhǔn)的區(qū)域配置。
3.配置正向區(qū)域
`vim /etc/named.rfc1912.zones`
提示:vim編輯器的使用
配置示例:
zone"my.com"IN { # ☆修改:正向解析"benet.com"區(qū)域 typemaster; # 聲明該區(qū)域是主區(qū)域 file"my.com.zone"; # ☆修改:區(qū)域數(shù)據(jù)文件的路徑,相對于/var/named路徑目錄,可以加個(gè). allow-update { none; }; # 不允許自動(dòng)更新區(qū)域數(shù)據(jù) };
? 定位到起始行:j或k上下移動(dòng),G直接跳行
? 進(jìn)入可視模式:V進(jìn)可視行模式,高亮顯示當(dāng)前行
? 選擇多行:j向下選行,按一次選一行
? 復(fù)制選中的行:選中,按y進(jìn)行復(fù)制到剪貼板
? 移動(dòng)到粘貼位置:移動(dòng)到要粘貼的位置
? 粘貼復(fù)制的行:p粘貼。當(dāng)前行上方使用P大P。
? 編輯區(qū)域配置文件/etc/named.rfc1912.zones,文件里有模版,可復(fù)制粘貼后修改,添加正向解析區(qū)域:
4.配置正向區(qū)域數(shù)據(jù)文件
cd/var/named/ cp-p named.localhost my.com.zone # 保留源文件的權(quán)限和屬主的屬性復(fù)制 vim my.com.zone
數(shù)據(jù)文件通常包括 SOA 記錄、NS 記錄、A 記錄等。
宏定義$,注釋;
配置示例:
$TTL1D # $-宏定義 # TTL(Time to Live)-緩存生存時(shí)間,表示在 DNS 服務(wù)器或客戶端的緩存中,有效解析記錄的生命周期 # 1D 表示 1 天,該區(qū)域數(shù)據(jù)在 1 天(1D)內(nèi)有效 @ IN SOA my.com. rname.invalid ( # @-表示該文件定義的根域名,當(dāng)前的DNS區(qū)域名 # IN-表示“Internet”類的資源記錄類型。 # SOA-第一條解析,起始記錄的解析 ## admin-主機(jī)名、服務(wù)名 0 ; serial # 序列號(hào),表示該區(qū)域文件的版本,每次修改后應(yīng)增加 1D ; refresh # 刷新時(shí)間,告知從服務(wù)器多久查詢一次主服務(wù)器 1H ; retry # 重試時(shí)間,從服務(wù)器未聯(lián)系到主服務(wù)器后的重試間隔 1W ; expire # 過期時(shí)間,從服務(wù)器未能更新后,緩存數(shù)據(jù)的有效期 3H ) ; minimum # 最小TTL值,未命中的緩存記錄的生存時(shí)間 NS my.com. # 定義此區(qū)域的名稱服務(wù)器 A 20.0.0.11 # A-將域名映射到IPV4 # 為域名 my.com 設(shè)置IP地址 ## MX 10 mail.my.com. ## 定義郵件交換記錄 www IN A 20.0.0.20 # 定義子域名 www 的 A 記錄 ## mail IN A 20.0.0.20 ## 定義子域名 mail 的 A 記錄 ftp IN CNAME www # CNAME-別名,將 ftp 子域名設(shè)置為 www 子域名的別名 * IN A 20.0.0.20 # *-通配符,匹配所有未明確定義的子域名,泛域名 ![]()
內(nèi)容解釋:
?@: 代表當(dāng)前區(qū)域的根域名。
? 在 DNS 區(qū)域文件中,@代表該文件定義的根域名,也就是當(dāng)前區(qū)域的名稱。在實(shí)際使用中,@將被解析為文件頂部定義的域名。
? 例如,如果區(qū)域文件頂部定義的域名是example.com., 那么@就代表example.com.。
?IN: 表示記錄的類別,一般為互聯(lián)網(wǎng)(Internet),通常情況下使用IN。
? 表示“Internet”類(Internet Class)的資源記錄類型。在大多數(shù)情況下,DNS 記錄都使用IN,因?yàn)樗硎居涗泴儆诨ヂ?lián)網(wǎng)的標(biāo)準(zhǔn) DNS 記錄類型。
? 除了IN之外,還有其他類,如CH(用于 CHAOS 類),但它們非常少見。
?SOA (Start of Authority): 表示該 DNS 區(qū)域的起始記錄,包含了該區(qū)域的主要信息,如序列號(hào)、刷新時(shí)間等。
?SOA是“Start of Authority”的縮寫,表示權(quán)威起始記錄。每個(gè) DNS 區(qū)域文件必須包含一個(gè)且只有一個(gè) SOA 記錄。
?SOA記錄包含了一些重要信息,如主服務(wù)器的名稱、負(fù)責(zé)人的電子郵件地址、區(qū)域的序列號(hào)、刷新時(shí)間、重試時(shí)間、過期時(shí)間和最小 TTL(生存時(shí)間)值。
?NS (Name Server): 指定負(fù)責(zé)該區(qū)域的名稱服務(wù)器。
?A (Address Record): 將域名映射到 IPv4 地址。
?CNAME (Canonical Name Record): 將一個(gè)域名作為別名指向另一個(gè)域名。
?MX (Mail Exchange Record): 指定處理電子郵件的郵件服務(wù)器。
?TTL (Time to Live): 指定 DNS 記錄在緩存中保留的時(shí)間長度,超過時(shí)間后需要重新查詢。
? 在/var/named/目錄下創(chuàng)建或修改區(qū)域數(shù)據(jù)文件,這個(gè)文件包含域名與 IP 地址的映射關(guān)系,可以直接復(fù)制改名原模板:
5.檢查啟動(dòng)文件格式
named-checkzone my.com /var/named/my.com.zone # 輸出: zone my.com/IN: loaded serial 0 O
? 檢查:
6.啟動(dòng) BIND 服務(wù)并關(guān)閉防火墻
`systemctl start named`
systemctl stop firewalld setenforce 0 # 關(guān)閉 SELinux
注意:若服務(wù)啟動(dòng)失敗,可以查看日志文件排查錯(cuò)誤,如果服務(wù)卡住,執(zhí)行第二行命令解決:
tail-f /var/log/messages rndc-confgen -r /dev/urandom -a
netstat -natpul | grep 53
`named-checkconf -z /etc/named.conf`
? 對域名語法進(jìn)行檢查(named.conf):
? 檢查端口,確認(rèn)啟動(dòng)成功
? 關(guān)閉防火墻以確保 DNS 服務(wù)的正常運(yùn)行:
? 啟動(dòng) BIND 服務(wù):
7.客戶端配置和測試DNS解析(Windows)啟動(dòng)同網(wǎng)段下的客戶端,以Windows為例
# 以我的網(wǎng)絡(luò)環(huán)境為例,做如下配置 IP 20.0.0.120 # 同網(wǎng)段即可 NETMASK 255.255.255.0 GATEWAY 20.0.0.11 # 指向DNS服務(wù)器 DNS 20.0.0.11
nslookup www.my.com # 解析www域名對應(yīng)的IP地址 # 輸出: 服務(wù)器:UnKnown Address:20.0.0.11 名稱:www.my.com Address:20.0.0.20 nslookup ftp.my.com # 解析ftp的別名對應(yīng)的IP地址 # 輸出: 服務(wù)器:UnKnown Address:20.0.0.11 名稱:www.my.com Address:20.0.0.20 nslookup aa.my.com # 解析泛域名對應(yīng)的IP地址 # 輸出: 服務(wù)器:UnKnown Address:20.0.0.11 名稱:www.my.com Address:20.0.0.20 ![]()
都可以看到返回服務(wù)器地址,測試成功
? cmd使用nslookup命令測試:
? 在Windows下更改網(wǎng)卡配置:
8.客戶端配置和測試DNS解析(Linux)
vim /etc/resolv.conf nameserver 20.0.0.11
vim /etc/sysconfig/network-scripts/ifcfg-ens33 DNS1=20.0.0.11 systemctl restart network
host www.my.com nslookup www.my.com
? 使用host或nslookup命令測試 DNS 解析是否成功:
? 或者在網(wǎng)絡(luò)接口配置文件中添加 DNS 服務(wù)器地址,修改后需重啟網(wǎng)卡:
? 編輯客戶端的/etc/resolv.conf文件,添加 DNS 服務(wù)器地址:
三、配置反向解析
本節(jié)環(huán)境
主服務(wù)器:20.0.0.11
客戶端:Windows 10 或 Linux
1.配置反向區(qū)域
`vim /etc/named.rfc1912.zones`
在此文件中定義 IP 地址段的區(qū)域信息。同樣復(fù)制模版修改。
配置示例:
zone"0.0.20.in-addr.arpa"IN { # 此處 20.0.0.0 反向?yàn)?0.0.20 # 再如:192.168.10.0 反向則是 10.168.192 typemaster; # 定義主區(qū)域 file"my.com.zone.local"; # 反向解析的數(shù)據(jù)文件 allow-update { none; }; # 禁止自動(dòng)更新 }; ![]()
? 編輯區(qū)域配置文件/etc/named.rfc1912.zones,添加反向解析區(qū)域:
2.配置反向區(qū)域數(shù)據(jù)文件
cd/var/named/ cp-p my.com.zone my.com.zone.local vim my.com.zone.local
數(shù)據(jù)文件中通常包含 IP 地址與域名的映射。
配置示例:
$TTL1D @ IN SOA my.com. rname.invalid. ( # 點(diǎn).必須加上,否則報(bào)錯(cuò),下同 0 ; serial # 序列號(hào) # 更新序列號(hào),10位以內(nèi)數(shù)字,用于主從同步,主服務(wù)器這個(gè)數(shù)值要大于從服務(wù)器否則無法同步 1D ; refresh # 刷新時(shí)間 1H ; retry # 重試時(shí)間 1W ; expire # 過期時(shí)間 3H ) ; minimum # 最小TTL NS my.com. 100 IN PTR www.my.com. # 將IP地址的最后一段(100)解析為www.my.com 200 IN PTR mail.my.com. # 將IP地址的最后一段(200)解析為mail.my.com # 20是192.168.10.20的意思 # RTP反向指針 功能:反向解析 ![]()
? 創(chuàng)建或修改反向區(qū)域數(shù)據(jù)文件:
3.啟動(dòng) BIND 服務(wù)
`systemctl restart named`
? 啟動(dòng)或重啟 BIND 服務(wù):
4.測試反向解析(Windows)以Windows為例,確保網(wǎng)卡配置信息無誤:
# 以我的網(wǎng)絡(luò)環(huán)境為例,做如下配置 IP 20.0.0.120 # 同網(wǎng)段即可 NETMASK 255.255.255.0 GATEWAY 20.0.0.11 # 指向DNS服務(wù)器 DNS 20.0.0.11
nslookup 20.0.0.100 # 解析末段為 100 IP地址的域名 # 輸出: 服務(wù)器:UnKnown Address:20.0.0.11 名稱:www.my.com Address:20.0.0.100 nslookup 20.0.0.200 # 解析末段為 200 IP地址的域名 # 輸出: 服務(wù)器:UnKnown Address:20.0.0.11 名稱:mail.my.com Address:20.0.0.200 ![]()
可以看到返回服務(wù)器地址和域名信息,測試成功
? cmd使用nslookup命令測試:
5.測試反向解析(Linux)
`host 20.0.0.100`
若沒問題將會(huì)反向解析出域名www.my.com。
? 使用host命令測試反向解析,測試IP地址是否正確解析為域名:
四、配置主從 DNS 服務(wù)器及自動(dòng)同步
本節(jié)環(huán)境
主服務(wù)器:20.0.0.11
從服務(wù)器:20.0.0.12
客戶端:Windows 10 或 Linux
1.主服務(wù)器配置
options { listen-on port 53 { any; }; allow-query { any; }; };
zone"my.com"IN { typemaster;# 類型為主區(qū)域 file"my.com.zone"; allow-transfer { 20.0.0.12; }; }; # 設(shè)置從服務(wù)器地址 # 反向解析沒有配置,這段關(guān)系不大 zone"0.0.20.in-addr.arpa"IN { typemaster; file"my.com.zone.local"; allow-transfer { 20.0.0.12; }; }; ![]()
cd/var/named/ cp-p name.localhost my.com.zone vim /var/named/my.com.zone
配置示例(只有正向解析,無反向解析)
$TTL1D #有效解析記錄的生存周期 @ inSOA my.com. rname.invalid ( #“@"符號(hào)表示當(dāng)前的DNS區(qū)域名 0 ; serial #更新序列號(hào),可以是10位以內(nèi)的整數(shù) 1D ; refresh #刷新時(shí)間,重新下載地址數(shù)據(jù)的間隔 1H ; retry #重試延時(shí),下載失敗后的重試間隔 1W ; expire #失效時(shí)間,超過該時(shí)間仍無法下載則放棄# 3H) ; minimum #無效解析記錄的生存周期 NS my.com. #記錄當(dāng)前區(qū)域的DNS服務(wù)器的名稱 A 20.0.0.11 #記錄主機(jī)IP地址 IN MX 10 mail.my.com. #MX為郵件交換記錄,數(shù)字越大優(yōu)先級(jí)越低 www IN A 20.0.0.11 #記錄正向解析www.benet.com對應(yīng)的IP mail IN A 20.0.0.22 #MX為郵件交換記錄,數(shù)字越大優(yōu)先級(jí)低 ftp IN CNAME www #CNAME使用別名,ftp 是www的別名 * IN A 20.0.0.30 #泛域名解析,“*"代表任意主機(jī)名,給一個(gè)不存在的地址 ![]()
? 配置正向區(qū)域數(shù)據(jù)文件my.com.zone,帶屬性拷貝編輯:
? 編輯區(qū)域配置文件/etc/named.rfc1912.zones,添加從服務(wù)器地址:
? 修改/etc/named.conf,允許所有網(wǎng)段查詢:
2.從服務(wù)器配置
yum install -ybind vim /etc/named.conf #編輯后可以使用named-checkconf語法檢查,后面參數(shù)可省 named-checkconf -z /etc/named.conf
配置示例:
options { listen-on port 53 { 20.0.0.12; }; # 監(jiān)聽53端口,ip地址使用提供服務(wù)的本地IP,也可用any表示所有 #listen-on-v6 port 53 { ::1; }; # ipv6行如不使用可以注釋掉或者刪除 directory"/var/named"; # 區(qū)域數(shù)據(jù)文件的默認(rèn)存放位置 dump-file"/var/named/data/cache_dump.db"; # 域名緩存數(shù)據(jù)庫文件的位置 statistics-file"/var/named/data/named_stats.txt"; # 狀態(tài)統(tǒng)計(jì)文件的位置 memstatistics-file"/var/named/data/named mem_stats.txt"; # 內(nèi)存統(tǒng)計(jì)文件的位置 allow-query { any; }; # 允許使用本DNS解析服務(wù)的網(wǎng)段,也可用any代表所有 }; ![]()
`vim /etc/named.rfc1912.zones`
配置示例:
zone"my.com"IN { typeslave;# 類型為從區(qū)域 file"slaves/my.com.zone"; # 下載的區(qū)域數(shù)據(jù)文件保存到slaves/目錄下 #allow-update { none; }; # 此行必須刪掉,用于配置主服務(wù)器的動(dòng)態(tài)更新DNS記錄 masters { 20.0.0.11; }; }; # 設(shè)置主服務(wù)器地址 zone"0.0.20.in-addr.arpa"IN { typeslave; file"slaves/my.com.zone.local"; masters { 20.0.0.11; }; }; ![]()
? 編輯從服務(wù)器的區(qū)域配置文件:
? 安裝 BIND 并修改配置文件:
3.啟動(dòng)服務(wù)并驗(yàn)證
systemctl restart named ls-1 /var/named/slaves/
? 主從都重啟 BIND 服務(wù),并檢查從服務(wù)器的區(qū)域數(shù)據(jù)文件是否成功下載:
4.測試(Windows)
nslookup www.my.com # 解析www域名對應(yīng)的IP地址 # 輸出: 服務(wù)器:UnKnown Address:20.0.0.11 名稱:www.my.com Address:20.0.0.11 nslookup ftp.my.com # 解析ftp的別名對應(yīng)的IP地址 # 輸出: 服務(wù)器:UnKnown Address:20.0.0.11 名稱:www.my.com Address:20.0.0.11 nslookup mail.my.com# 解析mail域名對應(yīng)的IP地址 # 輸出: 服務(wù)器:UnKnown Address:20.0.0.11 名稱:mail.my.com Address:20.0.0.22 nslookup aa.my.com # 解析泛域名對應(yīng)的IP地址 # 輸出: 服務(wù)器:UnKnown Address:20.0.0.11 名稱:aa.my.com Address:20.0.0.30 ![]()
經(jīng)測試,全部一一對應(yīng),是成功的
? 在cmd下使用nsloopup命令分別測試:
5.測試(Linux)
`echo"nameserver 20.0.0.11">> /etc/resolv.conf`
host 20.0.0.12 host www.my.com nslookup 20.0.0.11
? 測試
? 在Linux的域名解析配置文件中添加從DNS服務(wù)器地址
6.模擬故障
`systemctl stop named`
注意:在Windows端需將從DNS服務(wù)器IP設(shè)置為首選DNS,否則無論是重啟還是中斷主DNS服務(wù)器網(wǎng)絡(luò),Windows系統(tǒng)都只認(rèn)首選,備選不會(huì)選擇,暫時(shí)未解決。Linux未測試。
? 再在Windows端測試
? 停止主服務(wù)器的服務(wù),模擬主服務(wù)器故障
鏈接: https://blog.csdn.net/qq_44421043/article/details/141304442
-
Linux
+關(guān)注
關(guān)注
87文章
11507瀏覽量
213502 -
服務(wù)器
+關(guān)注
關(guān)注
13文章
9772瀏覽量
87782 -
DNS
+關(guān)注
關(guān)注
0文章
226瀏覽量
20413 -
軟件包
+關(guān)注
關(guān)注
0文章
110瀏覽量
11922
原文標(biāo)題:Linux系統(tǒng)管理員進(jìn)階:BIND DNS服務(wù)器從入門到精通
文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評(píng)論請先 登錄
詳解LINUX的安裝配置
Linux環(huán)境下USB的原理、驅(qū)動(dòng)和配置
Bind源代碼包安裝
Linux入門教程之LINUX入門與安裝配置
Linux下Apache服務(wù)器的安裝和配置

在linux下安裝Apache+Php+Mysql

評(píng)論