DNS 搭建主从DNS服务器(转载)-阿里云开发者社区

开发者社区> 开发与运维> 正文

DNS 搭建主从DNS服务器(转载)

简介: CentOS release 6.8 (Final) 构建DNS主从服务器。 主服务器:192.168.18.42 从服务器:192.168.18.41 一般而言,DNS服务器配置流程主要分为3步: (1)建立主配置文件named.

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章