在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Linux下BIND安裝與配置詳解

馬哥Linux運維 ? 來源:CSDN技術社區 ? 2025-07-08 09:31 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

案例:BIND 安裝與配置詳解

一、安裝 BIND軟件包

1.安裝 BIND 軟件包

? 通過網絡源或掛載的光盤安裝 BIND:

yum installbind-y

? 或者通過 RPM 包安裝,前提是掛載系統盤 ISO 鏡像:

`rpm -ivh bind-x.x.x-x.el7.x86_64.rpm`

2.查看 BIND 配置文件路徑

rpm -qcbind

該命令顯示 BIND 安裝后的配置文件路徑,重要的幾個講解:

?/etc/named.conf:主配置文件,控制 BIND 服務的全局設置。 該文件用于配置 DNS 服務器的行為,如區域(zones)、轉發器(forwarders)、ACL(訪問控制列表)等。

?/etc/named.rfc1912.zones- 區域配置文件,控制具體區域。專門用于定義 BIND 服務器中使用的區域(zone)。

?/var/named/named.localhost- 區域數據文件,存儲區域信息。

二、配置 BIND 主服務器(正向解析)

本節環境

主服務器:20.0.0.11

客戶端:Windows 10Linux

1.修改主配置文件
編輯/etc/named.conf文件,配置監聽端口、區域數據存放位置及允許查詢的網段:

`vim /etc/named.conf`
主要修改以下幾項:

配置示例

options {
  listen-on port 53 { 20.0.0.100; }; 
 # ☆☆☆修改:監聽53端口,指定本地IP,也可用any表示所有IP。
 
 # listen-on-v6 port 53 { ::1; };
 # ipv6行如不使用可以注釋掉或者刪除。
 
  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 { 20.0.0.0/24; 172.16.100.0/24; }; 
  allow-query { any; };
 # ☆☆☆修改:允許訪問本DNS解析服務的網段,也可用any表示所有。
};










?監聽端口和 IP 地址:指定 BIND 服務監聽的端口和 IP 地址。

?區域數據文件的存儲路徑:指定區域數據文件的存儲目錄。

?允許查詢的網段:定義允許訪問 DNS 服務的客戶端網段。

2.配置根區域
在named.conf中定義根區域,根區域用于處理域名解析的根請求:

zone"."IN {    # 正向解析“."根區域
 typehint;   # 類型為根區域(索引)
  file"named.ca";# 區域數據文件為named.ca
};
# named.ca文件記錄了13臺根域服務器的域名和IP地址等信息

include"/etc/named.rfc1912.zones"; 
# 包含區域配置文件中的所有配置,存儲了標準的區域配置。

3.配置正向區域

`vim /etc/named.rfc1912.zones`

提示:vim編輯器的使用

配置示例

zone"my.com"IN {
 # ☆修改:正向解析"benet.com"區域
 
 typemaster;   
 # 聲明該區域是主區域
 
  file"my.com.zone";
 # ☆修改:區域數據文件的路徑,相對于/var/named路徑目錄,可以加個.
 
  allow-update { none; };
 # 不允許自動更新區域數據
};


? 定位到起始行:j或k上下移動,G直接跳行

? 進入可視模式:V進可視行模式,高亮顯示當前行

? 選擇多行:j向下選行,按一次選一行

? 復制選中的行:選中,按y進行復制到剪貼板

? 移動到粘貼位置:移動到要粘貼的位置

? 粘貼復制的行:p粘貼。當前行上方使用P大P。

? 編輯區域配置文件/etc/named.rfc1912.zones,文件里有模版,可復制粘貼后修改,添加正向解析區域:

4.配置正向區域數據文件

cd/var/named/
cp-p named.localhost my.com.zone
# 保留源文件的權限和屬主的屬性復制
vim my.com.zone

數據文件通常包括 SOA 記錄、NS 記錄、A 記錄等。

宏定義$,注釋;

配置示例

$TTL1D
# $-宏定義
# TTL(Time to Live)-緩存生存時間,表示在 DNS 服務器或客戶端的緩存中,有效解析記錄的生命周期
# 1D 表示 1 天,該區域數據在 1 天(1D)內有效

