CentOS7系統DNS主從配置:
一、DNS服務器正向解析:
1.1 基礎環境:
主機IP 主機名 操作系統 用途
192.168.0.110 master centos7 dns主服務器
192.168.0.111 slave centos7 dns從服務器
1.2 bind服務安裝,主從都安裝
yum install -y bind*
文件名解釋:
文件名 文件說明 作用
/etc/named.conf 主配置文件 用來定義bind服務程序的運行
/etc/named.rfx1912.zones 區域配置文件 用來保存域名和ip地址對應關系的所在位置
/etc/named 數據配置文件目錄 用來保存域名和ip地址真是對應關系的數據配置文件
修改主配置文件第13行內容使服務器上的所有 IP地址均可以提供 DNS 域名解析服務
修改第21行允許所有人對本服務器發送 DNS 查詢請求。
options {
listen-on port 53 { any; }; #修改為any
listen-on-v6 port 53 { ::1; };
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";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; }; #修改為any
1.2.1正向解析
在 DNS 域名解析服務中,正向解析是指根據域名查找到對應的 IP 地址。當用戶輸入了一個域名后,bind 服務程序會自動進行查找,並將匹配到的 IP 地址返給用戶。
1、編輯區域配置文件,可將原來內容全部清空只留一下內容
[root@master ~]# more /etc/named.rfc1912.zones
zone "bindtest.com" IN {
type master; #服務器類型
file "bindtest.com.zone"; #域名與ip解析規則
allow-update { none; }; #允許哪些客戶機動態更新解析
};
[root@master ~]#
[root@master ~]# service network restart
2、從/var/named 目錄中復制一份正向解析的模板文件(named.localhost)進行編輯
[root@master ~]# ce /var/named/
[root@server named]# cp -ar named.localhost bindtest.com.zone
[root@server named]# cd /var/named
[root@server named]#
[root@server named]# more bindtest.com.zone
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial #更新序列號
1D ; refresh #更新時間
1H ; retry #重試延時
1W ; expire #失效時間
3H ) ; minimum #無效解析記錄的緩存時間
NS ns.bindtest.com. #域名服務器記錄
ns A 192.168.0.110 #域名解析服務器
@ IN MX 10 mail.bindtest.com #郵件交換記錄,設置MX優先級別為10或其他
mail IN A 192.168.0.110 #表示mail.bindtest.com解析后地址為192.168.0.110
www IN A 192.168.0.110
bbs IN A 192.168.0.111 #表示bbs.bindtest.com解析后地址為192.168.0.110
blog IN A 192.168.0.111
[root@server named]#
3、系統網卡中的 DNS 地址參數修改成本機 IP 地址,重啟服務bind服務檢測是否正向是否配置成功
[root@server named]# systemctl restart named
[root@server named]# systemctl restart network
[root@server named]#
[root@master ~]# nslookup www.bindtest.com
Server: 192.168.0.110
Address: 192.168.0.110#53
Name: www.bindtest.com
Address: 192.168.0.110
[root@master ~]# nslookup mail.bindtest.com
Server: 192.168.0.110
Address: 192.168.0.110#53
Name: mail.bindtest.com
Address: 192.168.0.110
[root@master ~]# nslookup bbs.bindtest.com
Server: 192.168.0.110
Address: 192.168.0.110#53
Name: bbs.bindtest.com
Address: 192.168.0.111
[root@master ~]# nslookup blog.bindtest.com
Server: 192.168.0.110
Address: 192.168.0.110#53
Name: blog.bindtest.com
Address: 192.168.0.111
[root@master ~]#
1.2.1 反向解析實驗
反向解析的作用是將 IP 地址解析為對應的域名信息。
1、編輯區域文件,在下方追加反向解析區域配置
[root@server named]# vim /etc/named.rfc1912.zones
zone "bindtest.com" IN {
type master;
file "bindtest.com.zone";
allow-update { none; };
};
zone "0.168.192.in-addr.arpa" IN{ #在定義區域時應該要把ip地址反寫,如0.168.192只寫網絡位
type master;
file "192.168.0.arpa"; #此處名字需要與正向解析文件區別開
allow-update { none; };
};
2、從/var/named 目錄中復制一份正向解析的模板文件(named.loopback)進行編輯
[root@master ~]# cd /var/named/
[root@master ~]# cp -ar named.loopback 192.168.0.arpa
[root@master ~]# vim 192.168.0.arpa
$TTL 1D
@ IN SOA bindtest.com. root.bindtest.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns.bindtest.com.
ns A 192.168.0.110
110 PTR ns.bindtest.com. #PTR為反向指針 192.168.0.110可解析城ns.bindtest.com
110 PTR mail.bindtest.com.
110 PTR www.bindtest.com.
111 PTR bbs.bindtest.com.
111 PTR blog.bindtest.com.
[root@master ~]#
3、重啟服務、檢驗解析結果
[root@server named]# nslookup 192.168.0.110
110.0.168.192.in-addr.arpa name = mail.bindtest.com.
110.0.168.192.in-addr.arpa name = ns.bindtest.com.
110.0.168.192.in-addr.arpa name = www.bindtest.com.
[root@server named]# nslookup 192.168.0.111
111.0.168.192.in-addr.arpa name = bbs.bindtest.com.
111.0.168.192.in-addr.arpa name = blog.bindtest.com.
[root@server named]#
二、從服務部署
在實際工作環境中,對於解析任務繁重,工作負荷較大的服務器而言,難免存在服務器出現問題,而在網絡環境中,如果因為服務器不能提供服務,損失將會是巨大的,因此需要做一個備份可提供服務的DNS服務器,稱為從DNS服務器。
2.1主服務配置
修改主服務區域文件配置
[root@server named]# vim /etc/named.rfc1912.zones
zone "bindtest.com" IN {
type master;
file "bindtest.com.zone";
allow-update { 192.168.0.111; }; #修改成允許更新區域信息的主機地址
};
zone "0.168.192.in-addr.arpa" IN{
type master;
file "192.168.0.arpa";
allow-update { 192.168.0.111; }; #修改成允許更新區域信息的主機地址
};
[root@server named]#
重啟主服務bind程序
[root@server named]# systemctl restart named
[root@server named]#
2.1從服務配置
1、參照1.2對bind服務安裝並對主配置文件(/etc/named.conf)進行修改
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
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";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; };
2、修改從服務區域文件
[root@slave ~]# vim /etc/named.rfc1912.zones
zone "bindtest.com" IN {
type slave; #服務器類型為從服務器
masters { 192.168.0.110; }; #主服務器ip地址
file "slaves/bindtest.com.zone"; #同步配置文件的位置
};
zone "0.168.192.in-addr.arpa" IN{
type slave;
masters { 192.168.0.110; };
file "slaves/192.168.0.arpa";
};
由於目前還沒重新啟動從服務,切換到數據配置文件目錄的slaves下可以看到此時並沒有文件
[root@slave ~]# cd /var/named/slaves/
[root@slave slaves]# ls
[root@slave slaves]#
3、重啟服務,可以看到重啟服務后主服務的正反向解析服務的配置文件已經同步到相應目錄下了
[root@slave slaves]# ll
總用量 0
[root@slave slaves]# systemctl restart named
[root@slave slaves]# ll
總用量 8
-rw-r--r-- 1 named named 436 1月 15 15:42 192.168.0.arpa
-rw-r--r-- 1 named named 453 1月 15 15:42 bindtest.com.zone
[root@slave slaves]#
4、將系統dns地址修改為192.168.0.111並重啟網絡服務后檢驗解析結果
[root@master named]# systemctl restart named
[root@master named]# systemctl restart network
[root@slave ~]# nslookup
> 192.168.0.110
110.0.168.192.in-addr.arpa name = www.bindtest.com.
110.0.168.192.in-addr.arpa name = mail.bindtest.com.
110.0.168.192.in-addr.arpa name = ns.bindtest.com.
> www.bindtest.com
Server: 192.168.0.111 可以看到解析服務已經是從服務了
Address: 192.168.0.111#53
Name: www.bindtest.com
Address: 192.168.0.110
> mail.bindtest.com
Server: 192.168.0.111
Address: 192.168.0.111#53
Name: mail.bindtest.com
Address: 192.168.0.110
> ns.bindtest.com
Server: 192.168.0.111
Address: 192.168.0.111#53
Name: ns.bindtest.com
Address: 192.168.0.110
> bbs.bindtest.com
Server: 192.168.0.111
Address: 192.168.0.111#53
Name: bbs.bindtest.com
Address: 192.168.0.111
> blog.bindtest.com
Server: 192.168.0.111
Address: 192.168.0.111#53
Name: blog.bindtest.com
Address: 192.168.0.111
>
