阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

DNS服务器搭建、转发、主从配置

190次阅读
没有评论

共计 4928 个字符,预计需要花费 13 分钟才能阅读完成。

一)、DNS 服务搭建
使用 bind 搭建 dns 服务:
yum install -y bind
yum install -y bind-utils
cp /etc/named.conf /etc/named.conf.bak
>/etc/named.conf
vim /etc/named.conf
123456789101112131415 options {
    directory “/var/named”;
};
zone “.” IN  {
    type hint;
    file “named.ca”;
};
zone “localhost” IN {
    type master;
    file “localhost.zone”;
};
zone “0.0.127.in-addr.arpa” IN {
    type master;
    file “named.local”;
};

chown named /etc/named.conf
cd /var/named/
dig -t NS . > named.ca
vim localhost.zone

123456789 @                  IN      SOA    localhost.  admin.localhost.    (
                                                                        2013081601
                                                                        1H
                                                                        10M
                                                                        7D
                                                                        1D
                                                                          )
@                  IN          NS          localhost.
localhost.          IN          A          127.0.0.1

vim named.loca
12345678910 $TTL 86400
@                    IN      SOA    localhost.  admin.localhost.      (
                                                                        2013081601
                                                                        1H
                                                                        10M
                                                                        7D
                                                                        1D
                                                                        )
@                    IN          NS          localhost.
1                    IN          PTR        localhost.

做到这里呢,我们的主配置文件及域配置文件基本就搭建好了。但是呢,这里我们就要注意了,假如你的 selinux 是开着的话呢,接下来的步骤呢就不好做下去了,你可以通过 getenforce 命令来查看是否关闭。所以呢,你不妨先关闭下你的 selinux 啦,你选择永久关闭呢,就进入到 /etc/selinux/config 将 SELINUX 修改成 disabled 就可以啦。OK,我们就继续走着。。。。
检测配置是否有问题: named-checkconf
检测正解析: named-checkzone “localhost” /var/named/localhost.zone
检测反解析: named-checkzone “0.0.127.in-addr.arpa” /var/named/named.local
如果都“OK”那就可以了
rndc-confgen -r /dev/urandom -a  // 这一步是生成 rndc.key, 如果没有这个 key namd 是启动不了的
chown named:named /etc/rndc.key
/etc/init.d/named start
netstat -lnp  |grep named  // 查看一下 named 进程是否监听了 53 端口
首先测试正向解析:dig @127.0.0.1 localhost.
接着测试反解析:dig @127.0.0.1 -x 127.0.0.1
都正常了,那么我呢就加个域名来试试。。。
vim /etc/named.conf 后面增加

12345678 zone “abc.com” IN {
    type master;
    file “abc.com.zone”;
};
zone “137.168.192.in-addr.arpa” IN {
    type master;
    file “192.168.zone”;
};

编辑 zone 文件: vim /var/named/abc.com.zone

1234567891011121314 $TTL    600
@              IN      SOA    abc.com.      root.abc.com.    (
                                                        2013081611
                                                        1H
                                                        10M
                                                        7D
                                                        1D
)
                IN      NS      ns.abc.com.
                IN      MX  10  mail.abc.com.
ns              IN      A      192.168.0.120
www              IN      A      192.168.137.73
mail            IN      A      192.168.137.10
bbs              IN      CNAME  www.abc.com.

这里呢,得提醒下你了,我的主机 IP 地址是 192.168.0.120
编辑反解析文件: vim /var/named/192.168.zone

12345678910111213 $TTL 600
@              IN      SOA    ns.abc.com.      root.abc.com. (
                                                        2013081601
                                                        1H
                                                        10M
                                                        7D
                                                        1D
)
@              IN      NS      ns.abc.com.
10              IN      PTR    ns.abc.com.
20              IN      PTR    mail.abc.com.
73              IN      PTR    www.abc.com.
~

