DNS基础理论知识
1.软件包
伯克利大学发明,具体软件bind主程序 ,与之搭配的还有bind-libs函数库,bind-utils客户端查询相关命令,bind-chroot锁定bind的根目录避免安全问题
2.配置文件
/etc/named.conf 主配置文件
/etc/sysconfig/named Centos6中bind-chroot工作的额外参数
/var/named/ 数据库文件默认存放目录
/var/named/ZONE_NAME.ZONE
/var/run/named named程序执行时默认存放pid-file的目录
/etc/named.rfc1912.zones
/etc/rndc.key
关于dig到的信息解读:
domain通常为待查询的主机名或者域名。
TTL即time to live 缓存时间,其他DNS服务器缓存这条记录的时间,秒为单位。
资源类型(RR type):A代表address,IPv4地址;AAAA代表ipv6;NS代表name server;SOA( Start Of Authority);
MX接收邮件的服务器主机;CNAME表示主机别名。
资源内容(RR data):即查询到的记录内容
示例1,
示例2,查询SOA
其中相关值的设定限制:
serial不超过2^32
refresh>=Retry*2
refresh + retry < expire
expire >= retry*10
expire >= 7Days
示例3,别名CNAME
当解析www.baidu.com.时,发现它的别名是www.a.shifen.com.,
然后又去找www.a.shifen.com.发现它的还有别名www.wshifen.com.,
最后找到www.wshifen.com.的IP是104.193.88.77以及104.193.88.123
示例4,MX
表示所有发给google.com.域的邮件会发往后面的记录值中的服务器。
上图可以看到google.com.拥有5组这样的服务器。为什么说是组呢,这可以看到alt1.aspmx.l.google.com.
前面有一个数字20,表示这个地址上层有20台上层邮件服务器来预接收邮件,防止丢失
DNS搭建step by step
/etc/named.conf配置
/var/named/named.ca此文件存放了公网13个根服务器,默认bind安装自带,不需要修改
/etc/named.rfc1912.zones正解文件目录文件
它默认存放了实现localhost和本地回环地址的解析库
这里从新备份此文件后,修改成以下内容:
其中zmh.com.zone是我们真正的解析数据库,注意它存放的路径是/var/named/
这个需要新建此文件vim /var/named/named.zmh.com
关闭防火墙,selinux;
在客户端将/etc/resolve.conf中加入 nameserver 192.168.30.104
如果有其他公网DNS需要确保本条记录在第一位
测试
最后我在DNS服务器上,即www.zmh.com安装了一个httpd服务(安装请参加其他http安装手册),
简单更改了它的index.html,测试其他客户端能通过域名访问到我的主页
在客户端上使用curl命令成功访问主页
疑问:
1、name.zmh.com文件中@符号含义;
这个符号代表zone的意思。例如写在named.zmh.com中,@代表zmh.com. ,如果写在named.192.168.30 文件中,
则@代表192.168.30.in-addr.arpa. 的意思
2、name.zmh.com文件中参数最后的. 含义
这个(.)很重要,因为它代表一个完整主机名FQDN而不是hostname。举例来说,
在name.zmh.com中写www.zmh.com则代表FQDN为www.zmh.com.@ ===>>> www.zmh.com.zmh.com. 所以写成www.zmh.com. 才对