一、DNS的基本知识
   我们都知道,网络通信中,数据链路等使用的地址是MAC地址。网络层使用的是IP地址,传输层使用的地址是端口号,它们各有各的识别方式。而和用户关系最密切的就是IP地址,每个入网的(不论是Internet或Intranet)计算机都必须有自己的IP地址,这样才可保证信息的正确传递。但IP地址是数字构成的,非常难与记忆和表达他的实际用途,所以人们用形象的域名代替IP,方便交流和记忆,但需要注意的是,网络通信中数据包的传输是靠IP地址进行的。也就是说,当www.syd.com向www1.syd.com发送信息的时候,首先必须将自己的和对方的域名转化为实际的IP地址,并填写在数据包的头部,才进行数据的传输。而完成域名到IP或IP到域名的翻译(解析)的软件就是DNS服务系统。DNS服务系统必然要安装在某个计算机上,这个计算机就是所谓为的DNS服务器。
  目前为止,实现这种域名解析的方法主要有三种:
  1)hosts文件,但要求所有互相解析的机器必须都配置
  1)NIS (SUN的技术)集中管理域名,只适合局域网,原因大家自己想
  3)DNS 实现域名的层次化,分布式管理,目前大部分都是这种方式
DNS服务的配置比较难,而且可能需要ISP的支持,DNS也是各种网络应用服务的基础,例如网站,邮件。。。都需要域名的支持,而且有了DNS,IP的移植就方便多了。
  二、Linux下配置DNS服务器的条件
   目前的各种Linux中都提供了实现DNS服务的软件,而且默认大部分都是直接安装的(这与Linux主要面向服务领域的宗旨是分不开的)。Linux中的DNS服务器软件叫bind,目前是版本9吧.它的管理程序叫named(这里的d表示守护进程,也即Windows中的服务)
   1)检查是否安装DNS服务软件
    #rpm -ql bind
   如果没有安装,可以添加:
   #rpm -ivh *bind*.rpm(RH9的第一张)
   #rpm -ivh *nameservere*.rpm((RH9的第二张))
  
  三、DNS服务器组成和配置方式
   DNS服务系统采用C/S结构,普通用户的机器是C,提供DNS解析服务的是S,客户端的配置相当简单,只需要在/etc/resolv.conf中添加DNS服务器的IP就可以了(最多三个),格式如下:  
   nameserver   172.16.0.3
   nameserver   10.8.10.244 (表示由这些机器完成域名到IP的翻译)
  (注意,实验中最好将自己的DNS服务器IP放在前面,否则可能测试失败,但上网速度要慢些,为了实验,值得!)
   DNS服务器端的配置主要包括主配置文件和区域文件。
   主配置文件:/etc/named.conf 完成区域的声名和全局配置(如子域声名,访问控制等等)
   区域文件(默认在/var/named下),文件名与主配置文件中声名的一样,主要完成DNS资源记录(包括SOA,MX,A,NS,CNAME等等),下面的配置文件中详细说明。

====================================================================
                       下面的内容是实现过程
=====================================================================
  四、文本配置的实现
   1.配置规划
    为了大家能够容易看懂,这里我先把我实现的设想写出来:
   我在自己的机器(512MB,80GB,1.7GHz,64MB Vcard)上安装了两个RH AS 3系统,这样我总共有3台机器进行试验。我的目的是在两个Linux系统中进行试验,实现域名解析和子域名。
   我要实现的域是syd168.com,域中包含的机器有:www,bbs,ftp,mai,ssl
