码迷,mamicode.com
首页 > 其他好文 > 详细

bind详解,主从DNS

时间:2015-09-16 20:16:51      阅读:258      评论:0      收藏:0      [点我收藏+]

标签:智能dns   host文件   子域授权   

假如我们希望我们的网站,比如www.lee.com被别人通过域名访问到,那么我们需要向代理商注册---国内有万网,新网,国外有狗爹等,代理商会帮助你向根域注册,如果你的网站访问量很小,代理商会从他们自己公司的服务器里挑一台通过虚拟主机帮你解析(赚你的钱)。如果你希望通过自己公司里的DNS服务器去解析,那么需要在代理商提供给我们的主机页面后台修改DNS指向到我们自己的DNS服务器,就是NS记录和A记录。根域告知我们.com的位置(根域服务器通过子域授权认证了.com服务器),我们需要让.com的服务器通过子域授权到代理商的DNS服务器

linux上DNS的实现是依靠bind这个软件,但是这个软件的进程名叫named

技术分享

我们需要的包是bind,bind-libs和bindutils

技术分享

bind-utils为我们提供了一些测试工具,比如dig,nslookup,host命令

技术分享

bind还提供了安全包,bind-chroot,安装了bind-chroot的话bind会把dns服务圈禁在/var/named/chroot目录下,即使黑客攻破了dns,也不会影响到真正的系统,因为dns的根目录被从我们系统的根目录上剥离开来了

技术分享

安装bind后生成的配置文件:

技术分享

服务脚本:/etc/rc.d/init.d/named

主配置文件:/etc/named.conf,/etc/named.rfc1912.zones,/etc/rndc.key

rndc:默认与bind安装在同一主机,且只能通过127.0.0.1来连接named进程,提供辅助性管理功能,使用tcp953号端口

解析库文件:/var/named/目录下的.zone文件(通常命名方式),保存本地的区域文件----一台dns服务器能为多个区域解析,所以zone文件会有多个,这个目录下应该有根区域文件,也就是上图中的named.ca了,本地的正反解文件就是named.localhost和named.loopback


接下来我们配置主从DNS服务器,从服务器会向主服务器请求同步数据,达到了分摊负载功能

技术分享

配置文件大括号两边应该有空格

192.168.3.132-----主DNS服务器的named.conf文件配置

option下:

listen-on指定了监听在哪个地址的哪个端口上

directory指定了dns服务器工作目录,也就是zone文件放置的位置

allow-query指定那些网段的主机可以通过本DNS服务器查询解析

recursion指定是否允许为非本dns域内管理的主机到本dns服务器查询时是否为他们递归到根节点查询

logging下:

指定日志文件存放位置

severity指定安全日志级别

zone下:

type指定dns服务器类型,这里是主dns服务器

file:指定zone文件存放位置

allow-transfer:指定主从同步时传送zone文件给那些主机(在主dns服务器上配置此条)

masters:指定主从复制时主dns服务器在哪(在从dns服务器上配置此条)

技术分享

正解zone文件:/var/named/magedu/magedu.zone

技术分享

如果使用泛域名解析:(泛域名解析等理论部分请查看上一篇博客)---简单说就是用户输入错误域名我们帮助用户重定向到某一网页,主机

技术分享

上面的zone文件没有添加从DNS的NS记录,和A记录,所以当主dns重启时,默认不会通知从DNS来更新自己的数据,所以合规的做法是:

技术分享

反解zone文件:/var/named/magedu/100.16.172.arpa

技术分享

192.168.3.132----从DNS服务器named.conf配置

技术分享

重启后查看53号端口被DNS监听了:

技术分享

查看从DNS服务器/var/named/slaves目录下发现同步成功:

技术分享

查看日志发现提示了主从复制成功:

技术分享

我们来测试一下:

正解:dig -t指定正解时资源记录类型,@后面指定用哪个dns服务器解析。dig不会查询hosts文件,直接查询dns服务器

技术分享

反解:用-x选项

技术分享

dig命令其他用法请看man手册,这里举一个例子:+trace跟踪路由

技术分享

模拟区域全量传送:正向:

技术分享

反向:

技术分享

使用host命令查询

技术分享

使用nslookup查询:

技术分享

有两个命令可以用来检查name.conf文件和zone文件的语法有没有错误

技术分享

使用rndc命令可以查看dns服务器状态信息:使用rndc reload可以实现不重启named服务读取配置文件,修改了zone文件后可以使用这个命令生效,不用重启。

技术分享

注意:/var/named目录权限为640,下面的文件为了安全也应该把权限改为640,自己创建的zone文件默认属主是root,应该把属主和属组拥有者改成named用户,放置named服务因为没权限无法读取zone文件。

提醒:主从服务器时间应该同步,并且bind版本最好保持一致!


本文出自 “明天过后” 博客,请务必保留此出处http://leeyan.blog.51cto.com/8379003/1695385

bind详解,主从DNS

标签:智能dns   host文件   子域授权   

原文地址:http://leeyan.blog.51cto.com/8379003/1695385

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!