Linux-B-进阶-第2章-DNS域名服务器


目录(持续更新)


基础-第0章-安装
基础-第1章-基本操作
基础-第2章-磁盘及文件系统管理
基础-第3章-获得帮助
基础-第4章-用户及权限基础
基础-第5章-网络基本配置
基础-第6章-管道,重定向及文本处理
基础-第7章-系统启动详解

进阶-第1章-日志服务
进阶-第2章-DNS域名服务器
进阶-第3章-FTP文件共享服务
进阶-第4章-NFS文件共享服务
进阶-第5章-SMB文件共享服务
进阶-第6章-WEB服务Apache篇
进阶-第7章-电子邮件服务
进阶-第8章-Linux服务基础及管理

高级-第1章-LVM逻辑卷
高级-第2章-高级权限ACL
高级-第3章-RAID提升速度及冗余
高级-第4章-高级网络-网卡绑定,子端口
高级-第5章-SELinux安全系统基础
高级-第6章-IPTable防火墙基础
高级-第7章-Linux远程管理-SSH、VNC


第2章 DNS域名服务器


第一节 DNS基础及域名系统架构
  • 域名
    IP地址难记,所以使用域名管理

          www.google.com  www.linuxprobe.com
    
      严格域名最后还有一个 "."  但一般不写
    
      域名分为三部分用“.”分割
    
          -类型 表示域名的类型
          -域名 域名城
          -主机名    该域中的某台主机名称
    
          www.    linuxcast.  net
          主机名   域名        类型
    
  • DNS

      每个域名代表一个IP,而DNS就是用来在IP与域名之间进行转换服务
    
          www.linuxcast.net   61.1.1.1
      DNS(Domain Name System)服务有DNS服务器提供
    
      
          1.本机PC访问www.linucast.net    ------------------->    DNS服务器 61.134.1.4
                      DNS请求
    
          2.DNS服务器 61.134.1.4     ------------------->    本机PC        
                      www.linucast.net=61.1.1.1
    
          3.本机PC访问61.1.1.1        ------------------->    www.linucast.net:61.1.1.1网站
    
  • DNS客户端

          日常使用支持计算机一般都是作为一个DNS客户端使用
          应用程序,服务,进程通过操作系统底层的功能发起对DNS服务器的查询对指定域名解析
    
          linux中一般只用系统底层提供的gethostbyname()功能进行域名解析
    
          解析可以基本基于以下几种方式:
    
              - 文件    (/etc/hosts,/etc/networks)指定域名与IP的匹配
              - DNS   (/etc/resolv.conf 目前已经能手动修改)指定DNS服务器    (改用/etc/sysconfig/network-scripts/ifcfg-eth0)
              - NIS       已淘汰 
    
          可以通过配置文件/ect/nsswitch.conf控制查询顺序
          hosts:files dns files就是指查询host文件
    
  • DNS专用查询命令

          命令host可以用进行DNS查询
    
              host www.bilibili.com
    
          命令dig用于进行DNS查询,输出较为详细的信息
    
              dig www.bilibili.com
    
          命令host,dig都不会使用/ect/nsswitch.conf的配置,只会通过/etc/resolv.conf进行DNS查询
    
      DNS查询
          DNS是树状结构,查询是根据域名从右到左查询,每一级有一个独立或多个服务器
    
          www.bilibili.com.
    
                  .               root DNS Server     根服务器(返回顶级域名服务器位置)
          com net org cn  gov ... Top Level Server    顶级域名服务器(返回授权服务器位置)
          bilibili                    Authoritative Server:bilibili.com   授权服务器(返回来源服务器位置)
          www mail    ftp ...         Resource Recaord:www.bilibili.com   来源服务器(返回网站服务位置)
    
          dig +trace www.bilibili.com (该命令+trace存疑)
    
  • DNS查询类型

          递归查询
    
          client  ---->   当地DNS服务器    <------->   "."
                  当地DNS服务器    <------->   "net"
                  当地DNS服务器    <------->   "bilibili.com"  
          client  <----   当地DNS服务器                        
    
          循环查询 逐级返回  每次消耗大量缓存
    
          client ---->    当地DNS服务器    ------->    "."
                  "."     ------->    "net"
                  "net"       ------->    "bilibili.com"                          
                  "net"       <-------    "bilibili.com"
                  "."     <-------    "net"
                  当地DNS服务器    <-------    "."
          client  <----   当地DNS服务器
    
          实际应用中两者都会使用
    
  • 资源记录

          在DNS上,信息通过一个叫资源里路的格式保存
          
          资源记录
    
              - NAME      名字
              - CLASS     通常是IN  (internet)
              - TYPE  类型  A为IPV4地址    AAAA为IPV6地址 CNAME别名,名称对等 MX为邮件记录
              - RDATA 信息内容
    
          例:
    
          NAME        CLASS   TYPE    RDATA
    
          www     IN  A   192.168.1.1
          mail        IN  A   192.168.1.2 
          server1     IN  CNAME   www
                  IN  MX 10   mail.bilibili.com
    
  • 资源记录类型

          DNS的资源记录可以记录很多类型的资源,不仅仅是IP地址,
          常见的资源记录 
          
          A       IPV4地址
          AAAA        IPV6地址
          MX      邮件记录
          CNAME       别名
          PTR     指针(逆向解析)
          SRV     服务资源
    
  • DNS服务器类型

          Primary DNS Server (Master)
          一个域的主服保存该域的zone配置文件,域内所有配置更改都在这里进行
          Secondary DNS Server (Slave)
          从主服务器抓取配置文件,作为主服务的冗余负载
          Caching only Server
          DNS服务器缓存服务不负责任和zone文件,仅仅依靠缓存为客户端提供服务,常用于负载均衡及加速访问使用
    
  • ZONE
    在DNS服中一个域用过一个zone文件保存该域信息

          zone文件格式标准化配置如下:
    
          STTL ID
          @IN SOA     @rname.invalid.(
                      0   ;serial     配置文件的修改次数
                      1D  ;refresh    刷新时间 1D就是1DAY
                      1H  ;retry      重试时间 1H即使1HOUR
                      1W  ;expire     
                      3H) ;minimum
              NS  @
              MX 10       mail.linuxcast.net      定义邮件服务
          www IN A    192.168.1.100           定义站点服位置
          mail    IN A    192.168.1.200           定义邮件服务位置
    
  • 高级查询

          dig -t mx qq.com
          dig -x www.bilibili.com
          dig -t soa bilibili.com
    

