您的位置:首页 > 运维架构 > Linux

Linux下使用bind搭建DNS主从服务器

2011-08-21 20:48 786 查看
假设公司A在万网a.org上注册了一个域名net.cn, 现在不想使用万网的DNS服务器,而是自己要建立两个DNS服务器,一个是主服务器,一个是从服务器

,现有两台机器: ns1.a.org , ns2.a.org 我们如何配置这两台主机成为DNS服务器?

首先,这个公司A内部有如下需求:

1.公司有一个mail服务器,需要被解析 mail.a.org

2.公司有一个ftp服务器,需要被解析 ftp.a.org

3.还有自己的域名和bbs等

好了,根据如上需求我们来配置这两台服务器。

0.在两台主机上要安装好bind服务器端,否则无法继续下去。

yum install bind


1.去万网a.org后台的管理页面上,将两台DNS服务器的地址改成自己的主机名字,改为: (这一步在学习时省略)

ns1.a.org

ns2.a.org

2.为了保证公司的网络地址可以被正常的解析到,我们配置ns1为主服务器,ns2为从服务器,假如ns1的地址为172.16.100.1,ns2的从服务器为172.16.100.2

1)登录到172.16.100.1 即主机:ns1.a.org,编辑它的dns主配置文件,定义工作目录,添加两个区域,一个正向解析,一个反向解析

# vim /etc/named.conf
# 正向
option {
directory "/var/named";
};
zone "a.org" IN {                                                # 声明复制a.org这个域
type master;                                         # 类型:主
file "a.org.zone";                                  # 解析文件
};
# 反向
zone "16.172.in-addr.arpa" IN {
        type master;
        file "172.16.zone";               
};

# 在建立反向的时候,反向输入ip(因为它是反向解析的),例如 1.100.10.172,下面会用到


2)配置正向解析文件a.org

cd /var/named
vim a.org
$TTL 1200
@           IN           SOA            ns1.a.org.             admin.a.org.          (                # SOA字段
                                                           2011081601                                                 # 版本号    同步一次  +1
                                                           1H                                                                   # 更新时间
                                                           10MM                                                              # 更新失败,重试更新时间
                                                           7D                                                                    # 更新失败多长时间后此DNS失效时间
                                                           1D )                                                               # 解析不到请求不予回复时间
                     IN                                NS               ns1.a.org.
                     IN                                NS               ns2.a.org.
                     IN                                MX     10        mail.a.org.                                # 10指优先级  0-99 数字越小优先级越高
ns1.a.org.     IN                              A                 172.16.100.1
ns2.a.org.     IN                              A                 172.16.100.2
mail.a.org.    IN                              A                 172.16.100.1
bbs.a.org.     IN                              CNAME             www.a.org.

# 该文件只有改了了属组才生效!!!!!!!!
chomd :named a.org.zon
service named reload


3)配置反向解析,反向解析不去要MX , A ,和CNAME字段,它一般使用PRT

vim 172.16.org

$TTL 1200
@       IN      SOA     ns1.a.org.      admin.a.org. (
                                2011081601
                                1H
                                10M
                                7D
                                1D )
                IN              NS      ns1.a.org.
                IN              NS      ns2.a.org.
1.100           IN              PTR     ns1.a.org.
2.100           IN              PTR     ns2.a.org.
1.100           IN              PTR     mail.a.org.
3.100           IN              PTR     www.a.org.
100.100         IN              PTR     ftp.a.org.
# 声明域的时候已经有了,172.16 所以我们只需要输入1.100既代表172.16.1.100
chomd :named 172.16.org
service named reload


4)启动服务,使用dig命令来测试是否能够正常解析(先修改自己的DNS服务器地址,在最后补充里)

service named start
dig -t A www.a.ort
dig -t PTR 172.16.100.1


5)配置另外一台DNS服务器为从服务器,编辑它的主配置文件,内容如下:

vim /etc/named
option {
directory "/var/named/slaves";                                   
};
zone "a.org" IN {                       
type slave;                                                                  # 类型为从
masters { 172.16.100.1 };                                       # 主服务器的地址,通过它来同步解析文件
file "a.org.zone";
};
# 反向
zone "16.172.in-addr.arpa" IN {
        type slave;
        masters { 172.16.100.1 };
        file "172.16.zone";               
};


6)重启服务,看解析文件是否同步:

service named restart
ls /var/named/slaves


补充:

1.在配置DNS时,其实应当先声明一个根域".",用来解析外网域名,方法如下:

编辑主配置文件,声明根域

vim /etc/named
zone "." {
type hint;
file "named.ca"
};
#保存退出,利用dig命令生成根域文件
dig -t NS ca > /var/named/named.ca


2.修改Linux主机dns服务器地址方法:

vim /etc/resolv.conf
nameserver 172.16.100.1                     # 只需要留这一行,ip是你想要设的dns服务器地址
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: