Linux 構建DNS主從服務器
CentOS release 6.8 (Final) 構建DNS主從服務器。
主服務器:192.168.18.42
從服務器:192.168.18.41
-----------------------------------------------------------------
一般而言,DNS服務器配置流程主要分為3步:
(1)建立主配置文件named.conf,即其主要是設置DNS服務器能管理哪些區域(zone)以及對應文件名和存儲路徑;(/etc/named.conf和/etc/named.rfc1912.zones)
(2)建立區域文件,依據named.conf文件中指定的路徑來建立區域文件,此文件主要記錄該區域內的資料記錄;(/var/named/renn.db和/var/named/renn.rev);
文件名在named.rfc1912.zones的配置自定義(file "renn.db";).
(3)重新加載配置文件或重啟named服務使用配置生效。
(chkconfig named on、chkconfig --add named、service named start/restart)
區域Type:
master: 主域服務
slave: 從域服務
stub: 只復制主域的NS記錄,屬於BIND特有功能.
hint: 設定初始化設置根域服務器所用的參數.
forward: 域轉發設置
//安裝主程序
#yum -y install bind bind-chroot bind-utils
#rpm -qa bind*
bind-9.8.2-0.47.rc1.el6_8.4.x86_64
bind-libs-9.8.2-0.47.rc1.el6_8.4.x86_64
bind-utils-9.8.2-0.47.rc1.el6_8.4.x86_64
bind-chroot-9.8.2-0.47.rc1.el6_8.4.x86_64
----------------------------------------------
----------------------------------------------
(1)bind : 提供了域名服務的主要程序及相關文件;
(2)bind-utils : 提供了對DNS服務器的測試工具程序(如:nslookup、dig etc)
(3)bind-chroot : 為bind提供一個偽裝的根目錄以增強安全性;
(注:新版本CentOS 6.x 已將chroot所需使用的目錄,透過mount --bind的功能進行目錄鏈接了,故在CentOS 6.x中,根本無須切換到/var/named/chroot/了,只需按常規目錄操作 即可!)
請cat /etc/sysconfig/named目錄,其下是不是有“ROOTDIR="/var/named/chroot”
(4)caching-nameserver : 為配置BIND作為緩存域名服務器提供必要的默認配置文件,這些文件在配置主、從域名服務器時也可作為參考。(CentOS 6.x后沒有caching-nameserver包了)
----------------------------------------------
一 構建DNS主服務器。
(1)建立主配置文件named.conf,即其主要是設置DNS服務器能管理哪些區域(zone)以及對應文件名和存儲路徑;
#vim /etc/named.conf
---------------
//僅僅修改幾個地方, any; 可以用IP或IP段替代。如 192.168.18.0/24;
options {
listen-on port 53 { any; };
//listen-on-v6 port 53 { ::1; }; //注銷
allow-query { any; };
}
---------------
#cd /etc
#cp -p named.rfc1912.zones named.rfc1912.zones.bak
#vim named.rfc1912.zones
----------------------------
// Shift+G跳到行尾添加
zone "renn.info" IN {//設置正向DNS區域名稱
type master;
file "renn.db"; //設置對應的正向區域地址數據庫文件
allow-transfer {192.168.18.41;}; //允許下載區域數據庫信息的從域名服務器IP地址
};
zone "18.168.192.in-addr.arpa" IN {//設置反向DNS區域名稱
type master;
file "renn.rev";//設置對應的反向區域地址數據庫文件
allow-transfer {192.168.18.41;}; //允許下載區域數據庫信息的從域名服務器IP地址
};
------------------------------
#named-checkconf //沒有消息就是好消息
(2)建立區域文件,依據named.conf文件中指定的路徑來建立區域文件,此文件主要記錄該區域內的資料記錄;
//正向解析配置文件:
#cd /var/named/
#vim renn.db
#空間的日志會把tab和一些空格給弄沒了,我比較懶,調理幾次不行就沒弄了。
#空間的日志會把tab和一些空格給弄沒了,我比較懶,調理幾次不行就沒弄了。
--------------------------------
$TTL 86400
@ IN SOA @ root (
0;Serial
3H;Refresh
1H;Retry
1W;expire
1D);minimun
@ IN NS ns1.renn.info.
IN NS ns2.renn.info.
IN A 192.168.18.42
IN MX 5 mail.renn.info.
ns1 IN A 192.168.18.42
ns2 IN A 192.168.18.41
mail IN A 192.168.18.42
www IN A 192.168.18.42
zabbix IN A 192.168.18.121
jenkins IN A 192.168.18.41
gitlab IN A 192.168.18.41
--------------------------------
#named-checkzone renn.info /var/named/renn.db
zone renn.info/IN: loaded serial 0
OK
//反向解析配置文件:
#vim renn.rev
---------------------------
$TTL86400
@ IN SOA localhost. root.localhost. (
0;Serial
3H;Refresh
1H;Retry
1W;Expire
1D);Mininum
@ IN NS ns1.renn.info.
IN NS ns2.renn.info.
42 IN PTR ns1.renn.info.
41 IN PTRns2.renn.info.
@ IN MX 5 mail.renn.info.
42 IN PTR mail.renn.info.
42 IN PTR www.renn.info.
42 IN PTR jenkins.renn.info.
41 IN PTR gitlab.renn.info.
41 IN PTR zabbix.renn.info.
---------------------------
# named-checkzone 18.168.192.in-addr.arpa renn.rev
zone 18.168.192.in-addr.arpa/IN: loaded serial 0
OK
(3)重新加載配置文件或重啟named服務使用配置生效
# chkconfig --list named
# chkconfig named on
# chkconfig --list named
# chkconfig --add named
# service named restart
# cat /etc/resolv.conf
nameserver 192.168.18.42
------------------------------------------
二、構建從DNS服務器
從域名服務器作為主服務器的冗余備份,與主域名服務器一起,同時提供本域內主機名與IP地址的解析,從域名服務器的地址數據庫需從主域名服務器中定期更新。
(1)建立主配置文件named.conf,即其主要是設置DNS服務器能管理哪些區域(zone)以及對應文件名和存儲路徑;
# vim /etc/named.conf
---------------
//僅僅修改幾個地方, any; 可以用IP或IP段替代。如 192.168.18.0/24;
options {
listen-on port 53 { any; };
//listen-on-v6 port 53 { ::1; }; //注銷
allow-query { any; };
}
---------------
# cd /etc
# cp -p named.rfc1912.zones named.rfc1912.zones.bak //養成備份的好習慣
# vim named.rfc1912.zones
----------------------------
// Shift+G跳到行尾添加
zone "renn.info" IN {//設置正向DNS區域名稱
type slave;
masters {192.168.18.42;};
file "slaves/renn.db";
};
zone "18.168.192.in-addr.arpa" IN {//設置反向DNS區域名稱
type slave;
masters {192.168.18.42;};
file "slaves/renn.rev";
};
------------------------------
# chkconfig named on
# ls /var/named/slaves/ //Nothing
# service named restart
# ls /var/named/slaves///同步成功生成renn.db 和 renn.rev
# tail /var/log/messages//查看日志
#rndc reload
#dig jenkins.renn.top
#WIN主機也清一下緩存
#ipconfig /flushdns
#cmd --- ping jenkins.renn.top