它们分别用于完成网站,BBS,FTP,电子邮件和电子商务站点,而且都在一个机器上(172.16.0.3),实际中常常在不同的机器上。
   另外,我计划实现syd168.com与的子域sub.syd168.com,子域有它自己的主机解析记录(www,mail,ftp,ssl...),并跨网段。
   提示,如果在一个机器上,各种服务对应到不同的域名要用到虚拟主机技术,以后我会发布它们的实现方法,其实这里有很多相关资料的。
   RH AS1:
     IP:172.16.0.3/16    
     网关:172.16.0.2  
     DNS客户配置172.16.0.3
   RH AS2:
     IP:172.16.0.4/16    
     网关:172.16.0.2   
     DNS客户配置172.16.0.4

   1.配置主配置文件
      当安装完Bind之后,默认产生主配置文件/etc/named.conf
     #vi /etc/named.conf 其中加入如下内容

**********************/etc/named.conf**************************
      options  {
    
    directory "/var/named";  //区域文件的存放位置
    forwarders {10.8.10.244;};
          //allow-query {172.16.0.0/16};
          //allow-transfer {172.16.0.0/16;};
          //forward  only;
        };
   controls {
    inet 122.0.0.1    allow { localhost;          
           172.16.0.3;172.16.0.4;} keys { rndckey; };
         };

  zone "." IN {
    type hint;
    file "named.ca";
   };
   zone "localhost" IN {
    type master;
    file "localhost.zone";
    allow-update { none; };
   };
zone "0.0.127.in-addr.arpa" IN {
    type master;
    file "localhost.arpa";
    allow-update { none; };
};

//=====================新加入的内容=====================
zone "syd168.com" IN {   //要实现syd168.com域
    type master;  //要实现的是主域
    file "syd168.com.zone";//主域的记录文件(好记的名字)存放在/var/named下
};
zone "0.16.172.in-addr.arpa" IN {  //syd168.com的反向解析区域
    type master;            //类型是主要区域
    file "syd168.com.arpa"; //反向区域记录的存放文件(好记的名字),位置同上
};
//=====================新加入内容结束=====================

include "/etc/rndc.key";
   

   2.建立两个区域文件/var/named下
    1)#vi /var/named/syd168.com.zone
  

//=============正向区域文件/var/named/syd168.com.zone=============
     
   $TTL    2h   
syd168.com. IN SOA    www.syd168.com. master.syd168.com. (   //最左边的syd168.com可以简化为@,  后面依次为 IN SOA  主DNS服务器域名  DNS服务器管理员邮件
      20040730    ;serial number  //区域序列号,当修改时要增加,否则从域可能不一致!
      2h        ;refresh timeout //从域刷新超时时间    
      40m        ;retry  refresh timeout //从域重试刷新时间
      1w        ;expire timeout //从域刷新失败并认为主域无效的时间
      2h        ;TTL time
    )
//以下每行都要靠左,即左侧不要留出空白
syd168.com.    IN    NS    www.syd168.com.  //表示syd168.com的域名由www.syd168.com(或IP)翻译

www        IN    A    172.16.0.3       //www.syd168.com对应的IP为172.16.0.3
www        IN    A    172.16.0.4       //www.syd168.com对应的IP为172.16.0.4,单域名多IP可实现负载均衡

ftp        IN    A    172.16.0.4     //左边也可以写为ftp.syd168.com. 注意!这时最后必须多个点,否则错误。
mail        IN    A    172.16.0.5     //全域名必须以点结束!
bbs        IN    A    172.16.0.6     //IN 表示Internet,A表示Address
test        IN    A    172.16.0.7    //注意 ,这些IP必须可连同,否则徒劳!
ssl        IN    A    172.16.0.3

syd168.com.    IN    MX    10    mail.syd168.com.   //表示发往syd168.com域的邮件由mail.syd168.com主机转发,MX表示mail exchange

//以下两行是实现子域的方法,要实现的子域是syd168.com的子域sub.syd168.com,父域中给出指向子域的服务器地址
sub        IN    NS    www.sub.syd168.com.      //表示后缀为sub.syd168.com的域名由www.sub.syd168.com负责翻译,NS 表示Name Server
www.sub    IN    A    172.16.1.3               //表明www.sub主机在本域中的主机解析为172.16.1.3

