DNS服务器的功能

  – 正向解析:根据注册的域名查找其对应的IP地址

  – 反向解析:根据IP地址查找对应的注册域名(不常用)

  

  NS(声明DNS记录)
  A(正向解析记录)
  CNAME(解析记录别名)

安装软件

  bind            # 域名服务包

  bind-chroot      #提供虚拟根支持,牢笼政策

  默认端口:TCP/UDP 53

  主配置文件:/etc/named.conf               #负责设置本机负责解析的域名

  地址库文件:/var/named/                     #完整的主机名域IP对应关系

修改主配置文件

  cp  /etc/named.conf           /root/named.bak        #修改前先备份

  vim /etc/name.conf  

    options {

      directory "/var/named";      #指定地址库文件存放位置

    };

    zone "tedu.cn" IN {           #指定本机负责解析的域名
       type master;        #指定主DNS服务器
       file "tedu.cn.zone";      #指定创建地址库文件名称
    };

建立对应的地址库文件

    cp  -p  name.localhost tedu.cn.zone  # 权限不变拷贝 

    所有的域名都必须以点最为结尾
    如果没有以点结尾,默认补全地址库负责的域名
    # vim tedu.cn.zone
      tedu.cn.          NS    svr7                  #声明域名DNS服务器
      svr7      A      192.168.4.7      #DNS服务器地址解析记录
      www     A      1.1.1.1               #域名正向解析记录
      ftp      A      2.2.2.2               #域名正向解析记录

重启服务器

  systemctl restart named

客户端验证 

  客户端解析域名优先级:
  1./etc/hosts
  2./etc/resolv.conf
  3.交由本机127.0.0.1:53处理

    

  指定DNS服务器地址

  echo nameserver  dns服务器ip    > /etc/resolv.conf

DNS轮询

  • 基于DNS的站点负载均衡
   – 一个域名 ---> 多个不同IP地址

泛域名解析

  *     A  192.168.0.1

  任何域名都会解析到192.168.0.1

   

  有规律的泛域名解析 

    pc1.tedu.cn ------> 192.168.10.1
    pc2.tedu.cn ------> 192.168.10.2
    pc3.tedu.cn ------> 192.168.10.3
    pc4.tedu.cn ------> 192.168.10.4
    ........
    pc50.tedu.cn ------> 192.168.10.50

    内置函数: $GENERATE 起始-结束  制造连续范围的数字

    $GENERATE  1-50   pc$   A  192.168.10.$

解析记录别名CNAME

  #vim/named/

    baidu     CNAME      a.shifen

  # baidu 与 a.shifen 的解析结果一致

  

分离解析

view "nsd" {
  match-clients { 192.168.4.207; };
  zone "tedu.cn" IN {
    type master;
    file "tedu.cn.zone";--->192.168.4.100
  };
  zone "sina.com" IN {
    type master;
    file "sina.com.other";--->10.20.30.40
  };
};

view "abc" {
  match-clients { 192.168.4.208; };
  zone "tedu.cn" IN {
    type master;
    file "tedu.cn.other";--->1.2.3.4
  };
  zone "sina.com" IN {
    type master;
    file "sina.com.abc";--->192.168.4.120
  };
}; view "other" {
  match-clients { any; };
  zone "tedu.cn" IN {
    type master;
    file "tedu.cn.other";--->1.2.3.4
  };
  zone "sina.com" IN {
    type master;
    file "sina.com.other";--->10.20.30.40
  };
};

    

  

 

  

