dns服务器架构改造 服务器dns修改
域名
域名是用一串用点分开的字符串来表示的internet上的某一台或者一组计算机的名称,由于ipv4,ipv6地址很难记忆,我们在访问互联网时,一般用域名加主机名来进行访问,例如:www.google.com,这个后面省略了点(.),完整的格式应该是www.google.com.,走后面的点表示根域,.com为一级域,.google为二级域,www表示这个域中的某一台主机。我们在使用互联网时,要使用ip地址才能访问某一台主机,DNS服务器就为我们提供这个解析服务,将域名解析成ip(正向解析),也可将ip解析为域名(反向解析)。
注意:域名解析通常有两种方式,一种是/etc/hosts文件中的IP地址和域名的直接映射;一种是通过dns服务器来解析,同一个域名默认是先读取hosts文件来解析,如其中无此记录,再转向dns服务器请求解析,两种解析方式的优先级别在/etc/nsswitch.conf中定义:
DNS
DNS(Domain Name System)的应用程序位bind,监听在TCP/UDP的53号端口,下面就介绍dns的安装配置:
主配置文件:
/etc/named.conf #主配置文件,里面include了下面2个文件
/etc/named.rfc1912.zones #一般除根之外的区域文件定义都在这里完成
/etc/named.root.key
/etc/rc.d/init.d/named #服务启动脚本,在源码安装时,这个文件没有,需要自己手动编写
/etc/rndc.conf #域名服务远程控制工具的配置文件
/etc/rndc.key #域名服务远程控制工具的密钥控制文件
/usr/sbin/named #主程序
/usr/sbin/named-checkconf #检查/etc/named.conf配置文件的工具
/usr/sbin/named-checkzone #检查区域配置文件的工具
/usr/sbin/rndc #域名服务远程控制工具主程序
/usr/sbin/rndc-confgen #域名服务远程控制工具的密钥生成工具
主配置文件 /etc/named.conf :
配置完成后启动named服务service named start,当前服务器不负责任何域名的解析,是一台DNS缓存服务器。下面介绍区域文件的配置,如果需要反向解析,还需要配置反向区域文件,这些区域文件都需要放置在/etc/named.conf中directory参数指定的目录下(默认是/var/named/目录下)。
DNS服务器中域名与IP地址相互转换的映射信息以文本形式存储在区域文件中,每一个区域文件对应一个域名的解析,当然如果需要反解,还需要一个对应的反向区域文件。
先在/etc/named.rfc1912.zones中定义区域:
DNS服务器中域名与ip地址的映射信息以文本文件的形式存在于区域文件中,每一行为一个对应关系,称为一个资源记录(RR Resource recorde),资源记录定义格式:
[name] [ttl] IN type value
name #根据资源类型的不同,取值也不同,取值包括:FQDN(全称域名),当前区域名称(简写为@),也
#可不写(与上一条资源记录的name值相同),根域为"."。
ttl #指定缓存时长,可以不写。可以直接在首行指定$TTL 1800,下面不写,就默认这个值。
IN #固定格式。
value #这个字段的取值也资源记录类型有关
type #资源记录类型
type有下面几个值:
SOA #这个区域的信息汇总,每个区域文件必须包含一个SOA记录,并且必须是第一条记录,这条记
#录中指明了这个区域的主DNS服务器及系统管理员邮箱等。
NS #用于标识负责解析本区域的DNS服务器,如果主从服务器有多个,每一个都需要标明。
MX #用于标识邮件服务器。
A #A记录,主机名至IP地址的映射,正向解析。
AAAA #ipv6主机名至IP地址的映射。
CNAME #别名记录,用于定义A记录的别名。
PTR #IP地址至主机名的记录,反向解析。
这里有2点需要注意:
1、对区域文件改动之后,serial number都需要加1,serial number变动之后,本机的DNS程序会通知从DNS服务器过来同步对应的区域文件。在这个文件中定义了多少条NS记录,程序就回根据这些记录通知指定的DNS从服务器,若没有定义,则不会通知
2、在反向解析文件中,没有mx(邮件服务器)记录,SOA和NS记录跟正向解析文件中的一致,其中的A级记录都转为PTR记录,CNAME(别名)无需反解
SOA记录:
NS记录:
MX记录:
A记录:
cname记录:
PDR记录:
完成配置之后最好用bind软件包提供的这两个工具检查一下:
1)named-checkconf #检查配置信息语法错误(/etc/named.conf),或用service named configtest(这个除了检查/etc/named.conf配置文件,也可以检查各区域文件,但是centOS7好像没有),执行命令之后若没有返回结果,则说明配置正确。
2)named-checkzone #检查区域文件是否配置正确。
例如:named-checkzone “localhost” /var/named/named.localhost
#localhost指区域名,/var/named/named.localhost对应的域的解析库文件。输入指令之后若返回OK,则表示配置正确。
最后修改一下区域解析文件的属组和权限:
然后即可启动服务service named start。
客户端测试工具
下面介绍几款客户端的测试工具,在DNS服务器或客户端网络出现故障时,常常使用这些工具来排除故障。
1)host
格式:host -t RRType NAME [SERVER]
-t RRType #指定资源记录类型
NAME #需要解析的主机名或IP地址
SERVER #指定用于解析的DNS服务器
得到解析结果192.168.0.5!
2)nslookup (交互式DNS查询客户端查询命令)
用法:
nslookup
>service x.x.x.x
>set type{A|NS|MX}
>name
3)dig
格式:dig -t type name @server
-t type #指定资源记录类型
NAME #需要解析的主机名或IP地址
@SERVER #指定用于解析的DNS服务器
+trace #开启dns查询跟踪
+notrace #关闭dns查询跟踪
+recurse #开启dns递归查询
+norecurse #关闭dns递归查询
类型可使用:AXFR,AXFR:完全区域传送(测试完全区域传送是否能够正常运行),
例如: dig -t AXFR 小小.com @192.168.0.165
dig -x ip @servier #通过-x来指定反解解析(注意:不是-t PTR)
可用上述介绍的几款工具对自己搭建的DNS服务器进行测试!!!
再介绍一款DNS的控制工具:rndc,rndc是一款远程控制工具,但是全程控制的话不安全,一般仅在本地只用。
rndc命令[name server control utility](可以通过rndc-confgen生成rndc的主配置文件):
reload [zone] #重新载入某个区域文件,用于区域文件的更新
reconfig #重读配置文件
flush #flushes the server's cache 用于缓存过期清理
status #查看服务器状态
转载于:https://blog.皇冠云.com/ljbaby/1661203