上一篇介绍了DNS服务器的基本概念,那么,光说不练假把式,下边我们就详细的介绍一下DNS服务器的详细构建步骤
要想搭建一个DNS服务器,首先应该安装一下DNS的软件,也就是bind
=========================================================
主服务器
1、安装bind
yum -y install bind
在安装bind工具的时候,通常会安装bind-utils、bind-chroot、bind-libs几个支持bind的软件包。
bind | DNS的主程序,提供DNS服务 |
bind-utils | 提供客户端使用的工具 |
Binf-chroot | 限制服务活动目录,可防止****** |
Bind-libs | 为bind和bind-utils提供库文件 |
2、查看安装bind之后生成的文件,这里只介绍几个主要的配置文件
[root@localhost named]# rpm -qc bind /etc/named.conf //定义主配置文件 /etc/named.root.key //实现事务签名的密钥文件 /etc/named.rfc1912.zones //定义区域配置文件 /var/named/named.ca //用于根域的解析,
3、在安装过bind之后,修改下主配置文件/etc/named.conf注释掉以下三行
// listen-on port 53 { 127.0.0.1; };//这里默认监听的地址是本机,所以要改成外部地址或注释不要。 // listen-on-v6 port 53 { ::1; };//这里是IPV6的监听地址也可注释 // allow-query { localhost; };//定义只允许本地查询,所以可以注释不要。 [root@station1 ~]# vim /etc/named.conf options { directory "/var/named"; forward only; forwarders { 172.16.0.1; }; //指定由哪个DNS做转发器 bindkeys-file "/etc/named.iscdlv.key"; }; [root@station1 ~]# named-checkconf [root@station1 ~]# rndc reload
注:这里设置的内容对全局都有效,所以确定之后再在该目录效进行操作
注:这里启动named服务之后,就成为一个缓存服务器
4、修改主配置文件之后,我们需要在区域配置文件/etc/named.rfc1912.zones里边,为我们的服务器定义一个新区域,
在文件的末端添加:
zone "magelinux.org" IN { //定义正向解析 type master; //定义服务器的类型: l file "magelinux.org.zone"; //定义区域文件的名称 }; zone "6.16.172.in-addr.arpa" IN { //定义反向解析 type master; //定义服务器的类型: l file "172.16.6.zone"; //定义反向解析文件的名称 };
注:服务器的类型是可以指定的
master:表示定义的主域名服务器
slave:表示定义的是辅助域名服务器
hint:表示是互联网中的根域名服务器
forward:表示定义的是一个转发服务器
在修改过区域配置文件之后,需要检测下语法是否有错误,利用named-checkconf检测,之后没有输出内容就说明区域配置文件,没有问题
5、定义区域解析文件
[root@localhost named]# cd
[root@localhost ~]# cd /var/named //必须在/var/named目录下编辑区域文件
[root@localhost named]# vim magelinux.org.zone //编辑正向解析文件,这里区域文件的名称必须与区域配置文件里边定义的一致,否则不能解析
区域解析文件内容:
正向解析:
$TTL 86400 #一天的时间秒钟计算,看你的需求你需要多少写多少 @ IN SOA dns.magelinux.org. admin.magelinux.org. ( 2013081401 //序列号(serial number),若此服务器有从服务器,则在修改文件之后必须加1,否则,从服务器不能同步数据 2H //刷新时间(refresh time), 通知(notify): 只通知给本区域解析库文件中定义NS记录的所有主机; 10M //重试时间( retry time) 7D // 过期时间(expire time) 6H ) //否定答案的ttl IN NS dns #若不写全会自动同步名称,若不写全不能以”.”结尾 IN MX 10 mail dns IN A 172.16.6.11 mail IN A 172.16.6.2 www IN A 172.16.6.6 www IN A 172.16.6.7 #若一个主机名两个地址可以实现“负载均衡“ ftp IN CNAME www //一个主机可以有多个名字,即定义别名
反向解析文件:
[root@localhost named]# vim 172.16.6.zone //编辑反向区域文件 $TTL 86400 @ IN SOA dns.magelinux.org. admin.magelinux.org. ( 2013081401 2H 10M 7D 6H ) IN NS dns.magelinux.org. //这里必须写全,不然会默认成dns.6.16.172 11 IN PTR dns.magelinux.org. 2 IN PTR mail.magelinux.org. 6 IN PTR www.magelinux.org. 7 IN PTR www.magedu.com.
注:必须将正反向解析文件权限属组更改成系统默认设定权限,这个授权很重要,要不然DNS无法正常工作。
[root@localhost named]# chmod 640 magelinux.org.zone [root@localhost named]# chmod 640 172.16.6.zone [root@localhost named]# chown :named magelinux.org.zone [root@localhost named]# chown :named 172.16.6.zone
6、检测区域文件语法是否错误
[root@localhost named]# named-checkzone "magelinux.org" //检查zone语法错误与否 zone magelinux.org/IN: loaded serial 2013081401 OK //显示文件语法无误 [root@localhostnamed]# named-checkzone "6.16.172.in-addr.arpa" zone 6.16.172.in-addr.arpa/IN: loaded serial 2013081401 OK //显示反向解析文件语法无误
7、启动服务
[root@localhost etc]# service named start //启动服务 Generating /etc/rndc.key: [ OK ] Starting named: [ OK ]
8、验证是否能解析成功
linux下
Windos下
===========================================================
从服务器
从服务器的构建跟主服务器的构建步骤一致,只不过是配置文件不同,
注:从服务器不需要解析文件,只需要在主服务器里边为从服务器添加NS记录,及与之对应的A记录即可
编辑从服务器的区域配置文件
然后启动服务,用dig命令测试即可,方法与主服务器测试方法相同
这样从服务器就创建完成了
==========================================================
子域创建及授权
其实子域授权就是在父域的解析文件里边为要创建的子域添加一条NS记录,及与之对应的A记录保存而已
编辑文完成后保存,即完成了对子域的划分与授权
注:编辑完成后注意序列号要+1,用来给从服务器同步数据,然后使用rndc reload 同步下数据
为子域编辑区域解析文件
注:父域能解析子域,子域不能解析父域
转载于:https://blog.51cto.com/limian/1275193