DNS服务基础的更多相关文章

  1. DNS服务基础原理介绍

    FQDN 全称域名 localhost(主机名或者是别名).localdomain(域名)    FQDN=主机名.域名 根域               . 顶级域名       .com   .n ...

  2. Bind DNS服务——基础知识

    Linux基础--Bind DNS服务 Part0 DNS简介 域名系统(英语:Domain Name System,缩写:DNS)是互联网的一项服务.它作为将域名和IP地址相互映射的一个分布式数据库 ...

  3. Linux:Day18(上) dns服务基础进阶

    DNS:Domain Name Service,协议(C/S,53/udp,53/tcp):应用层协议. BIND:Bekerley Internat Name Domain,ISC(www.isc. ...

  4. 1、DNS服务基础

    w'indows上名称解析目录: C:\Windows\System32\drivers\etc https://jocent.me/2017/06/18/dns-protocol-principle ...

  5. linux web服务基础知识,dns

    #web服务基础知识c/s 客户端/服务器b/s 浏览器/服务器 nginx   >   web  server  服务端浏览器  >    web  client  客户端 #dns解析 ...

  6. Linux基础服务——Bind DNS服务 Part2

    Linux基础服务--Bind DNS服务 Part2 DNS反向解析与区域传送 实验环境延续Part1的实验环境. 反向区域配置 正向解析是域名到IP地址的映射,反向解析则是IP地址到域名的解析,在 ...

  7. Linux基础服务——Bind DNS服务 Part1

    Linux基础服务--Bind DNS服务 Part1 DNS正向解析 实验环境: CentOS8.3.2011 IP地址:192.168.100.50 VMware虚拟环境 NAT网段 需要解析的区 ...

  8. #WEB安全基础 : HTTP协议 | 0x3 TCP三次握手和DNS服务

    TCP三次握手精准无误地把数据送达目标处,TCP协议把数据包送出去后,向对方确认是否成功发送,握手过程中使用了TCP的标志(flag)——SYN和ACK 请看图 若握手中断,TCP协议再次从同样顺序发 ...

  9. 【Linux】DNS服务-BIND基础配置(二)

    BIND简介 现在使用最为广泛的DNS服务器软件是BIND(Berkeley Internet Name Domain),最早有伯克利大学的一名学生编写,现在最新的版本是9,有ISC(Internet ...

随机推荐

  1. java动态更新枚举类

    工作中遇到需要对枚举类的值进行动态更新 手动改不现实也不方便 现记录下来方便以后学习使用 1.在工程utils包中添加动态更新枚举类得工具类(根据自己得项目,放到指定位置调用就可以) 2.一开始陷入了 ...

  2. 使用pycharm开发web——django2.1.5(一)入坑尝试第一步,基本搭建

    首先,接触python的人应该都会用pip 来安装需要的包吧(------>>>>)默认 在运行中使用python -m django --version来检查自己的djang ...

  3. springboot简易上传下载

    1.导入上传下载依赖: <dependency> <groupId>commons-fileupload</groupId> <artifactId>c ...

  4. [第二季ZYNQ] [南京米联]ZYNQ第二季更新完毕课程共计16节课

    ZYNQ第二季更新完毕课程共计16节课全部免费 [第二季ZYNQ]                                                                    ...

  5. getContextPath、getServletPath、getRequestURI、getRealPath、getRequestURL、getPathInfo();的区别

    <% out.println("getContextPath: "+request.getContextPath()+"<br/>"); ou ...

  6. Python 常用外部模块详解

    Python 的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承.Py ...

  7. 植物大战僵尸:查找植物叠加种植CALL

    实验目标:我们都知道植物大战僵尸游戏中植物是不可以叠加种植的,也就是一个格子只能种植一个植物,今天我们将实现一个格子里种植无限多的植物. 我们首先需要找到植物的种植CALL,然后在逐步测试观察功能之间 ...

  8. react的状态管理

    近两年前端技术的发展如火如荼,大量的前端项目都在使用或转向 Vue 和 React 的阵营, 由前端渲染页面的单页应用占比也越来越高,这就代表前端工作的复杂度也在直线上升,前端页面上展示的信息越来越多 ...

  9. react用高阶组件实现路由守卫

    react-router不像vue-router一样有很多钩子函数,可以做路由守卫.想实现路由守卫,可以用高阶组件来实现. @connect(state => ({ isLogin: state ...

  10. JS ES7

    指数运算符(幂) ** console.log(3 ** 2); //9 判断数组中包含 Array.prototype.includes(value) var arr1 = [1,2,'a','b' ...