第二节 BIND服务基础及域主服务器配置
  • BIND

      现在使用的最广泛的DNS服务器软件BIND
      最早为伯克利大学学生编写
      现在最新为9
      
      BIND支持现今绝大多数OS
    
      BIND服务的名称为named
    
      我们可以通过以下命令安装BIND
    
          yum install -y bind bind-chroot bind-utils
      
      DNS默认使用UDP,TCP协议,默认使用端口53(domain),953(mdc)
    
  • BIND配置文件

          配置文件主要位置:
          
              /etc/named.conf -BIND服务主配置文件
          
              /var/named/ -zone文件
      
          如果安装了bind-chroot,BIND会被封装到一个伪根目录,配置文件的位置变为:
    
              /var/named/chroot/etc/named.conf
    
              /var/named/chroot/var/named/    
    
          chroot是通过相关巍峨见封装在一个伪根目录内,已达到安全防护的目的,
          一旦该程序被攻破,只能访问伪根目录的内容,而不是真实的根目录
    
  • BIND模板配置文件

          在不同于其他服务,BIND在安装后不会有任何预制的配置文件,
          但是在BIDN文档文件夹    (/usr/share/doc/bind-9.9.4)
          BIND为我们提供了配置文件模板,可以直接拷贝过来:
          
              cp -rv /usr/share/doc/bind-9.9.4/sample/ect/*  /var/named/chroot/etc/
              cp -rv /usr/share/doc/bind-9.9.4/sample/var/*  /var/named/chroot/var/
    
          示例中的主配置文件内容较多,
          实验环境下我们可以删减不需要的内容,配置named.conf
          最小化配置如下:
      
              options{
                  listen-on port 53   {127.0.0.1;};
                  directory       "/var/named";           
              };
          或者
              options{
                  directory       "/var/named";   
                  listen-on port 53   {127.0.0.1;};
                  listen-on-v6 port 53    {127.0.0.1;};       
              };
          
          注:ubuntu中该代码在named.conf.options文件中
    
  • 域主服务器配置

          一个域的主服务器是这个域的信息权威服务器,所有这个域的信息都是由域的主服务器控制,
          配置一个域的主服务器需要一下几个步骤
    
          1.在bind的主配置文件中添加该域的定义
      
          2.在/var/named/chroot/var/named中创建该域的zone信息
    
          3.编辑zone文件,添加需要的信息
    
          4.启动bind服务或使bind刷新配置
    
          5.使用host或dig命令检测域信息是否正常             
    
  • 配置域主服务器-1

          在bind的主配置文件中添加域bilibili.com的定义
    
          配置文件位置:
    
              /var/named/chroot/etc/named.conf
    
                  options {
                  directory "/var/named"; 
                  listen-on port 53   { 127.0.0.1; };
                  listen-on-v6 port 53    { ::1; };
                  };
    
    
          在主配置文件中添加一行域的zone定义:(ubuntu中代码参考在named.conf.default-zones文件)
    
              zone"bilibili.com"{
                  type master
                  file"bilibili.com.zone"     文件名可以随便,ubuntu中使用绝对路径形式(由于centos中上面的option已定义了查找目录)
              };
    
  • 配置域主服务器-2

          为定义的域添加zone配置文件
    
          zone文件位置
    
              /var/named/chroot/var/named/bilibili.com.zone
    
          zone文件内容
    
              zone文件内容比较复杂,手工输入很容易出错,所以一般使用默认的named.localhost配置文件作为模板
    
                  cp named.localhost bilibili.com.zone
    
              添加一个资源记录(RR)
    
                  IN MX 10    mail.bilibili.com
              www IN A    192.168.1.111
              mail    IN A    192.168.1.222
    
    
              确保配置文件都有读权限
    
  • 配置域主服务器-3

          1.启动bind服务或刷新配置
    
              service named start
              service named reload
    
          2.将本机的DNS配置指向本机
    
              /etc/resolv.conf    (debian系不能单纯修改该文件 需要修改网卡配置或者找到/etc/resolvconf/resolv.conf.d/base文件修改)
              nameserver 127.0.0.1
    
          3.使用命令host或dig验证DNS配置
    
              host    www.bilibili.com
              dig     www.bilibili.com    
    
  • 错误排查

      DNS语法复杂晦涩,容易出错,bind提供了语法检查命令
    
          命令named-checkconf 检查主配置文件
      
              named-checkconf /var/named/chroot/etc/named.conf
              无返回 则无错误
    
          命令named-checkzone 检查zone配置文件
              
              named-checkzone bilibili.com bilibili.com.zone
    

第三节 BIND服务从服务器与缓存服务器配置
  • 域从服务器

          一个域从服务器为了备份负载均衡使用,所有DNS信息由主服务器提供
          配置如下
    
          1.在bind的主配置文件爱你中添加该域的定义
    
          2.启动bind服务或者bind刷新配置
    
          3.查看域的zone文件是否正常抓到/var/named/slaves
    
          4.使用host或者dig命令检测域信息是否正常
    
  • 配置域从服务器-1

          在bind的主配置文件中添加从域bilibili.com的配置信息
    
          配置文件位置
    
              /var/named/chroot/etc/named.conf
    
          在主配置文件中添加一行域的zone定义
    
              zone"bilibili.com"{
                  type slave
                  masters{192.168.1.1;};
                  file"slaves/linuxcast.net.zone";
              };
    
  • 配置域从服务器-2

          1.重启bind服务或刷新配置
    
              service named start
              service named reload
    
          2.查看zone文件是否正常抓取下来
    
              vim /var/named/chroot/var/named/slaves/bilibili.com.zone
    
          3.将本机的DNS指向自己
    
              vim /etc/resolv.conf
    
                  nameserver 127.0.0.1
    
          4.使用命令host或dig验证DNS配置
    
              host    www.bilibili.com
              dig www.bilibili.com
    
  • 配置缓存服务器

          一个DNS服务可以既不是主也不是从服务
          接到DNS后缓存服务会递归查询解析,会将结果缓存
          这样的服务称为CACHING NAME SERVER
    
          通常在局域网中配置缓存是为了加速访问网络
    
          也可为缓存服务配置一个上游DNS服务器地址,缓存服务器可以给客户提供一个上游DNS的地址
    
              forwarders{218.0.0.1;} ;  (上游DNS服务器地址)
    
          也可以通过以下选项让服务器转发所有dns到forwarders服务器:
    
              forward only;
    
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 156,907评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,546评论 1 289
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,705评论 0 238
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,624评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,940评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,371评论 1 210
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,672评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,396评论 0 195
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,069评论 1 238
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,350评论 2 242
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,876评论 1 256
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,243评论 2 251
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,847评论 3 231
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,004评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,755评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,378评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,266评论 2 259

推荐阅读更多精彩内容