//以下是主机的别名,我一般不设,因为上面已经是标准名了,要别名干什么,如果需要也可直接设置主机名
www1        IN    CNAME    www
ftp1        IN    CNAME    ftp
bbs1        IN    CNAME    bbs
mail1        IN    CNAME    mail
test1        IN    CNAME    test
ssl1        IN    CNAME    ssl1

//=============正向区域文件结束=============

//=============反向区域文件/var/named/syd168.com.arpa=============

  $TTL    2h
@    IN    SOA    www.syd168.com.    master.syd168.com. (
                  20040730    ;serial number
                  2h        ;refresh timeout    
                  40m        ;retry  refresh timeout
                  1w        ;expire timeout
                  2h        ;TTL time
                )
    IN    NS    www.syd168.com.  //注意本行左侧需要有空格,或者填入"区域名.",即0.16.172.in-addr.arpa.

3    IN    PTR    www.syd168.com.    表示 www.syd168.com对应的主机IP为172.16.0.3(反向解析)
4    IN    PTR    ftp.syd168.com.
5    IN    PTR    mail.syd168.com.
6    IN    PTR    bbs.syd168.com.
7    IN    PTR    test.syd168.com.

//=============反向区域文件结束=============

   3.测试与调试配置
    修改完成后,保存推出
    1)#service named start  //启动named服务(提供DNS服务的进程),常见的错误是缺少.或;或左边多余的空格,排除直道本命令没有错误
    2)#named   //我的虚拟机必须这样才可解析,正常机器大概不需要,并且我在/etc/rc.d/rc.local中加入了运行named的行
    3)#named -g 检查是否有错误,一般会很清楚,很多人说服务运行正常,但无法解析,除了/etc/resolv.conf中没有添加DNS服务器的IP,大多错误都可以通过这个命令排除
    4)#host www.syd168.com   //测试是否成功? 如果成功,别的主机记录一般也没什么问题。host 可以用ping代替
    5)host 172.16.0.3 //测试反向解析
    6)host -t MX syd168.com  //测试邮件交换器
    7)host -t NS syd168.com  //测试域名服务器

    补充说明:#named -g 非常有用!反正我的所有DNS错误都是用它排除的。主要是直观,能给出出错的行。实质上是日志的更细显示
             如果本机测试没有问题,强烈建议在远程测试,开始一般都失败,为什么?因为你没有添加nameserver 172.16.0.3 到它的/etc/resolv.conf中。试试看?哈哈,原来如此简单!
             

  五、子域的实现
   1.子域规划
      其实,子域的实现上面都写出来了。这里也是重复。我要实现的实父域syd168.com的子域,什么意思啊?就是客户机在父域上查询(一般都这样)的时候,发现后缀包含子域的部分,就转到子域所在的服务器上查找,就这么简单。    
   2.子域的实现
       1)修改主域的区域文件,主机记录部分添加如下2行
       sub        IN    NS    www.sub.syd168.com.      //表示后缀为sub.syd168.com的域名由www.sub.syd168.com负责翻译,NS 表示Name Server
       www.sub    IN    A    172.16.1.3               //表明www.sub主机在本域中的主机解析为172.16.1.3
       2)在子域服务器上修改主配置文件和建立区域文件,方法和上面的一样,只是区域为sub.syd168.com,反向区域比较复杂,再说我马上要走了,,,时间。。。
       
   3.测试配置
     要测试子域,必须配置正确,根据子域的原理,客户在父域中查不到时才到子域查,所以测试的时候,测试机器上的DNS客户配置一定要去掉子域服务器的IP,否则您的测试是错误的!不可信的。只有证明了DNS查询是经由主域服务器再到子域服务器上的。

转载于:https://blog.51cto.com/guoyongyv123/302194