@ IN SOA my.com. rname.invalid (
   # @-表示該文件定義的根域名,當前的DNS區域名 
   # IN-表示“Internet”類的資源記錄類型。
   # SOA-第一條解析,起始記錄的解析
   ## admin-主機名、服務名
   
  0    ; serial 
 # 序列號,表示該區域文件的版本,每次修改后應增加
 
  1D   ; refresh 
 # 刷新時間,告知從服務器多久查詢一次主服務器
 
  1H   ; retry  
 # 重試時間,從服務器未聯系到主服務器后的重試間隔
 
  1W   ; expire 
 # 過期時間,從服務器未能更新后,緩存數據的有效期
 
  3H )  ; minimum 
 # 最小TTL值,未命中的緩存記錄的生存時間
 
NS my.com. 
# 定義此區域的名稱服務器

A 20.0.0.11
# A-將域名映射到IPV4
# 為域名 my.com 設置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 子域名設置為 www 子域名的別名

* IN A 20.0.0.20
# *-通配符,匹配所有未明確定義的子域名,泛域名









![]()

內容解釋:

?@: 代表當前區域的根域名。

? 在 DNS 區域文件中,@代表該文件定義的根域名,也就是當前區域的名稱。在實際使用中,@將被解析為文件頂部定義的域名。

? 例如,如果區域文件頂部定義的域名是example.com., 那么@就代表example.com.。

?IN: 表示記錄的類別,一般為互聯網(Internet),通常情況下使用IN。

? 表示“Internet”類(Internet Class)的資源記錄類型。在大多數情況下,DNS 記錄都使用IN,因為它表示記錄屬于互聯網的標準 DNS 記錄類型。

? 除了IN之外,還有其他類,如CH(用于 CHAOS 類),但它們非常少見。

?SOA (Start of Authority): 表示該 DNS 區域的起始記錄,包含了該區域的主要信息,如序列號、刷新時間等。

?SOA是“Start of Authority”的縮寫,表示權威起始記錄。每個 DNS 區域文件必須包含一個且只有一個 SOA 記錄。

?SOA記錄包含了一些重要信息,如主服務器的名稱、負責人的電子郵件地址、區域的序列號、刷新時間、重試時間、過期時間和最小 TTL(生存時間)值。

?NS (Name Server): 指定負責該區域的名稱服務器。

?A (Address Record): 將域名映射到 IPv4 地址。

?CNAME (Canonical Name Record): 將一個域名作為別名指向另一個域名。

?MX (Mail Exchange Record): 指定處理電子郵件的郵件服務器。

?TTL (Time to Live): 指定 DNS 記錄在緩存中保留的時間長度,超過時間后需要重新查詢。

? 在/var/named/目錄下創建或修改區域數據文件,這個文件包含域名與 IP 地址的映射關系,可以直接復制改名原模板:

5.檢查啟動文件格式

named-checkzone my.com /var/named/my.com.zone

# 輸出:
zone my.com/IN: loaded serial 0
O

? 檢查:

6.啟動 BIND 服務并關閉防火墻

`systemctl start named`
systemctl stop firewalld
setenforce 0 # 關閉 SELinux

注意:若服務啟動失敗,可以查看日志文件排查錯誤,如果服務卡住,執行第二行命令解決:

tail-f /var/log/messages
rndc-confgen -r /dev/urandom -a

netstat -natpul | grep 53

`named-checkconf -z /etc/named.conf`

? 對域名語法進行檢查(named.conf):

? 檢查端口,確認啟動成功

? 關閉防火墻以確保 DNS 服務的正常運行:

? 啟動 BIND 服務:

7.客戶端配置和測試DNS解析(Windows)啟動同網段下的客戶端,以Windows為例

# 以我的網絡環境為例,做如下配置
IP   20.0.0.120 # 同網段即可
NETMASK 255.255.255.0
GATEWAY 20.0.0.11 # 指向DNS服務器
DNS   20.0.0.11
nslookup www.my.com # 解析www域名對應的IP地址
# 輸出:
服務器:UnKnown
Address:20.0.0.11
名稱:www.my.com
Address:20.0.0.20

nslookup ftp.my.com # 解析ftp的別名對應的IP地址
# 輸出:
服務器:UnKnown
Address:20.0.0.11
名稱:www.my.com
Address:20.0.0.20

nslookup aa.my.com # 解析泛域名對應的IP地址
# 輸出:
服務器:UnKnown
Address:20.0.0.11
名稱:www.my.com
Address:20.0.0.20