分别检测两个配置文件是否有问题:
named-checkzone “abc.com” abc.com.zone
named-checkzone “137.168.192.in-addr.arpa” 192.168.zone
重启 named 服务,测试:
dig @127.0.0.1 www.abc.com
dig  @127.0.0.1 -x 192.168.137.11
好了,我们的 DNS 服务呢就搭好了。不过呢,我们不还没完么,继续走着。。。。
二)、配置 DNS 转发:
我们配置的 DNS 是只能解析我们定义的 zone 的,我们没有定义的是不能解析的。
配置 DNS 转发就可以解析其他互联网上的域名了,前提是这个域名在互联网中的确在使用,也就是说这个域名已经被某个 DNS 服务器解析了。
vim  /etc/named.conf // 在 options{} 里面增加
forward first; 
forwarders {8.8.8.8;};
这两行就是用来配置转发的,该 DNS 服务器不能解析的域名会转发到 8.8.8.8 这个 DNS 服务器上去解析。
转发做好了,我们继续做主从了。。。。
三)、配置主从:
在从服务器上 yum install -y bind
拷贝主上的配置文件到从上,其中有 /etc/named.conf, /var/named/localhost.zone, /var/named/named.local 
拷贝过来后,修改一下从的 /etc/named.conf 内容参考:

12345678910111213141516171819202122232425 options {
    directory “/var/named”;
};
zone “.” IN  {
    type hint;
    file “named.ca”;
};
zone “localhost” IN {
    type master;
    file “localhost.zone”;
};
zone “0.0.127.in-addr.arpa” IN {
    type master;
    file “named.local”;
};
zone “abc.com” IN {
    type slave;
    file “slaves/abc.com.zone”;
    masters {192.168.0.120;};
};
zone “137.168.192.in-addr.arpa” IN {
    type slave;
    file “slaves/192.168.zone”;
    masters {192.168.0.120;};
};

做到这里呢,又得注意一个问题了,那就是 iptables 啦,如果 53 端口被关闭的话呢,主从是没办法同步的,你可以在从上通过 telnet 192.168.0.120 53 来试登录主上,如果是登不上,你就需要 /etc/init.d/iptables stop 或者 chkconfig iptables off 临时或者永久关闭他了,当然你也可以通过修改 iptables 规则来开放 53 端口啦,自己定夺,就不细说啦。。。。
从上生成 rndc.key: rndc-confgen -r /dev/urandom -a
chown named:named /etc/rndc.key
从上启动 named: /etc/init.d/named start
启动成功后会在 /var/named/ 下生成一个 slaves 目录,这个目录下会有 192.168.zone, abc.com.zone 这两个文件,内容是和主上的一样的
在从上测试: dig @127.0.0.1 www.abc.com
测试主从同步:
在主 dns 上更改文件 /var/named/abc.com.zone // 在最后增加一行:
123              IN      A      1.1.1.1
另外需要修改一下第三行的那个数字串,这个是用来做标记的,只有这个数字变化了,才可以让从自动跟着变,数字只能是变大,不能减小,2013081601 -> 2013081602
重启主 namd 服务: /etc/init.d/named restart
经测试我们发现一个问题,就是从经常会同步特别慢,这是很要命的。所以需要我们做一个特殊操作,在主上的 /etc/named.conf 中,abc.com 的 zone 中增加两行:
notify yes;
also-notify {192.168.0.121;};
这个 121 呢,就是从上的 ip 了。好啦,就这样吧,祝你成功!!!

相关阅读

RHEL6 服务器搭建 DNS 服务器 http://www.linuxidc.com/Linux/2013-10/91256.htm

精解 Linux RHEL 6.x DNS 服务器 http://www.linuxidc.com/Linux/2013-08/88986.htm

Ubuntu DNS 服务器配置 http://www.linuxidc.com/Linux/2013-07/87181.htm

Solaris 中配置 DNS 服务器 http://www.linuxidc.com/Linux/2013-06/86724.htm

CentOS 6.3 x64 下借助 MySQL 和 DNS view 实现智能 DNS http://www.linuxidc.com/Linux/2013-06/86430.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计4928字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中