DNS

1.DNS工作原理

  • DNS服务器的功能
    – 正向解析:根据注册的域名查找其对应的IP地址
    – 反向解析:根据IP地址查找对应的注册域名,不常用

  • DNS服务器的分类: 一级DNS服务器 二级DNS服务器 三级DNS服务器

  • 所有的域名都要以点结尾
    根域名: .
    一级域名: .cn .us .tw .hk .jp .kr …
    二级域名: .com.cn .net.cn .org.cn …
    三级域名: nb.com.cn haha.com.cn xixi.com.cn hehe.com.cn

  • 完全合格的主机名(FQDN): 主机头部+注册域名
    Full Qualified Domain Name,完全合格主机名

2.BIND域名服务

• BIND(Berkeley Internet Name Daemon)
– 伯克利 Internet 域名服务
– 官方站点:https://www.isc.org/
bind #域名服务包
bind-chroot #提供虚拟根支持,牢笼政策

– 系统服务:named
– 默认端口:TCP/UDP 53
– 运行时的虚拟根环境:/var/named/chroot/

• 主配置文件:/etc/named.conf #设置本DNS服务器负责解析的域名
• 地址库文件:/var/named/ #主机名与IP地址的对应关系

3.配置DNS服务

1)安装软件包

  yum -y install bind-chroot bind

2)修改主配置文件

 cp /etc/named.conf   /etc/named.bak    #备份原文件
 vim /etc/named.conf
     options {
         directory "/var/named";       #指定地址库文件存放的路径
     };
     zone "tedu.cn" IN {          #指定本机负责的域名
         type master;           #指定本机为主DNS服务器
         file "tedu.cn.zone";      #指定地址库文件名称
     };

3)建立地址库文件

  • DNS服务器bind程序会以named用户的身份进行运行,必须保证named用户有读取权限,所有的域名都必须以点作为结尾,如果不以点作为结尾,那么自动补全本地址库负责的域名
 cd /var/named/
 cp -p named.localhost tedu.cn.zone     #-p:权限不变进行复制 
 vim tedu.cn.zone
      tedu.cn.    NS    svr7        #声明DNS服务器的主机名
      svr7          A      192.168.4.7         #声明DNS服务器的IP地址
      www        A       1.1.1.1         #域名解析记录
      ftp            A      2.2.2.2       #域名解析记录

4)重启named服务

  systemctl restart named
  systemctl enable named 

4.服务端

1)指定DNS服务器地址

 echo 'nameserver 192.168.4.7' >> /etc/resolv.conf

2)验证域名解析

nslookup www.tedu.cn
  #主机名映射文件:/etc/hosts 直接为本机提供域名解析 最高优先级

5.特殊解析

1)DNS轮询
• 基于DNS的站点负载均衡
– 一个域名 —> 多个不同IP地址
– 每个IP提供镜像服务内容

2)泛域名解析

   vim /var/named/tedu.cn.zone 
         tedu.cn.      NS    svr7
         svr7          A     192.168.4.7
         *             A     1.2.3.4                     

3)解析记录的别名

   tedu.cn.      NS            svr7
   svr7          A             192.168.4.7
   ftp           A             2.2.2.2
   tts           CNAME         ftp                 

6.DNS服务器资源解析记录有哪些类型?

NS:声明DNS服务器解析记录
A:正向地址解析记录
CNAME:解析记录的别名
反向

7.子域授权

声明子域的DNS服务器

   vim /var/named/qq.com.zone 
        qq.com.         NS      svr7
        bj.qq.com.      NS      pc207
        svr7            A       192.168.4.7
        pc207           A       192.168.4.207

8.递归解析

  • 客户端发送请求给主DNS服务器,主DNS服务与其他DNS服务交流,最终将解析结果带回来的过程
 options {
        directory "/var/named";
        recursion no;             #关闭递归解析
   };

9.迭代解析

  • 客户端发送请求给主DNS服务器,主DNS服务告知下一个服务器IP地址

10.缓存DNS

需要服务器可以访问公共DNS

vim /etc/named.conf
	options {
	forwarders { 202.106.0.20; };    #注意空格
	};

11.主从DNS服务器

1)主服务器
a.修改主配置文件,授权从服务器的IP地址(允许谁可以备份我的数据)

  vim /etc/named.conf
       options {
            directory "/var/named";
            allow-transfer { 192.168.4.207; };
       };

b.修改地址库文件,声明从服务器的存在

  vim /var/named/tedu.cn.zone 
         tedu.cn.       NS      svr7
         tedu.cn.       NS      pc207
         svr7           A       192.168.4.7
         pc207          A       192.168.4.207

c.重启

2)从服务器

  vim /etc/named.conf
     zone "tedu.cn" IN {
           type slave;      #类型为从服务器
           file "/var/named/slaves/tedu.cn.slave";      #同步的数据,存放路径    存放路径要求named用户有写入权限
           masters { 192.168.4.7; };      #主DNS服务器为192.168.4.7
     };

3)主从的数据同步

2019111901 ; serial     #数据版本号,由10个数字组成,越大越新 
   1D           ; refresh      #主从同步时间的间隔
   1H           ; retry        #失效后主从同步时间的间隔
   1W          ; expire        #失效时间
   3H )        ; minimum   #失败记录记忆的时间
   要使更新数据同步:版本号增加

12.Split分离解析

1)作用:针对不同的客户机就近提供服务器
• 当收到客户机的DNS查询请求的时候
– 能够区分客户机的来源地址
– 为不同类别的客户机提供不同的解析结果(IP地址)

2)BIND的view视图
• 根据源地址集合将客户机分类
– 不同客户机获得不同结果(待遇有差别)
– 分类要合理,每一个客户端都要找到自己的类别
– 分类匹配原则:由上到下进行匹配,匹配及停止

3)配置 vim /etc/named.conf

  view "名字" {
     match-clients { 192.168.4.207; };     
     zone "tedu.cn" IN {
       type master;
       file "地址库2";
  }; };
  view "other" {      #any为其他,来源ip不满足以上view时,使用此解析
     match-clients { any; };     
     zone "tedu.cn" IN {
       type master;
       file "地址库2";
  }; };

多区域的分离解析:

  • 每一个view中,zone的个数必须一致
  • 每一个view中,zone负责的域名必须一致

4)acl地址列表,类似于变量作用

  • 为大批量的客户机地址建立列表
  • 调用时指定列表名即可
  acl "test" { 192.168.4.207; 192.168.4.100; 192.168.4.200; 192.168.7.0/24; };   
    #写入option内,'test'为名字
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值