![]()

都可以看到返回服務器地址,測試成功

? cmd使用nslookup命令測試:

? 在Windows下更改網卡配置:

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 解析是否成功:

? 或者在網絡接口配置文件中添加 DNS 服務器地址,修改后需重啟網卡:

? 編輯客戶端的/etc/resolv.conf文件,添加 DNS 服務器地址:

三、配置反向解析

本節環境

主服務器:20.0.0.11

客戶端:Windows 10 或 Linux

1.配置反向區域

`vim /etc/named.rfc1912.zones`

在此文件中定義 IP 地址段的區域信息。同樣復制模版修改。

配置示例

zone"0.0.20.in-addr.arpa"IN {
 # 此處 20.0.0.0 反向為 0.0.20
 # 再如:192.168.10.0 反向則是 10.168.192

 typemaster;
 # 定義主區域
 
  file"my.com.zone.local";
 # 反向解析的數據文件
 
  allow-update { none; };
 # 禁止自動更新
};









![]()

? 編輯區域配置文件/etc/named.rfc1912.zones,添加反向解析區域:

2.配置反向區域數據文件

cd/var/named/
cp-p my.com.zone my.com.zone.local
vim my.com.zone.local

數據文件中通常包含 IP 地址與域名的映射。

配置示例

$TTL1D
@ IN SOA my.com. rname.invalid. (
# 點.必須加上,否則報錯,下同
  0    ; serial # 序列號
 # 更新序列號,10位以內數字,用于主從同步,主服務器這個數值要大于從服務器否則無法同步
 
  1D   ; refresh # 刷新時間
  1H   ; retry  # 重試時間
  1W   ; expire # 過期時間
  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反向指針 功能:反向解析









![]()

? 創建或修改反向區域數據文件:

3.啟動 BIND 服務

`systemctl restart named`

? 啟動或重啟 BIND 服務:

4.測試反向解析(Windows)以Windows為例,確保網卡配置信息無誤:

# 以我的網絡環境為例,做如下配置
IP   20.0.0.120 # 同網段即可
NETMASK 255.255.255.0
GATEWAY 20.0.0.11 # 指向DNS服務器
DNS   20.0.0.11
nslookup 20.0.0.100 # 解析末段為 100 IP地址的域名
# 輸出:
服務器:UnKnown
Address:20.0.0.11
名稱:www.my.com
Address:20.0.0.100

nslookup 20.0.0.200 # 解析末段為 200 IP地址的域名
# 輸出:
服務器:UnKnown
Address:20.0.0.11
名稱:mail.my.com
Address:20.0.0.200








![]()

可以看到返回服務器地址和域名信息,測試成功

? cmd使用nslookup命令測試:

5.測試反向解析(Linux)

`host 20.0.0.100`

若沒問題將會反向解析出域名www.my.com。

? 使用host命令測試反向解析,測試IP地址是否正確解析為域名:

四、配置主從 DNS 服務器及自動同步

本節環境

主服務器:20.0.0.11

從服務器:20.0.0.12

客戶端:Windows 10 或 Linux

1.主服務器配置

options {
  listen-on port 53 { any; };
  allow-query { any; };
};

zone"my.com"IN {
 typemaster;# 類型為主區域
  file"my.com.zone";
  allow-transfer { 20.0.0.12; };
};       # 設置從服務器地址 

# 反向解析沒有配置,這段關系不大
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 ( 
#“@"符號表示當前的DNS區域名
     
     0  ; serial 
     #更新序列號,可以是10位以內的整數
     1D  ; refresh     
     #刷新時間,重新下載地址數據的間隔
     1H  ; retry      
     #重試延時,下載失敗后的重試間隔
     1W  ; expire      
     #失效時間,超過該時間仍無法下載則放棄#
          3H) ; minimum     
         #無效解析記錄的生存周期
         
    NS   my.com.          
   #記錄當前區域的DNS服務器的名稱
   
    A   20.0.0.11         
   #記錄主機IP地址

IN  MX 10  mail.my.com.      
#MX為郵件交換記錄,數字越大優先級越低

www IN A   20.0.0.11
#記錄正向解析www.benet.com對應的IP

mail IN A   20.0.0.22       
#MX為郵件交換記錄,數字越大優先級低

ftp IN CNAME www         
#CNAME使用別名,ftp 是www的別名

*  IN A  20.0.0.30
#泛域名解析,“*"代表任意主機名,給一個不存在的地址









![]()

? 配置正向區域數據文件my.com.zone,帶屬性拷貝編輯:

? 編輯區域配置文件/etc/named.rfc1912.zones,添加從服務器地址:

? 修改/etc/named.conf,允許所有網段查詢:

2.從服務器配置

yum install -ybind
vim /etc/named.conf

#編輯后可以使用named-checkconf語法檢查,后面參數可省
named-checkconf -z /etc/named.conf

配置示例

options {
  listen-on port 53 { 20.0.0.12; };
 # 監聽53端口,ip地址使用提供服務的本地IP,也可用any表示所有
 
 #listen-on-v6 port 53 { ::1; };  
 # ipv6行如不使用可以注釋掉或者刪除
 
  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; };
 # 允許使用本DNS解析服務的網段,也可用any代表所有
}; 









