DNS服务的安装

蹲街弑〆低调 提交于 2019-12-01 07:26:41

DNS服务器原理及配置

域名讲解

  • www.baidu.com 完整的域名,通常.来进行分割三个部分;www是主机名,baidu是域名,com是类型
  • 主机名 + 域名 + 类型 构成完整的域名
DNS服务器分为以下几种:
- "." :完整网址中最后的那个 ".",代表DNS的根服务器,根服务器是DNS服务器中最上层的服务器,分布在全球,其中保存着该区域的所有类型的DNS服务器的ip地址
- com:是一个DNS类型
- baidu.com:baidu为域名,是com的下级dns服务器,里面保存着域名为baidu.com的所有主机对应的ip地址

DNS服务器的两种查询模式:
- 递归查询:到一个dns服务器查询到结果后就将结果返回给查询者,查询者再去查询别的DNS服务器,一次次的查询知道返回结果
- 循环查询:查询者向一个DNS服务器发起查询后由这个DNS服务器去查询别的服务器A,A又去查询服务器B,回到找到结果,然后返回给B,B返回给A,A在返回查询者
概念
  • DNS:Domain Name System 域名解析系统,作为域名和ip地址相互映射的一个分布式数据库,能够使得用户可以方便的访问互联网的过程称为域名解析
  • DNS协议运行在UDP协议之上,使用端口号为53.
  • 功能:每个ip地址都有一个主机名,主机名由一个或多个字符串组成,字符串之间用小数点隔开。
DNS映射方式
  • 静态映射:每台上都配置主机到IP地址的映射,各设备独立维护自己的映射表,而且只供本设备使用。
  • 动态映射:建立一套域名解析系统(DNS),只在专门的DNS服务器配置主机到IP地址的映射,网络上使用主机名通信的设备,需要在DNS服务器上查询主机对应的IP地址,通过主机名最终得到该主机对应的IP地址过程称为域名解析。
DNS常用资源记录类型
  • A:地址,此记录列出特定主机名的IP地址,是名称解析的重要记录
  • CNAME:标准名称,此记录指定标准主机名的别名
  • MX:邮件交换服务器,此记录列出了负责接收到域中的电子邮件的主机
  • NS:名称服务器,此记录指定负责给定区域的名称服务器
DNS服务器类型
  • 缓存服务器:缓存dns信息,提供服务给用户查询,不能自定义域名配置进行解析
  • 主DNS服务器:负责解析本地客户端请求
  • 辅助DNS服务器:辅助服务器的区域数据都是从主服务器复制而来,其数据都是只读的
dig命令详解
  • 语法:dig -t 资源记录类型 名称 @server-ip
  • 工作机制:不加@server-ip,根据/etc/resolv.conf配置的解析文件类查询
  • 加@server-ip:根据指定的DNS服务器来解析,绕过了本地解析库设置的DNS服务器
常用命令组合
dig -x IP @server-ip  查询反向解析
dig -t 资源记录类型 名称 trace  追踪解析的过程

DNS服务器的搭建

# DNS服务器安装bind、bind-chroot、bind-utils;bind-chroot会生成一个伪根目录
# yum install -y bind bind-utils bind-chroot 

# 编辑配置文件/etc/named.conf
# vim /etc/named.conf
options {
//      listen-on port 53 { 127.0.0.1; };   #注释此行 //也可修改为dns服务器的ip地址或者any
//      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";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
//      allow-query     { localhost; };      #注释此行  //也可设置为any

# 启动named服务
# systemctl start named
# systemctl enable named 
# netstat -ntlp #查看是否启动

# 编辑区域配置文件
# 文件位置: /etc/named.rfc1912.zones
# vim /etc/named.rfc1912.zones
新建区域:
# 配置正向解析
zone "dong.com" IN {
      type master;
      file "dong.com.zone";  
};
# 配置反向解析;反向解析的区域名称:reverseIP.in-add.arpa
zone "1.168.192.in-addr.arpa" IN {
      type master;
      file "1.168.192.zone";
};

# 检查配置文件的语法
# named-checkoutconf /etc/named.conf
# named-checkoutzone zonename filename 


# 创建区域数据文件
# cp -p /var/named/named.localhost dong.com.zone #复制模板文件
# cd /var/named/

# 正向解析配置
# vim dong.com.zone
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        IN   NS      @
        IN   A       192.168.1.10
www     IN   A       192.168.1.10
文件详解:
SOA是start Of Authority开始验证的意思,与域有关,后面接的7个参数及含义
1>master DNS服务器主机名,即在这个域中哪个DNS作为主服务器
2>管理员的email,即出现问题可给管理员发送邮件
3>序号,这个序号代表数据库档案的陈旧,序号越大,代表越新
4>刷新频率 refresh,即slave向master要求数据更新的频率
5>失败重新尝试时间 retry,如果因为某些因素,导致slave无法对master达成联机,那么在多久的时间内,salve会尝试重新联机到master
6>失效时间 expire,如果一直失败尝试时间,持续联机到达这个设定值时,那么slave将不在继续尝试联机
存活时间minimum ttl,如果在这个数据库zone file中,每笔记录都没有显性设定ttl快取时间的话,那么就以这个值为主 
区域配置文件格式:
[名称] [TTL] [网络类型] 资源记录类型 数据
名称:指定资源记录引用的对象名,可以是主机名,也可以是域名。对象名可以是相对名称也可以是完整名称。完整名称必须以点结尾。当前域名为google,则表示www主机时,完整名称为www.google.com,相对名称为www
TTL:指定资源记录存在缓存中的时间,单位为秒。若省略,则使用文件开始的TTL所定义的时间
网络类型:常用的IN资源记录类型:SOA、NS、A、PTR、MX、CNAME;一般情况下SOA记录第一行,NS记录第二行,接着MX记录。
通常用SOA记录@,表示当前域

# vim /var/named/1.168.192.zone
$TTL 1D
@       IN SOA  dong.com. admin.dong.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
       IN NS  dong.com.
10     IN PTR dong.com.

# 重启dns服务
# systemctl restart named 
# 添加防火墙
# firewall-cmd --add-service=dns --permanent 
# firewall-cmd --reload 
# firewall-cmd --list-all

# 使用命令解析
# nslookup www.dong.com
# dig -t A www.dong.com @192.168.1.10

DNS服务器配置总结

  • 每个DNS服务器必须要有一个对应的NS资源记录
  • 创建slave的时候,其配置文件类型必须是type slave,必须制定主服务器的IP地址
  • 可以使用 dig -t axfr test.com @server_ip 从主DNS服务器拉取所解析库资源记录
  • 主从同步完成后,将自动在slave服务器上的slave/目录下生成zone文件,这些区域文件是从主DNS同步过来的,一般只读
  • 在主DNS上修改区域文件时,必须将SOA记录的serial加1因为slave是通过serial值进行判断更新的
  • DNS的日志默认保存在/var/log/message文件中
  • DNS解析依赖于解析库
  • 正向解析里面没有PTR记录,反向记录库里面不需要A 、MX 和CNAME记录

区域传送原理

区域传送
  • dns从服务器是容错设计,一旦dns主服务出现故障或因负载太重无法及时响应客户机请求,从服务器将挺身而出代理主服务器。从服务器的区域数据都是从主服务器复制而来的,因此从服务器的数据都是只读的。
  • slave从master复制区域数据的过程叫做区域传送,区域传送使用的TCP的53端口
  • 区域传送的类型:完全区域传送(AXFR) 增量区域传送(IXFR)
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!