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和一些空格给弄没了,我比较懒,调理几次不行就没弄了。
$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//查看日志
修改配置/var/named/下的renn文件后记得耍一下。
rndc reload
dig jenkins.renn.top
WIN主机也清一下缓存
ipconfig /flushdns
cmd — ping jenkins.renn.top