![]()
`vim /etc/named.rfc1912.zones`

配置示例

zone"my.com"IN {
 typeslave;# 類型為從區域
  file"slaves/my.com.zone";
 # 下載的區域數據文件保存到slaves/目錄下
 
 #allow-update { none; };
 # 此行必須刪掉,用于配置主服務器的動態更新DNS記錄
 
  masters { 20.0.0.11; };
}; # 設置主服務器地址

zone"0.0.20.in-addr.arpa"IN {
 typeslave;
  file"slaves/my.com.zone.local";
  masters { 20.0.0.11; };
};











![]()

? 編輯從服務器的區域配置文件:

? 安裝 BIND 并修改配置文件:

3.啟動服務并驗證

systemctl restart named
ls-1 /var/named/slaves/

? 主從都重啟 BIND 服務,并檢查從服務器的區域數據文件是否成功下載:

4.測試(Windows)

nslookup www.my.com # 解析www域名對應的IP地址
# 輸出:
服務器:UnKnown
Address:20.0.0.11
名稱:www.my.com
Address:20.0.0.11

nslookup ftp.my.com # 解析ftp的別名對應的IP地址
# 輸出:
服務器:UnKnown
Address:20.0.0.11
名稱:www.my.com
Address:20.0.0.11

nslookup mail.my.com# 解析mail域名對應的IP地址
# 輸出:
服務器:UnKnown
Address:20.0.0.11
名稱:mail.my.com
Address:20.0.0.22

nslookup aa.my.com # 解析泛域名對應的IP地址
# 輸出:
服務器:UnKnown
Address:20.0.0.11
名稱:aa.my.com
Address:20.0.0.30








![]()

經測試,全部一一對應,是成功的

? 在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服務器地址

6.模擬故障

`systemctl stop named`

注意:在Windows端需將從DNS服務器IP設置為首選DNS,否則無論是重啟還是中斷主DNS服務器網絡,Windows系統都只認首選,備選不會選擇,暫時未解決。Linux未測試。

? 再在Windows端測試

? 停止主服務器的服務,模擬主服務器故障

鏈接: https://blog.csdn.net/qq_44421043/article/details/141304442

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11507

    瀏覽量

    213503
  • 服務器
    +關注

    關注

    13

    文章

    9772

    瀏覽量

    87782
  • DNS
    DNS
    +關注

    關注

    0

    文章

    226

    瀏覽量

    20413
  • 軟件包
    +關注

    關注

    0

    文章

    110

    瀏覽量

    11922

