1. 程式人生 > >第十四章 DNS系統

第十四章 DNS系統

pointer fresh 數字 軟件包 min 均衡 註釋 direct 域名

一、DNS系統的作用及類型
DNS 系統的作用
正向解析:根據主機名稱(域名)查找對應的 IP 地址
反向解析:根據 IP 地址查找對應的主機域名
DNS 系統的分布式數據結構
技術分享圖片
? 緩存域名服務器
– 也稱為高速緩存服務器
– 通過向其他域名服務器查詢獲得域名 -> IP 地址記錄
– 將域名查詢結果緩存到本地,提高重復查詢時的速度
? 主域名服務器
– 特定 DNS 區域的官方服務器,具有唯一性
– 負責維護該區域內所有域名 -> IP 地址的映射記錄
? 從域名服務器
– 也稱為 輔助域名服務器
– 其維護的 域名 -> IP 地址記錄 來源於主域名服務器

二 BIND安裝配置

? BIND(Berkeley Internet Name Daemon)
– 伯克利 Internet 域名服務
– 官方站點:https://www.isc.org/
? 相關軟件包
– bind-9.9.4-37.el7.x86_64.rpm
– bind-utils-9.9.4-37.el7.x86_64.rpm
– bind-libs-9.9.4-37.el7.x86_64.rpm
– bind-chroot-9.9.4-37.el7.x86_64.rpm
? BIND 服務器端程序
– 主要執行程序:/usr/sbin/named
– 默認監聽端口:53
– 主配置文件
? /etc/named.conf
– 保存 DNS 解析記錄的數據文件位於
? /var/named/
主配置文件 named.conf
? 全局配置部分
– 設置 DNS 服務器的全局參數
– 包括監聽地址/端口、數據文件的默認位置、允許訪問的網段等
– 使用 options { …… }; 的配置段
? 區域配置部分
– 設置本服務器提供域名解析的特定 DNS 區域
– 包括域名、服務器角色、數據文件名等
– 使用 zone “區域名” IN { …… }; 的配置段

? 全局 TTL 配置項及 SOA 記錄
– $TTL(Time To Live,生存時間)記錄

– SOA(Start Of Authority,授權信息開始)記錄
– 分號“;” 開始的部分表示註釋信息
? 正向域名解析記錄
– NS 域名服務器(Name Server)記錄
– MX 郵件交換(Mail Exchange)記錄
– A 地址(Address)記錄,只用在正向解析區域中
– CNAME 別名(Canonical Name)記錄
? 反向域名解析記錄
? PTR 指針(Point)記錄,只用在反向解析區域中
? 記錄的第一列指定 IP 地址中的主機地址部分即可
特殊示例
? 基於域名解析的負載均衡
– 同一域名對應到多個 IP 地址
? 泛域名解析
– 找不到精確對應的 A 記錄時,使用“”進行匹配
? www IN A 173.16.16.173
? www IN A 173.16.16.174
? www IN A 173.16.16.175
?
IN A 173.16.16.173
對配置文件進行語法檢查
? named-checkconf 工具
? named-checkconf [-z] [主配置文件]
? named-checkzone 工具
? named-checkzone <域名> <區域數據文件>
輔助DNS服務器建立
[root@localhost chroot]# cat /var/named/chroot/etc/named.conf
options
{
// Put files that named is allowed to write in the data/ directory:
directory "/var/named"; // "Working" directory

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

notify yes; #####通知從DNS全局
#also-notify {192.168.99.99 ;};
recursion yes;
listen-on-v6 port 53 { ::1; };
};
zone "wang.com" IN {
type master;
file "lqb.com.zon";
allow-transfer {192.168.99.99;}; ####只允許通知的從服務器
notify yes; ####主從同步通知從DNS這個配置很重要
also-notify {192.168.99.99 ;};
};

[root@localhost chroot]# vim /var/named/chroot/var/named/
data/ dynamic/ wang.com.zon slaves/
[root@server98 chroot]# cat /var/named/chroot/var/named/wang.com.zon
$TTL 1D
$ORIGIN wang.com.
@ IN SOA wang.com. admin.wang.com. (
20180511; serial ########這個很重要,每次修改記錄的時候都要修改這個數T+1(每次修改完主DNS配置後,都需要改一下serial序列號,且必須比從服務器號大才會同步。)
1D ; refresh
1H ; retry
1W ; expire
3H ; minimum
)
IN NS ns1.wang.com.

mail IN A 172.20.66.111
www2 IN A 172.20.66.112
ns1 IN A 192.168.99.99
www IN A 172.20.66.110
ftp IN A 10.128.105.250

從DNS配置(註意目錄權限)
[root@local2 ~]# vim /var/named/chroot/etc/named.conf

options {
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
allow-query { any; };
directory "/var/named";
recursion yes;
};

zone "wang.com" IN {
type slave; ###本機是從服務器
file "slaves/wang.com.zon"; ###將同步後的文件放置在哪裏,這裏是相對路徑絕對路徑是/var/named/chroot/var/named/slaves/
masters { 192.168.99.98; }; ###指定主服務器的ip地址
};

小知識
區域(zone)和域(domain):
FQDN --> IP正向解析庫;區域
IP --> FQDN反向解析庫;區域
區域數據庫文件:
資源記錄:Resource Record, 簡稱rr、記錄類型如下:
1、SOA: Start Of Authority,起始授權記錄,一個區域解析庫有且只能有一個SOA記錄,而且必須放在第一條,而且在編寫時不能使用“@”符號,使用“.”符號代替,後續有示例:
br/>放在第一條,而且在編寫時不能使用“@”符號,使用“.”符號代替,後續有示例:
一個NS記錄後面的服務器名字,都應該在後續有一個A(地址記錄);
3、A: Address, 地址記錄,FQDN --> IPv4(正向解析庫);
4、AAAA: 地址記錄, FQDN --> IPv6(正向解析庫);
5、CNAME:Canonical Name,別名記錄;
6、PTR: Pointer,IP --> FQDN(反向解析庫),IP有特定格式,把IP地址反過來寫,1.2.3.4,
要寫作4.3.2.1;而有特定後綴:in-addr.arpa.,所以完整寫法為:4.3.2.1.in-addr.arpa.
7、MX: Mail eXchanger,郵件交換器,任何一個MX記錄後面的服務器名字,都應該在後續有一個A記錄
優先級:0-99,數字越小優先級越高;
三、構建緩存域名服務器
可以通過以下設置完成:
    forwarders{218.30.19.40; };
也可以通過以下選項讓服務器轉發所有dns查詢到forwarders服務器;
    forward only或first;

作業:

第十四章 DNS系統