今天小编给大家分享一下DNS服务器的正反向区域实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
DNS: Domain Name System 域名系统是互联网的一项服务。它作为将域名和IP地址互相映射的一个分布式数据库,能够使人们更方便地使用互联网。
域名查询工具
Nslookup命令
>server 202.106.0.20 #指定DNS服务器>set q=A #指定要查询的类型(A,PTR,MX,CNAME,NS)>www.baidu.com #指定要查询的域名
dig命令
此命令是DNS工具包带的,可以用来查询域名相关信息
dig [ -t type ] [ -x addr ] [ name ] [ @server ]-t A www.baidu.com @202.106.0.20 #查看域名的IP地址,指定DNS服务器,默认使用本地DNS地址-t NS www.baidu.com #查看域名的NS服务器-t NS . #查看根的NS服务器-t NS com #查看com.的NS服务器-t MX baidu.com #查看域的邮件域名-t SOA baidu.com #查看域的权威服务器的SOA记录-t CNAME www.baidu.com #查看域名的别名-x 192.168.60.200 @192.168.60.10 #反向解析查询
示例:
[root@localhost ~]# dig -t a www.baidu.com ; > DiG 9.8.3-P1 > -t a www.baidu.com;; global options: +cmd;; Got answer:;; ->>HEADER#显示dig提的问题;www.baidu.com. IN A ;; ANSWER SECTION: #回复dig提的问题www.baidu.com. 448 IN CNAME www.a.shifen.com.www.a.shifen.com. 0 IN A 115.239.211.112www.a.shifen.com. 0 IN A 115.239.210.27 ;; Query time: 15 msec ;; SERVER: 192.168.5.1#53(192.168.5.1);; WHEN: Sat Jul 2 21:30:06 2016;; MSG SIZE rcvd: 103
Dig查询结果显示信息除了QUESTION SECTION和ANSWER SECTION外,还会碰见下面两类信息:
AUTHORITY SECTION #显示A记录的权威服务器ADDITIONAL SECTIONdd #显示A记录的权威服务器的A记录
Dig的另外几种常见用法
# 查看202.106.0.20是否给递归[root@localhost ~]# dig +recurse -t www.baidu.com @202.106.0.20 # 显示查询www.baidu.com的详细过程使用本地DNS[root@localhost ~]# dig +trace -t www.baidu.com
DNS资源记录
DNS服务器的解析功能有两种,一种是正向解析,一种是反向解析。正反向解析技术不同,因此不应该存放于同一个数据库文件中进行,每一种解析在DNS服务器上都需要有对应的数据库文件。在数据库文件中每一条都是一个资源记录,资源记录是有类型的,用于表示资源的功能,常用的有如下记录:
SOA(Start Of Authority) #起始授权记录NS(Name Server) #域名服务器记录,标明自己就是DNS服务器MX(mail eXchanger) #邮件交换器记录A(Address) #域名转IPv4地址(正向解析)PTR(PoiTeR) #IP地址转换为域名(反向解析)AAAA(Address) #域名转IPv6地址CNAME(Canonical Name) #正式名称(别名记录)
正向区域文件
$TTL 600@ IN SOA dns.ywnds.com. root.ywnds.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum@ IN NS dns
$TTL 600 :生存时间字段以秒为单位定义改资源记录中的信息存放在DNS缓存中的时间长度。
资源记录格式
NAME IN TYPE ValueNAME:名称字段,此字段是资源记录引用的域对象名,可以是一台独立的主机(如www)也可以是整个域(如wangfeng7399.com);字段值”.”表示根,“@”表示默认域即当前域。IN:此字段用于将当前记录标识为一个互联网的DNS资源记录。TYPE:资源记录类型,介绍常用的几种类型,如下:SOA(start OF authority):起始授权记录,其中NAME字段必须是区域名称如ywnds.com.或“@”表示,Value字段必须是主DNS服务器的FQDN例如: @ IN SOA dns.ywnds.com. root.ywnds.com.其中,root.ywnds.com.是管理员邮箱,没有用@表示是因为@有特殊意义。这些参数的意义是辅助DNS用来更新主DNS的标志来更新数据,如:serial = 2913 (序列号=2913、这个序列号的作用是当辅域名服务器来复制这个文件的时候,如果号码增加了就复制)refresh = 10800 (3 hours) (刷新=10800秒、辅域名服务器每隔3小时查询一个主服务器)retry = 3600 (1 hour) (重试=3600秒、当辅域名服务试图在主服务器上查询更新时,而连接失败了,辅域名服务器每隔1小时访问主域名服务器)expire = 604800 (7 days) (到期=604800秒、辅域名服务器在向主服务更新失败后,7天后删除中的记录。)default TTL = 3600 (1 hour) (默认生存时间=3600秒、缓存服务器保存记录的时间是1小时。也就是告诉缓存服务器保存域的解析记录为1小时)NS(Name Server): 域名服务器,其中NAME字段必须是区域名称如ywnds.com.或“@”表示,Value字段是DNS服务器的FQDN(可以是相对名称)例如: @ IN NS dnsMX(mail eXchanger): 邮件交换器,其中NAME字段必须是区域名称,用来标识smtp服务器。Value字段有优先级(0-99,数字越小,级别越高)和FQDN。例如: @ IN MX 10 mailA(Address): 域名转IPv4地址(正向解析),其中NAME字段是FQDN(可以使用相对名称),Value字段是IP地址。例如: dns IN NS 192.168.60.10CNAME : 用来设置别名。
区域的类型
区域类型是用来定义一个此域的有效标识,格式如下:
zone "." IN { type hint; file "named.ca";};hint : 表示提示区域,一般根使用的区域。master : 主DNS服务器使用的区域标识。slave : 一般辅助DNS服务器使用的区域标识。forward : 转发区域使用的区域标识。
安装DNS
在Linux系统上提供DNS服务的软件有几款,其中最好的就是bind软件,目前Linux6上面已经是bind9.8了。直接安装以下RPM包即可。
[root@bogon ~]# yum install bind bind-utils bind-libs[root@bogon ~]# service iptables stop[root@bogon ~]# setenforce 0
解释各个包的意义:
bind-libs:提供的库文件bind-utils:提供的DNS客户端工具bind:服务器主包bind-devel:提供头文件和库文件做二次开发使用(可省略)bind-chroot:把DNS配置做根切换(可省略)bind-dyndb-ldap:用于把DNS区域文件存入到数据库或Ldap中(可省略)
Bind的文件
/etc/named.conf #配置文件/etc/rc.d/init.d/named #服务脚本/var/named/name.ca #根域区域配置文件/var/named/named.localhost #localhost区域配置文件/var/named/named.loopback #反向解析配置文件
高速缓存DNS
高速缓存DNS服务器:192.168.60.10
在DNS安装完成之后,其实就是一个高速缓存DNS服务器,但想要提供服务还需要调整一下监听地址和允许访问主机。下面介绍一下Bind主配置文件/etc/named.conf(权限640;root属主;named属组)。
[root@bogon ~]# cat /etc/named.confoptions { listen-on port 53 { any; }; #IPv4监听地址,改为“any”或注释掉都表示监听所有,默认是“127.0.0.1” listen-on-v6 port 53 { ::1; }; directory "/var/named"; #区域文件的默认存放位置 dump-file "/var/named/data/cache_dump.db"; #缓存文件 statistics-file "/var/named/data/named_stats.txt"; #记录了内存使用的统计信息 memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { any; }; #允许查询者,改为“any”或注释掉都表示允许所有,默认是“localhost” recursion yes; #允许给其它用户递归默认开启 allow-recursion { 192.168.60.0/24; }; #访问控制,只允许给192.168.60.0网段的用户递归。可省略。}; dnssec-enable yes;dnssec-validation yes;dnssec-lookaside auto;bindkeys-file "/etc/named.iscdlv.key";managed-keys-directory "/var/named/dynamic"; #定义日志(由于DNS查询太频繁尽量不要开启日志)logging {channel default_debug {file "data/named.run";severity dynamic;};}; #默认DNS根域文件zone "." IN { type hint; file "named.ca";}; #包含文件include "/etc/named.rfc1912.zones";//include "/etc/named.root.key"; #在做实验时都把此文件给注释掉,不然不影响实验正常结果。默认是开启的。[root@bogon ~]# service named start[root@bogon ~]# dig -t A www.baidu.com @192.168.60.10#测试高速缓存服务器(DNS服务器必须能上网)
正向解析DNS
在高速缓存DNS服务器的基础上做正向解析DNS服务器
在/etc/named.conf文件中添加正向解析区域
[root@bogon ~]# vim /etc/named.confzone "ywnds.com" IN { type master; file "ywnds"; allow-transfer { none; };};
在/var/named/下添加正向区域文件
[root@bogon ~]# vim /var/named/ywnds$TTL 1D@ IN SOA dns.ywnds.com. root.ywnds.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum@ IN NS dnsdns IN A 192.168.60.10@ IN MX 10 mailmail IN A 192.168.60.100www IN A 192.168.60.200[root@bogon ~]# chown root:named /var/named/ywnds
dig验证
反正解析DNS
在/etc/named.conf文件中添加正向解析区域
[root@bogon ~]# vim /etc/named.confzone "60.168.192.in-addr.arpa" IN { type master; file "ywnds.com"; allow-transfer { none; };};
在/var/named/下添加反向区域文件
[root@bogon ~]# vim /var/named/ywnds$TTL 1D@ IN SOA dns.ywnds.com. root.ywnds.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum IN NS dns.ywnds.com.200 IN PTR www.ywnds.com.100 IN PTR mail.ywnds.com.[root@bogon ~]# chown root:named /var/named/ywnds
PS: 反向解析必须要写FQDN
验证
[root@bogon ~]# dig -x 192.168.60.200 @192.168.60.
以上就是“DNS服务器的正反向区域实例分析”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网行业资讯频道。