原文標題:Linux系統管理員進階:BIND DNS服務器從入門到精通

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    LinuxVim使用詳解【PDF】

    LinuxVim使用詳解【PDF】
    發表于 08-18 21:56

    基于linux安裝配置redis

    linux(centos)安裝配置redis
    發表于 04-11 15:28

    詳解LINUX安裝配置

    你可以使用兩中方法制作安裝磁盤。在M$-DOS,可以使用專門為其開發的rawrite命令(安裝光盤\dosutils),將boot.img(安裝
    發表于 07-24 06:26

    Linux環境USB的原理、驅動和配置

    本文對 Linux 環境USB 的原理、驅動和配置進行詳細介紹。隨著生活水平的提高,人們對 USB 設備的使用也越來越多,鑒于Linux 在硬件
    發表于 01-16 16:57 ?33次下載

    Linux視頻培訓教程DHCP服務安裝配置

    Linux視頻培訓教程DHCP服務安裝配置
    發表于 09-14 10:51 ?40次下載
    <b class='flag-5'>Linux</b>視頻培訓教程DHCP服務<b class='flag-5'>安裝配置</b>

    Bind源代碼包安裝

    先到官方下載Bind安裝包 wgetftp://ftp.isc.org/isc/bind9/9.6.0-P1/bind-9.6.0-P1.tar.gz tar xzvf
    發表于 04-04 20:30 ?23次下載

    linux下網卡配置詳解

    linux下網卡配置詳解
    發表于 12-15 22:38 ?0次下載

    LinuxQt的安裝

    LinuxQt的安裝
    發表于 11-09 17:14 ?5次下載

    Linux入門教程之LINUX入門與安裝配置

    本文檔的主要內容詳細介紹的是Linux入門教程之LINUX入門與安裝配置主要內容包括了:1、入門篇安裝篇 2、進程篇 3、輸入法篇 4、網絡篇 5、
    發表于 11-07 16:41 ?4次下載

    LinuxApache服務器的安裝配置

    LinuxApache服務器的安裝配置(現代電源技術的發展概況)-LinuxApache服
    發表于 08-31 16:22 ?8次下載
    <b class='flag-5'>Linux</b><b class='flag-5'>下</b>Apache服務器的<b class='flag-5'>安裝</b>和<b class='flag-5'>配置</b>

    linux安裝Apache+Php+Mysql

    linux安裝Apache+Php+Mysql(數字電源技術及其應用)-文檔為在linux安裝
    發表于 09-18 16:09 ?5次下載
    在<b class='flag-5'>linux</b><b class='flag-5'>下</b><b class='flag-5'>安裝</b>Apache+Php+Mysql

    Linux如何安裝和卸載rpm工具

    在Windows系統安裝軟件很簡單,只要雙擊后綴為.exe的文件,然后根據提示連續單擊“下一步”按鈕即可。然而在Linux系統安裝軟件就
    的頭像 發表于 11-06 22:07 ?8750次閱讀

    LINUX軟件安裝與管理的方法

    `LINUX`軟件安裝方式主要有以下`4種`: * 源碼方式安裝Linux軟件 * RPM工具方式
    的頭像 發表于 05-12 10:25 ?1046次閱讀

    什么是bind?你真的熟悉bind嗎?

    bind()方法創建一個新的函數,在bind()被調用時,這個新函數的this被指定 bind()的第一個參數,而其余參數將作為新函數的參數,供調用時使用。
    的頭像 發表于 07-13 09:56 ?3916次閱讀

    Linux bind的核心執行函數

    bind的核心執行函數 bind系統調用的核心函數調用流程如下: SYSCALL_DEFINE3( bind , int , fd, struct sockaddr __user
    的頭像 發表于 07-31 10:51 ?817次閱讀
    主站蜘蛛池模板: 免费大片看黄在观看 | 夜色福利| 丁香六月综合网 | 最近2018免费中文字幕视频 | 免费看片免费播放 | 免费澳门一级毛片 | 伊人色强在线网 | 日本黄色短视频 | 老头天天吃我奶躁我的动图 | 亚洲综合精品香蕉久久网97 | 国产二三区 | 国产黄色精品 | 天堂在线www| 午夜精品免费 | 精品亚洲欧美无人区乱码 | 色多多视频在线播放 | 啪啪日韩| 欧美三级 欧美一级 | 国产福利小视频在线观看 | 免费播放黄色 | 欧美在线天堂 | 色五月婷婷成人网 | 天天狠狠色噜噜 | 亚洲色图激情 | 天天操人人爱 | 久久国产乱子伦精品免 | 嗯好舒服好爽好快好大 | 国产午夜精品久久久久免费视 | 日韩午夜在线视频不卡片 | 久国产精品久久精品国产四虎 | 国产精品福利午夜h视频 | 最近最新免费视频 | 好男人午夜 | 性猛交╳xxx乱大交 性免费视频 | 99久久精品99999久久 | 欧美成人三级伦在线观看 | 国产男女免费视频 | 一级黄色免费毛片 | 日韩三级中文 | 在线观看亚洲成人 | 亚洲成av人影片在线观看 |