精华内容
下载资源
问答
  • DNS域名解析服务

    2021-04-27 15:15:43
    DNS域名解析服务DNSDNS的定义DNS系统的作用域名结构DNS服务器类型:构建DNS域名解析服务器步骤BIND软件安装BIND (Berkeley Internet Name Daemon)相关软件包BIND服务BIND服务器端程序BIND服务控制 DNS DNS的定义 DNS...

    DNS

    DNS的定义

    DNS是"域名系统"的英文缩写。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。
    DNS服务使用TCP和UDP的53端口,TCP的53端口用于连接DNS服务器,UDP的53端口用于解析DNS。
    每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。

    DNS系统的作用

    正向解析:根据域名查找对应的IP地址
    反向解析:根据IP地址查找对应的域名
    DNS系统的分布式数据结构
    在这里插入图片描述

    域名结构

    ●http:// www . sina .com. cn. /
    ●http:/l主机名.子域.二级域.J顶级域根域/
    ●树状结构最顶层称为根域,用".“表示,相应服务器称为根服务器,整个域名空间解析权都归根服务器所有,但根服务器无法承担庞大的负载,采用"委派"机制,在根域下设置了一些顶级域,然后将不同顶级域解析权分别委派给相应的顶级域服务器,如将com域的解析权委派给com域服务器,以后但凡根服务器收到以com结尾的域名解析请求,都会转发给com域服务器,同样道理,为了减轻顶级域的压力,又下设了若干二级域,二级域又下设三级域或主机。
    ●根域:位于域名空间最顶层,一般用一个”.”表示
    ●顶级域:一般代表一种类型的组织机构或国家地区,如.net(网络供应商)、.com (工商企业)、.org (团体组织)、.edu(教育机构)、.gov(政府部门)、.cn (中国国家域名)
    ●二级域:用来标明顶级域内的一个特定的组织,国家顶级域下面的二级域名由国家网络部门统一管理;
    如.cn顶级域名下面设置的二级域名.com.cn、.net.cn、.edu.cn
    ●子域:二级域下所创建的各级域统称为子域,各个组织或用户可以自由申请注册自己的域名
    ●主机:主机位于域名空间最下层,就是一台具体的计算机,如www、mail都是具体的计算机名字,可www.sina.com.cn.mail.sina.com.cn.来表示,这种表示方式称为 FgDM(完全合格域名),也是这台主机在域名中的全名
    ●DNS域名解析方式:
    正向解析:根据域名查找对应的IP地址
    反向解析:根据1P地址查找对应的域名
    ●DNS如何解析:寻找跟与服务器解析根域,查找我们用的是什么顶级域,会把解析全委派给顶级域,顶级域会查看我们用的是什么二级域,然后分派给二级域,二级域会查看我们用的什么子域,然后委派给子域,子域会查看我们用的主机名

    DNS服务器类型:

    (1)主域名服务器:负责维护一个区域的所有域名信息,是特定的所有信息的权威信息源,数据可以修改。构建主域名服务器时,需要自行建立所负责区域的地址数据文件。
    (2)从域名服务器:当主域名服务器出现故障、关闭或负载过重时,从域名服务器作为备份服务提供域名解析服务。从域名服务器提供的解析结果不是由自己决定的,而是来自于主域名服务器。构建从域名服务器时,需要指定主域名服务器的位置,以便服务器能自动同步区域的地址数据库。
    (3)缓存域名服务器:只提供域名解析结果的缓存功能,目的在于提高查询速度和效率,但没有域名数据库。它从某个远程服务器取得每次域名服务器查询的结果,并将它放在高速缓存中,以后查询相同的信息时用它予以响应。缓存域名服务器不是权威性服务器,因为提供的所有信息都是间接信息。构建缓存域名服务器时,必须设置根域或指定其他DNs服务器作为解析来源。
    (4)转发域名服务器:负责所有非本地域名的本地查询。转发域名服务器接到查询请求后,在其缓存中查找,如找不到就将请求依次转发到指定的域名服务器,直到查找到结果为止,否则返回无法映射的结果。

    构建DNS域名解析服务器步骤

    1.安装bind软件包
    yum install -y bind
    2.配置正向解析
    (1)先查看需要修改的配置文件所在路径
    rpm -qc bind                  #查询bind软件配置文件所在路径
    /etc/named.conf               #主配置文件
    /etc/named.rfc1912.zones      #区域配置文件
    /var/named/named. localhost   #区域数据配置文件
    (2)修改主配置文件
    vim /etc/named.conf
    options {
        listen-on port 53 { 192.168.80.10;};●监听53端口,ip地址使用提供服务的本地IP,也可用any表示所有
    #    listen-on-v6 port 53 {: :i; };     #ipv6行如不使用可以注释掉或者删除
        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"; #内存统计文件的位置
        allow-query     { 192.168.80.0/24; 172.16.100.0/24; };  ●允许使用本DNs解析服务的网段,也可用any代表所有
        ......
    }
    zone "."TN {              #正向解析"."根区域
           type hint;         #类型为根区域
           file "named.ca" ;  #区域数据文件为named.ca,记录了13台根域服务器的域名和IP地址等信息
    };   
    include "/etc/named.rfc1912.zones";   #包含区域配置文件里的所有配置  
    (3)修改区域配置文件,添加正向区域配置
    vim /etc/named.rfc1912.zones      #文件里有模版,可复制粘贴后修改
    zone "benet.com" IN{              ●正向解析"benet.com"区域
           type master;               #类型为主区域
           file "benet. com. zone" ;  ·指定区域数据文件为benet. com. zone
           allow-update { none; };
    };
    (4)配置正向区域数据文件
    cd /var/named/
    cp -p named.localhost benet. com.zone                        #保留源文件的权限和属主的属性复制
    vim /var/named/benet.com.zone
    $TTL 1D                                                      #有效解析记录的生存周期
    @       IN SOA benet.com. admin.benet.com.(                  #"@”符号表示当前的DNS区域名
                                           0      ; serial       #更新序列号,可以是10位以内的整数
                                           1D     ; refresh      #刷新时间,重新下载地址数据的间隔
                                           1H     ; retry        #重试延时,下载失败后的重试间隔
                                           1w     ; expire       #失效时间,超过该时间仍无法下载则放弃
                                           3H )   ; minimum      #无效解析记录的生存周期
           NS       benet.com.                                     #记录当前区域的DNS服务器的名称
           A        192.168.80.10                                  #记录主机IP地址
    IN  MX 10       mail.benet.com.                                #MX为邮件交换记录,数字越大优先级越低
    www IN A        192.168.80.10                                  #记录正向解析www.benet .com对应的IP
    mail IN A       192.168.80.11   
    ftp  IN CNAME   www                                        #CNAME使用别名,ftp是www的别名   
    *    IN A       192.168.80.100                             #泛域名解析,“*"代表任意主机名       
    (5)启动服务,关闭防火墙
    systemctl start named  
    systemctl stop firewalld
    setenforce 0
    #如果服务启动失败,可以查看日志文件来排查错误
    tail -f /var/log/messages
    #如果服务启动卡住,可以执行下面命令解决
    rndc-confgen -r /dev/urandom -a       
    (6)在客户端的域名解析配置文件中添加DNs服务器地址
    vi /etc/resolv.conf     #修改完后立即生效
    nameserver 192.168.80.10
    或
    vi /etc/sysconfig/network-scripts/ifcfg-ens33    #修改完后需要重启网卡
    DNS1=192.168.80.10
    systemctl restart network
    

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    反向解析

    (1)修改区域配置文件,添加反向区域配置
    vim /etc/named.rfc1912.zones            #文件里有模版,可复制粘贴后修改
    zone "80.168.192.in-addr.arpa" IN{     ●反向解析的地址倒过来写,代表解析192.168.80段的地址
           type master;
           file "benet.com.zone.local";   ●指定区域数据文件为benet.com.zone.local 
           allow-update { none; };
    };      
    (2) 配置反向区域数据文件
    cd /var/named/
    cp -p named.localhost benet.com.zone.local
    vim /var/named/benet.com.zone.local
    $TTL1D
    @       IN SOA benet.com. admin.benet.com.(       #这里的"@"代表192.168.80段地址
                                             0         ; serial
                                             1D        ; refresh
                                             1H        ; retry  
                                             1W        ; expire
                                             3H )      ; minimum
             NS     benet.com. 
             A      192.168.80.10 
      200 IN PTR    www.benet.com.  
      100 IN PTR    mail.benet.com. 
      (#PTR为反向指针,反向解析192.168.80.200地址结果为www.benet.com)
    (3)重启服务进行测试
    systemctl restart named
    host 192.168.80.200
    nslookup 192.168.80.200                 
    

    在这里插入图片描述

    在这里插入图片描述在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    构建主从域名服务器

    (1)修改主域名服务器的区域配置文件,修改正、反向区域配置
    vim /etc/named.rfc1912.zones
    zone "benet. com" IN{
            type master;                           ●类型为主区域
            file "benet. com. zone";
            allow-transfer { 192.168.80.11; };     ●允许从服务器下载正向区域数据,这里添从服务器的IP地址
    };
    Zone "80.168.192.in-addr. arpa" IN{
            type master;
            file "benet.com. zone.local";
            allow-transfer { 192.168.80.11; };
    };    
    (2)修改主配置文件
    vim /etc/named.conf
    options {
    listen-on port 53 { 192.168.80.11; };    ●监听53端口,ip地址使用提供服务的本地Ie即可,也可用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";
    allow-query      { any; };            ●允许使用本DNS解析服务的网段,也可用any代表所有
    ……
    }
    (3)修改从域名服务器区域配置文件,添加正、反区域配置
    vim /etc/named.rfc1912.zones
    zone "benet.com"IN {
            type slave;                         ●类型为从区域
            masters { 192.168.80.10; };         ●指定主服务器的IP地址
            file  "slaves/benet.com.zone" ;      ●下教的区域数据文件保存到slaves/目录下
    };        
    zone "80.168.192.in-addr.arpa" IN {
            type slave;
            masters { 192.168.80.10; };
            file  "slaves/benet.com.zone.local";
    };
    (4)主、从都重启动服务,并查看区域数据文件是否已下载成功
    systemctl restart named
    ls -l /var/named/slaves/
    (5)在客户端的域名解析配置文件中添加从DNS服务器地址
    echo  "nameserver 192.168.80.11" >> /etc/resolv.conf
    (6)测试
    host 192.168.80.200
    nslookup 192.168.80.200    
    

    修改主服务器
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    修改从服务器
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在客户端的域名解析配置文件中添加从DNS服务器地址
    在这里插入图片描述
    在这里插入图片描述

    域名服务器的分离解析

    先关机并装一个新的网卡后重启
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    配置好网卡文件后安装bind软件
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    BIND软件安装

    BIND (Berkeley Internet Name Daemon)

    ●BIND是应用最广泛的DNS服务程序
    ●官方站点: https://www.isc.orgl

    相关软件包

    ●bind-9.9.4-37.el7.x86_64.rpm
    ●bind-utils-9.9.4-37.el7.x86_64.rpm
    ●bind-libs-9.9.4-37.el7.x86_64.rpm
    ●bind-chroot-9.9.4-37.el7.x86_64.rp

    BIND服务

    BIND服务器端程序

    ●主要玫丁于程序:l/usr/sbin/named
    默认监听端口:53
    ●主配置文件
    /etc/named.conf
    ●保存DNS解析记录的数据文件位于
    /var/named/

    BIND服务控制

    ●systemctl [statuslstart|stoplrestart] named.service

    展开全文
  • DNS域名解析服务器

    万次阅读 多人点赞 2018-06-11 01:23:15
     DNS是Domain Name System(域名系统)的简称,DNS可以为计算机、服务以及接入互联网或局域网的任何资源提供分层的域名解析功能。DNS提供了很多功能,其中最主要的功能就是进行域名与IP之间的解析。在互联网中标记...

    一、DNS简介

        DNS是Domain Name System(域名系统)的简称,DNS可以为计算机、服务以及接入互联网或局域网的任何资源提供分层的域名解析功能。DNS提供了很多功能,其中最主要的功能就是进行域名与IP之间的解析。在互联网中标记唯一一台计算机使用的是IP地址,通过合法的IP地址,我们可以与全世界任何一台主机进行通信。然而在当今计算机如此普及的情况下,以人类现有的智慧与记忆力很难将大量的IP地址背诵下来,这时使用域名系统就可以将难以记忆的数字IP地址与容易记忆的域名建议映射关系,用户通过输入域名,计算机会寻找指定的DNS服务器,请求服务器帮助解析该域名对应的IP地址,成功解析后,将获得该域名对应的真实IP地址,然后使用该IP地址与对方通信。

        域名是分级的,一般分为:主机名.三级域名.二级域名.顶级域名.。注意,最后一个点代表的是根域,是所有域名的起点。域名有点像美国人的姓名一样,姓在后,名在前,而计算机域名中最后的点则是根,其次是根下的顶级域名,然后是二级域名等。图1为典型的域名树状结构图。例如,百度的域名为www.baidu.com,代表的是根域下有com子域,com子域下面有baidu子域,baidu子域下有主机www。注意,一般情况下,我们通过浏览器输入网址域名时,最后一个根域(.)是不需要输入的。一般顶级域代表国家或者组织形式,如cn代表中国;com代表商业公司;edu代表教育机构等。二级域名代表组织或者公司名称,三级域名代表组织或者公司内部的主机名称。最后通过完全合格的域名(FQDN)可以定位全球唯一的一台主机。这种分层管理机制的优势在于根域服务器不需要管理全世界所有的域名信息,它只需要管理顶级域信息即可,而顶级域服务器只需要管理二级域信息即可。以此类推,实现分层管理,这类似国家的行政管理机制。

    图1:

        域名查询分为递归查询和迭代查询,如图2所示。举例说明,如果客户端准备访问百度网站,客户端首先会检查本地缓存中是否有之前的查询记录,如果有,直接读取结果即可,如果没有相关的缓存记录,则向本地DNS服务器发送查询请求,也就是所谓的递归查询,本地DNS服务器如果有答案,就会将答案直接返回给客户端,但本地DNS服务器没有正确的答案时,它就需要向根服务器查询,但不是询问www.baidu.com对应的IP是多少,根服务器仅管理顶级域名,而且所有的顶级域名都属于根的管理范畴,所以此时本地DNS服务器向根查询结果是:根服务器会将它管理的com域对应的IP提供给本地DNS服务器,本地DNS服务器得到com域服务器的IP后,会再向com查询,然而com也没有最终的答案,com域服务器会将它所管理的baidu域服务器对应的IP提供给本地DNS服务器,最后本地DNS服务器再向baidu域服务器查询,询问该域下主机名为www的计算机对应的IP地址,由于www主机确实直接属于baidu域的管理范畴,所以baidu会将最终的正确答案返回给本地DNS服务器,最后本地DNS服务器将得到的结果返回给客户端,同时本地DNS服务器会将结果缓存起来,当下次再有相同的查询请求时,本地DNS服务器就可以直接从缓存中找到结果返回给客户端。

    图2:

    二、安装DNS软件

        提供DNS服务的软件有很多,而伯克利加州大学研发的BIND(Berkeley Internet Name Domain)是目前应用最广泛的DNS服务系统。该项目软件除了BIND主程序外,在Linux平台下还提供了chroot和utils软件包,bind-chroot软件包的主要功能是使BIND软件可以运行在chroot模式下,这样BIND运行在相对路径的根路径,而不是Linux系统真正的根路径,即使有人对BIND软件进行攻击与破坏,影响的也仅仅是操作系统中的一个子目录,不会影响整个操作系统平台,以此来提升系统安全性。通过yum安装bind-chroot后,对bind而言,/var/named/chroot目录就是根路径,所有BIND软件的配置文件都在根下的某某路径下。bind-utils软件提供了一些DNS查询工具,如dig、host、nslookup等。

    yum -y install bind bind-chroot bind-utils

    三、配置文件说明

        BIND配置文件主要分为主配置文件与域数据记录文件,主配置文件包括很多使用花括号引起来的定义语句,在定义语句中可以设置多个选项,主配置文件的核心功能就是定义域,以及告之计算机到哪里可以找到相应域的数据记录文件。而域数据记录文件则存储具体的域名与IP之间的解析记录,DNS通过读取域数据记录文件来解答客户端的查询请求。

        主配置文件一般为/etc/named.conf文件,但当我们安装了bind-chroot软件包后,在后面的内容中提供到的一些路径默认指的是一个虚拟路径,都是相对于虚拟根路径而言的,虚拟根路径默认为/var/named/chroot目录。如果主配置文件是/etc/named.conf,那么最终主配置文件在本机的绝对路径应该为/var/named/chroot/named.conf,修改主配置文件时一定要注意,如果语法格式有问题,则DNS服务是无法正常启动的,一个典型的主配置文件语法格式如下。

    statement_name {
    option1;
    option2;
    ... ...;
    };

         下面介绍/etc/named.conf文件中常用的定义语句。

        acl(Access Control List)语句允许我们预定义一组主机,从而控制是允许还是拒绝他人访问域名服务器,BIND预定义了一些主机访问控制列表,其中,any可以匹配任意IP地址,localhost可以匹配本地系统上所有的IP地址,localnets匹配本地系统所连接的任意网络,none将不匹配任何IP地址。下面通过实例自定义了两个访问控制列表,一个名为黑名单,一个为白名单。

    acl black {
    172.16.0.0/16;
    192.168.0.12;
    192.168.0.18;
    };
    acl white {
    10.0.0.0/8;
    192.168.0.0/24;
    };
    options {
    allow-query { white; };
    blackhole { black; };
    };

        options语句用来定义全局配置选项,在全局配置中至少需要定义一个工作路径,默认的工作路径为/var/named/,具体的常见的参数为表1 。

    表1:

        zone语句用来定义域及相关选项,定义域也就意味着你希望维护自己公司的域名解析。该语句的重点选项有type与file,表2为zone语句内常用的选项及描述。

    表2:

        下面一个简单的zone语句实例,example.com是定义的域,type定义本机为example.com域的主域名服务器,该域的解析文件保存在example.com.zone文件中,该文件被保存在/var/named/目录下。当定义反向解析域时,需要将网络地址反过来输入,并以固定的.in-addr.arpa格式结尾。通过定义类型为hint的根域,这样当客户端查询不属于自己维护的域名时,可以寻找根服务器进行迭代查询,最终返回正确的结果,全球的根域名服务器信息保存在named.ca文件中,该文件是在安装BIND文件后自动生成的模板文件,我们可以在/usr/share/doc/bind-9.8.2/sample/var/named/目录下找到它。

     

        在BIND软件的主配置文件中,如果定义了zone语句,还需要额外创建域数据文件,默认域数据文件被存储在/var/named/目录下,文件名称由zone语句中的file选项定义。数据文件分为正向解析数据文件和反向解析数据文件,正向解析数据文件保存了域名到IP地址的映射记录,反向解析数据文件保存了IP地址到域名的映射记录,表3列出了常用的记录类型及描述。

    表3:

        下面通过一个简短的正向解析的域数据文件,说明各种记录的语法格式,配置文件中的TTL的值为DNS记录的缓存时间,这个值是其他域名服务器将数据存放在缓存中的时间,1D代表一天。SOA记录后面的root.example.com.代表域的权威服务器,chytest1.163.com是管理员的邮箱,由于@在数据文件中代表特殊含义,这里使用.来代表@符号,所以实际的邮箱应该是chytest1@163.com,SOA记录可以跨行输入,跨越多行时使用括号引用。NS记录代表域名服务器记录,如果公司有多个域名服务器,可以添加多条NS记录,但每个NS记录在下面都需要有对应的A记录。A记录为正向解析记录,格式为在域名后面输入相应的IP地址,IN代表Internet,A代表正向解析记录。在使用MX记录指定邮件服务器时,我们给mai.example.com.服务器设着优先级为10,最后CNAME记录为别名,可以使用web.example.com来代表www.example.com。具体的配置文件如下。

        关于配置文件中的简写,在BIND主配置文件中,zone语句后定义的域对于数据文件的简写来说很重要,如果区数据文件中不以"."结尾的名称后会被自动加上该域名称,如zone语句定义了example.com,而数据文件中有一个mail没有以"."结尾,那么系统会自动追加example.com到mail后,有时候管理员将A记录错误地写成www.example.com这种形式,由于没有以"."结尾,实际系统识别的应该是www.example.com.example.com.。此外,在数据文件中使用@符号也同样代表zone所定义的域名称。最后,如果在数据文件中某条记录名称为空格或制表符,那么BIND系统会直接使用上一条记录的名称,当我们为同一个域名设置多个A记录,则客户端请求该域名解析时,服务器会以轮询的方式将结果返回给客户端,可以从一定程度上实现负载均衡的功能。

    四、部署主域名服务器

        随着ABC公司业务的扩张,计算机I越来越多的情况下,让员工记忆公司内部服务器所有的IP地址简直就是一场噩梦,因此,公司决定采用DNS解决方案,这样所有的员工仅需要记忆域名就可以访问各种服务。案例中使用的域为abc.com域,这个是正向解析的域,网络采用的是私有网络地址为:172.16.0.0/16。本次案例仅对公司主要的服务器编写解析记录,如果读者需要更多的记录,可以按照这些模板添加其他主机的信息,在公司内部服务器列表见表4.

    表4:

    1.安装软件

        如前所述,在部署DNS服务器时需要安装bind、bind-chroot以及bind-utils软件包。

    2.修改主配置文件

        默认chroot之后的虚拟根目录/var/named/chroot/etc 下面并没有现成的配置文件,需要在/usr/share/doc/bind-9.8.2/sample/etc目录下找到配置文件模板,复制该文件至/var/named/chroot/etc目录下,并根据自己的实际情况进行修改配置文件。案例中均以表4为模型进行配置。

    cd /usr/share/doc/bind-9.8.2/sample/etc/
    cp named.conf  /var/named/chroot/etc/
    chown  root.named  /var/named/chroot/etc/named.conf
    vim /var/named/chroot/etc/named.conf

    3.创建区数据文件

        主配置文件仅是对zone域的定义,关于域内主机的具体记录的解析,还需要依赖于数据文件的内容,常见的域名解析有正向解析记录、反向解析记录、CNAME记录以及MX记录等。在上一步完成了主配置文件中关于zone域的配置后,我们就根据模板创建具体的区数据解析文件,这些文件的创建可以根据软件包中提供的named.localhost文件作为模板。下面我们将创建一个用于正向解析的abc.com.zone域数据文件,再创建一个用于进行反向解析的172.16.zone域数据文件。

    cd /usr/share/doc/bind-9.8.2/sample/var/named
    cp named.ca /var/named/chroot/var/named/
    chown root.named /var/named/chroot/var/named/named.ca
    cp named.localhost /var/named/chroot/var/named/abc.com.zone
    chown root.named /var/named/chroot/var/named/abc.com.zone
    vim /var/named/chroot/var/named/abc.com.zone

    vim  /var/named/chroot/var/named/172.16.zone

    4.服务管理

        在dns主服务器部署完成后,如果不禁用防火墙或通过防火墙开启特定的端口,客户端主机是无法进行查询工作的。下面我们就通过Linux自带的防火墙iptables来演示如何开启DNS服务所需要使用的53端口,其中,TCP的53端口用于主从复制,UDP的53端口用于数据查询。 

    iptables -I INPUT -p udp --dport 53 -j ACCEPT
    iptables -I INPUT -p tcp --dport 53 -j ACCEPT
    service iptables save
    service named start
    chkconfig named on

    5.客户端验证

        客户端正确配置DNS服务器之后,查询工具比较多,常用的有nslookup、dig、host,下面分别演示这些命令的基本用法。

    nslookup www.abc.com
    nslookup 176.16.0.100
    dig abc.com  MX
    host www.abc.com

    五、部署从域名服务器

       部署从域名服务器的作用是防止出现单点故障或实现负载均衡。如果只有一台服务器,当该服务器宕机时,将导致所有客户机的地址解析出现问题。另外,为了满足大规模的查询请求,我们可以创建多台DNS服务器实现负载均衡。然而如果所有的DNS都作为主服务器,会有大量的配置需要我们重复进行,再有就是当解析记录发生改变后,各个服务器之间的区数据文件的版本比较混乱(不方便统一),所以我们需要部署从域名服务器,从域名服务器会从主域名服务器上下载数据文件,只要主服务器修改了数据文件中的记录,从服务器就可以自动同步数据。

    1.安装软件

        如前所述,在部署DNS服务器时需要安装bind、bind-chroot以及bind-utils软件包。

    2.修改配置文件

        与主服务器一样,我们需要复制模板配置文件,并修改named.conf配置文件与主服务器配置文件。有所不同的是,所有从服务器配置文件中除根域以外的所有zone域类型均为slave,依次声明自己是从服务器,并使用masters语句指定与哪台主服务器进行数据同步。

     cd /usr/share/doc/bind-9.8.2/sample/etc/
     cp named.conf  /var/named/chroot/etc/
     chown  root.named  /var/named/chroot/etc/named.conf
     vim /var/named/chroot/etc/named.conf

    3.同步数据文件 

        从服务器进行同步操作前,需要创建一个BIND软件读取操作的目录,以便将主服务器的数据文件保存至该目录。

        在从服务器上,我们仅需要简单设置以下BIND主配置即可,当从服务器的主配置文件修改完成后,通过启动服务,BIND会自动根据配置文件中的masters语句寻找主域名服务器,并将主域名服务器上的数据文件下载至从服务器本地。完成第一次的数据同步后,从服务器会根据同步过来的数据文件中的SOA记录选项,决定下次同步数据的时间,本次案例中主域名服务器的SOA记录括号中有五个选项。

        第一个选项10是序列号,从服务器会根据这个序列号来决定是否进行同步操作,只有当主服务器中数据文件的序列号大于从服务器中数据文件的序列号,从服务器才会真正与主服务器进行数据同步,该序列号建议使用时间格式,如20180610001,表示2018年6月10日的第一次修改(序列号只要数字即可,BIND不强制要求具体数字格式)。

        第二个选项1D,代表从服务器多久与主服务器进行序列号的对比(仅在主服务器序列号大于从服务器的序列号时,才进行数据同步),D代表Day,这里为一天。

        第三个选项1H,代表如果从服务器请求连接主服务器时,由于网络延迟、主服务器故障等原因,暂时无法连接到主服务器,那么从服务器会每隔一个小时再试一次。

        第四个选项1W,代表如果从服务器尝试一周后还未能连接到主服务器,则不再进行连接。

        第五个选项3H,代表的是缓存的时间为3个小时。

    setsebool -P named_write_master_zones=1
    mkdir -p /var/named/chroot/var/named/slaves/
    chown root.named /var/named/chroot/var/named/slaves
    chmod 775 /var/named/chroot/var/named/slaves
    service named start
    chkconfig named on

    六、DNS视图应用案例

        view语句用来创建视图,视图可以让不同的网络或主机在查询同一个DNS记录时得到不同的解析结果,也可以为不同的网络或者主机创建不同的数据文件。大型企业可以利用视图实现负载均衡,例如,当北京地区的网民访问新浪网时,域名服务器可以将结果就解析为北京本地的新浪网服务器,上海地区的网民访问新浪网时,域名服务器会将上海的新浪网服务器IP地址作为结果返还给用户。这样所有的人访问新浪网页查看新闻时,总是可以连接距离自己最近的服务器。

        在BIND9版本中,如果没有在主配置文件中使用view语句,则BIND会自动将所有的域定义一个大视图。通过配置文件中使用view语句,并结合match-clients语句,实现 不同用户查询相同的记录时所得到的结果不同。这样做的最大好处是可以让北京地区的网民访问新浪网时连接的是北京当地的服务器,而上海地区的网民需要连接新浪网时,DNS解析 的结果为上海本地的新浪服务器。

        一般我们会为同一个域创建多个视图,不同的视图对应不同的解析文件,此时需要注意的是,有多个视图就需要创建多少个对应的数据解析文件。当客户端发送查询请求后,服务器根据视图内的match-clients语句来匹配客户端主机,匹配成功后,服务器读取特定的视图内file指定的数据文件,并将结果返回给客户端,如果没有匹配成功,则继续查询下一个视图。如果所有的视图都未能匹配成功,服务器将返回无相关数据记录的信息给客户端。下面的案例通过修改主域名服务器的主配置文件演示视图的应用,当172.16.0.88请求abc.com域的相关解析记录时,服务器会读取abc.com.zone.develop这个数据解析文件,172.16.0.89请求abc.com域相关解析记录时,服务器会读取abc.com.zone.tech这个数据解析文件。注意,在此需要创建4个数据解析文件,相同域的正向域名解析文件有两个,反向域名解析文件有两个,只要在不同的数据解析文件中对相同的记录给予不同的解析结果,就可实现不同的用户得到不同的返回结果也不一样。

        只要根据自己的实际需要创建相应的数据文件,并在各个数据文件中对同一个数据记录给出不同的解析数据,即可实现智能DNS的分离解析功能。这里我们不可能将全北京或全上海的所有IP地址写入match-clients,根据DNS解析原理我们知道,所有的终端用户访问网络时都会连接到当地ISP服务商所提供的DNS服务器,这些服务商的DNS服务器会根据根服务器的提示迭代查询到我们的权威服务器。也就是说,我们在match-clients后面仅需填写全国主要的ISP所提供的DNS服务器IP地址即可。不同地区服务商的DNS,我们给予不同的解析结果,最终所有的终端用户会间接获得正确的解析结果。这里我们不再给出具体的数据文件记录,读者可以根据实际情况进行自行填写数据记录。

        以下为主配置文件named.conf实现视图应用的案例模板,读者根据自己的实际需要进稍作修改即可。

    vim /var/named/chroot/etc/named.conf

    七、常见问题分析

    1.由于BIND配置文件中,默认allow-query被设置为仅localhost可以进行DNS查询,如果开放DNS服务,则需要将allow-query修改为特定的主机或任意主机可以查询的DNS服务。

    2.在主配置文件中,默认listen-on被设置为仅监听本地回环地址,这样客户端也是无法连接服务器进行查询的。

    3.客户端连接服务器发送的查询请求使用的是UDP的53端口,而从服务器与主服务器同步数据用的是TCP53端口,开放DNS服务后,要注意修改防火墙设置。

    4.在Centos6系统环境下,从域名服务器与主域名服务器同步数据时,默认SELinux会拒绝从远程下载的数据文件写入本地磁盘,此时需要修改SELinux的布尔值,方法如下:

    setsebool -P named_write_master_zones=1

    5.配置文件问题,如果管理员在配置文件中的语法格式有错误,则named服务无法正常启动。例如,如果在配置文件语句后面少写了分好,启动服务时会提示类似的提示信息:/etc/named.conf:15:missing ';'before 'view',提示named.conf文件第15行左右少';'符号。

    6.文件与目录权限。由于BIND相关进程都是以named用户身份启动的,当配置文件或数据文件的权限无法被正确读取时,则系统将无法启动BIND服务。查看/var/log/messages日志文件,可以看到none:0:open:/etc/named.conf:permission denied这样的提示,说明BIND软件启动时无权对named.conf文件。类似的问题还可能出现在从服务器同步的时候,要求从服务器一定要把主服务器的数据文件同步到本地有读写权限的目录下。

    7.缩写问题。由于BIND数据文件有缩写功能,这样就有可能产生低级错误,就是在数据文件中输入的完整域名没有以"."结尾。例如,www.abc.com  IN  A  172.16.0.200,这样客户端无法查询到www.abc.com的解析记录,只能查询www.abc.com.abc.com的解析记录,但这应该不是我们所需要的。

    展开全文
  • 不过,少了一个CloudXNS也没有关系,毕竟DNS域名解析服务并不只有一家,免费的DNS域名解析服务在国外也非常地常见,除了没有地理位置和线路识别功能,国外的DNS域名解析服务其实也可以用于网站域名解析,基本上可以...

    CloudXNS宣布“暂停免费用户域名DNS解析”后,我觉得很有必要整理一下国内外那些免费的DNS域名解析服务。CloudXNS“粗暴”地要求用户转移出去真心是我用了这么年的DNS的头一回,无论原因是什么,给用户造成这样的“麻烦”CloudXNS至少要承担一定的责任。

    不过,少了一个CloudXNS也没有关系,毕竟DNS域名解析服务并不只有一家,免费的DNS域名解析服务在国外也非常地常见,除了没有地理位置和线路识别功能,国外的DNS域名解析服务其实也可以用于网站域名解析,基本上可以满足大部分的网站DNS解析需求。

    之前在做部落博客时曾经试用过不少的免费DNS服务,本篇就来整理一下国内外现在可用的免费DNS域名解析服务,从功能用途、稳定性、免费等方面对各大DNS域名作一下简单的综合评比,你可以根据自己的DNS域名解析需要来自由选择。

    在这里插入图片描述

    国内外免费DNS域名解析服务汇总列表 服务商 位置 点评 评分 He.net DNS 美国 Hurricane
    Electric公司产品,同时支持IPv4 和 IPv6 ,稳定性相当好,功能非常强大,推荐使用。教程:He.net
    DNS域名解析申请使用。 9.2
    Cloudflare
    DNS 美国 著名CDN服务商Cloudflare产品,只要在添加域名到Cloudflare后关掉其CDN服务就可以使用Cloudflare给域名作DNS域名解析了,在国内不稳定。教程:CloudFlare免费CDN加速。 8.9

    Ns1.com	美国	本身是一个付费DNS解析服务商,不过同时也提供免费套餐,支持AXFR请求和Secondary DNS。教程:NS1
    DNS域名解析使用	8.7 GeoScaling	美国	支持多达20中解析类型,并支持“Smart
    Subdomains”功能,按运营商/as号、国家、城市、经纬度来区分访客	8.7
    
    DNSPod.cn	国内	腾讯旗下产品,国内第一大DNS解析服务提供商,功能丰富,稳定性好,有搜索引擎优化、电信联通线路等智能解析	8.6
    
    华为云DNS	国内	华为云DNS域名解析服务,支持国内与国外、省市级DNS解析区分,支持自定义线路。教程:华为云免费DNS	8.6
    
    cloudns.net	美国	美国一家DNS域名解析商,支持动态域名解析,对个人有免费额度。教程:ClouDNS域名解析	8.6
    
    Godaddy DNS	美国	世界上第一的域名注册商和主机托管商Godaddy产品,在国内存在不稳定的情况	8.5 No-IP
    
    DNS	美国	美国一家老牌的DNS域名解析商,提供免费动态域名解析服务	8.4
    
    NameCheap	美国	著名域名注册商NameCheap产品,既可以用于NameCheap注册的域名,也可以添加在别的域名注册商注册的域名	8.3
    
    ZoneEdit	美国	国外老牌DNS服务,成立于1999年,功能强大,稳定性不错。	8.2
    
    afraid.org	美国	老牌免费二级域名afraid.org提供的DNS服务,同时支持动态域名解析	8.1
    
    京东云DNS	国内	京东云DNS,支持电信、移动、联通、方正、华数、铁通、长宽等智能线路解析,支持泛解析。详细见:京东云DNS免费域名解析	8.1
    
    DNSPod.com	美国	DNSPod国际版,自从被腾讯收购后就一直没有更新了,但是功能上还是不错,适合国人使用	8.0
    
    Value-domain	日本	日本GMO
    
    DigiRock公司产品,Value-domain是GMO专门提供域名注册服务的,同时也提供免费DNS域名解析。	8.0
    
    Eurodns	欧洲	欧洲著名的域名注册商,总公司在卢森堡,提供免费DNS域名解析服务	7.9 Linode
    DNS	美国	著名主机商Linode产品,稳定性不错,但是只是作为主机的附属产品,不像专业的DNS那样功能全面。	7.9
    
    XName.org	欧洲	欧洲一家老牌的DNS服务商,支持 IPv6 AAAA 记录功能、DNS动态更新、自动化管理等	7.8
    
    DigitalOcean	美国	著名VPS主机商DigitalOcean产品,采用anycast技术,响应速度快	7.8
    
    Sitelutions	美国	在全美各地分布有5个DNS服务节点,支持动态域名解析,并支持URL转发	7.8
    
    buddyns	美国	美国一家DNS服务商	7.8 ChangeIP	美国	美国一家老牌的DNS服务商,提供Dynamic
    
    DNS(动态域名解析服务),不限URL。	7.7
    
    DNSzi.com	韩国	韩国的免费DNS解析服务,公司成立于2010年。特点是注册后分配给每个会员的5个免费DNS服务器地址均与其他会员不同,且分散在三个IDC进行管理,不用担心域名解析出现问题	7.5
    
    DNS.com	国内	厦门帝恩思公司产品,搜索引擎线路支持,对域名数量和子域名数量均没有数量限制	7.3
    
    freedns.42.pl	欧洲	波兰的免费DNS域名解析服务,使用的两个NS都在不同的IP段。	7.3
    
    DNS.LA	国内	河南度网科技有限公司产品,要提供免费智能DNS解析,不限解析记录数,支持显性URL转发	7.3
    
    网宿CloudDNS	国内	网宿科技股份有限公司产品,支持设置分省和自定义线路	7.1
    
    八戒DNS	国内	杭州速联公司产品,智能解析线路,支持运营商(电信、联通、移动、铁通、教育)。最小TTL为600秒,URL转发2条。	7.0
    
    freedns.vn	越南	越南一家免费DNS解析服务商	6.7
    
    沈阳360DNS	国内	沈阳迅云网络公司产品,不是360卫士那个DNS,以前听说过,但是看名字就容易与360混淆	6.3
    
    ZNDNS	国内	前身是zn-dns.com,2006年开始运营,从备案信息看为个人所有,官网公告停止在2013年。	6.2
    
    CloudXNS	国内	北京快网公司产品,多元化智能DNS解析服务,功能上与DNSPOD类似,用户口碑评价不一。2019年7月16日正式关闭个人免费DNS服务。	付费
    
    Dnsever	韩国	韩国知名的DNS服务商之一,提供的服务很稳定,设置记录几分钟完成解析,界面支持韩语和英文	付费
    
    阿里云DNS	国内	原来的万网DNS,被阿里云收购后变身为阿里云解析,此产品为付费产品。	付费 Route 53	美国	Amazon
    
    旗下产品,功能强大,稳定性好,适合企业用户,因为Route 53是付费产品	付费 DNS Made Easy	美国	DNS Made
    
    Easy是美国一家付费DNS服务商,价格便宜,支持CAA、DNSSEC以及Anycast DNS等。教程:DNS Made
    Easy域名解析	付费 Dyn DNS	美国	著名Dyn公司产品,付费产品,适合企业使用	付费 Google Cloud
    DNS	美国	谷歌公司产品,价格低廉,提供 100% 的 SLA,使用了 Anycast 保证最低的延迟。教程:Google Cloud
    

    DNS申请使用 付费 Rage4 美国 Route53 的完美替代品,同时支持 DNSSEC 和分区解析,使用了 Anycast

    保证最低的延迟。 付费 Rackspace Cloud DNS 美国 著名主机商Rackspace的产品,付费。 付费

    展开全文
  • DNS域名解析服务 安装DNS服务 配置正向反向区域 编辑正向解析区域数据库 编辑反向解析区域数据库 解析 配置从服务器 解析

    DNS域名解析服务

    安装DNS服务
    在这里插入图片描述
    配置正向反向区域
    在这里插入图片描述
    编辑正向解析区域数据库
    在这里插入图片描述
    编辑反向解析区域数据库
    在这里插入图片描述
    解析在这里插入图片描述
    配置从服务器在这里插入图片描述
    在这里插入图片描述
    解析在这里插入图片描述

    展开全文
  • DNS域名解析服务 文章目录DNS域名解析服务一、DNS系统的作用1.域名结构2.DNS的定义3.DNS服务器类型二、构建DNS域名解析服务器步骤1.关闭防火墙2.安装bind软件包3.配置正向解析(1)先查看需要修改的配置文件所在路径...
  • DNS域名解析服务以及实验详解 目录一、DNS系统的作用(一)、定义(二)、DNS系统的分布式数据结构(3)、DNS服务器类型二、构建DNS域名解析服务器步骤 一、DNS系统的作用 在日常生活中人们习惯使用域名访问服务器,...
  • 01-DNS域名解析服务

    千次阅读 2017-07-17 13:43:32
    DNS域名解析服务 DNS域名解析服务 DNS服务 DNS的实现原理 实战项目1:在企业内部搭建一台域名解析服务器DNS正反解析 实战项目2:在企业内部搭建两台域名解析服务器做DNS主辅同步 排错记录 配置文件详细解析 - 总结 ...
  • Linux网络——DNS域名解析服务(正向解析实验)一、DNS概述二、DNS的域名结构三、DNS的服务器类型四、构建DNS域名解析服务器步骤 一、DNS概述 二、DNS的域名结构 三、DNS的服务器类型 四、构建DNS域名解析服务器步骤...
  • DNS域名解析服务 正向 ** DNS系统作用 正向解析:根据主机名称查找对应的IP地址 反向解析:根据IP地址查找对应的主机域名 DNS系统分布式数据结构 DNS的定义 DNS是“域名系统”的英文缩写。它作为将域名和IP地址相互...
  • 文章目录前言一、BIND域名服务基础1.DNS系统的作用及类型1.1 DNS系统的作用1.2 DNS系统的分布式数据结构1.3 DNS服务器类型1.3.1 主域名服务器1.3.2 从域名服务器1.3.3 缓存域名服务器1.3.4 转发域名服务器2.BIND的...
  • DNS域名解析服务 什么是DNS服务? 可以解释橙域名解析服务,就是电脑和电脑之间建立连接时,电脑只认识对方的ip地址,DNS服务对该IP地址解析成一个名称 DNS服务器的作用是什么? 把IP地址解析成名称方便人们记忆...
  • DNS域名解析服务器原理; 1. 浏览器先检查自身缓存中有没有被解析过的这个域名对应的ip地址,如果有,解析结束。同时域名被缓存的时间也可通过TTL属性来设置。 2. 如果浏览器缓存中没有(专业点叫还没命中),...
  • Linux&&DNS域名解析服务

    2019-12-26 17:39:10
    Linux&&DNS域名解析服务
  • DNS域名解析服务 1、DNS正向解析 别名解析 和泛域名解析软件包 (1)在linux上安装bind包 查看安装好的bind包 进入BIND服务的的主配置文件进行配置 将其中的地址改为自己本地的IP地址。将权限localhost改为any ...
  • 文章目录构建DNS域名解析服务器步骤(带图详解)使用虚拟机win10进行域名解析NFS共享服务 构建DNS域名解析服务器步骤(带图详解) 1、安装bind软件包 yum -y install bind 配置正向解析 1.先查看需要修改的配置...
  • 这里写目录标题DNS域名系统DNS概念DNS定义域名结构DNS域名解析方式DNS服务器类型构建DNS域名解析服务器步骤1.安装bind软件包2.配置正向解析正向解析实验图解 DNS域名系统 DNS概念 在日常生活中人们习惯使用域名访问...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,145
精华内容 6,058
关键字:

dns域名解析服务