liunx下的DNS配置相关推荐

  1. debian系统dns服务器的配置,Debian下的DNS配置

    Rate this post 在root模式下 apt-get install bind9 安装bind9 安装完成后进入bind9配置目录 cd /etc/bind 上图是bind目录下所有dns配 ...

  2. Redhat linux9下安装DNS配置文档

    DNS的安装 1.所需系统资源 安装bind-9.2.1-16.i386.rpm及caching-nameserver-7.2-7.noarch.rpm 2. 配置文件:文件名及来源 /etc/nam ...

  3. mongoDB Liunx下安装及配置

    以下以ubuntu 16.04(64位)操作系统为例: 一.下载和安装 在ubuntu下安装mongodb可以使用 apt-get进行安装,也可以直接下载编译好的二进制文件进行安装.下面主要介绍使用二 ...

  4. Liunx下Nginx安装配置

    Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行.其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型 ...

  5. Linux中配置DNS出现的问题,完美解决liunx下dns配置重启失效的问题

    有时候能ping同ip地址,却ping不通域名,这就是dns没有配置的缘故. 但是DNS配置文件 /etc/resolv.conf 每次重启就会失效. 打开这个配置文件,发现有注释提示: Dynami ...

  6. linux下 DNS配置过程『罗斌原创』

    DNS配置过程 任务1:配置主DNS 1.检查是否安装了bind软件包,rpm -qa | grep bind 如果没有安装则挂载第四张光盘, mount -t iso9660 /dev/cdrom ...

  7. linux下ping不通问题的说明与解决(DNS配置丢失)

    linux下ping不通问题的说明与解决(DNS配置丢失) 参考文章: (1)linux下ping不通问题的说明与解决(DNS配置丢失) (2)https://www.cnblogs.com/chou ...

  8. 在CentOS6.2下安装DNS服务软件Bind并快速配置简单实例

    [实践Ok]在CentOS6.2下安装DNS并快速配置实例,共八步,心路历程如下: 背景介绍: 在日常的开发中,往往会在测试机和外网的Http的Url实际接口是不一样的,在测试机一个Url地址,在外网 ...

  9. Linux下高速缓存DNS的配置

    一.DNS概述 权威dns: 存储并提供某区域(整个DNS域或DNS域的一部分)的实际数据. 非权威dns: 客户端通过其查找来自权威名称服务器的数据.递归名称服务器的类型包括 仅缓存名称服务器:仅用 ...

最新文章

  1. 2019上海车展展后报告(整车篇)
  2. Basic脚本解释器移植到STM32
  3. BZOJ 4827 [Hnoi2017]礼物 ——FFT
  4. SQL AVG() 函数
  5. 列表-列表的排序和反转
  6. iptables命令_程序员最有用的linux命令汇总
  7. 【Java数据结构与算法】第二章 单链表及简单面试题
  8. OpenMP变量的私有与共享
  9. IDEA Properties 文件乱码
  10. VS2013搭建wxWidgets开发环境
  11. 【微机原理笔记】第 4 章 - 8086 汇编语言程序设计
  12. Serv-U FTP - v15.3.1.155特别版
  13. 使用 Shiro 配合微信小程序或者app登录,做验权
  14. Micron:DDR2 SDRAM与SODIMM
  15. (一)验证微信公众平台
  16. webdriver和火狐浏览器历史版本下载
  17. IDEA 快捷键及修改
  18. (OpenCV+Python)--目标跟踪,背景分割器:KNN、MOG2和GMG
  19. simulink 脱离 matlab,Simulink软件不能脱离MATLAB环境而运行
  20. 51单片机——中断系统结构

热门文章

  1. React组件通信技巧
  2. 《Redis入门指南(第2版)》一3.2 字符串类型
  3. 博客园Markdown新建笔记
  4. 甲骨文推出全新Oracle Cloud at Customer
  5. 如何在Linux上从命令行嗅探HTTP流量
  6. char varchar nvarchar区别
  7. BCE或能成为BCH的一个侧链
  8. Elk5安装X-Pack
  9. CentOS_7 MongoDb安装使用
  10. 1Python进阶强化训练之装饰器使用技巧进阶