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

  • Post author:
  • Post category:其他


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