澳门新浦京娱乐场网站-www.146.net-新浦京娱乐场官网
做最好的网站

工程师技术

DNS,全称Domain Name System,即域名解析系统

虚拟机A
    1. 将防火墙状态设置为trusted
  2.SELinux当前修改为permissive
  3.SELinux永久状态修改为permissive
    4.清空Yum缓存,检查Yum是否可用

  • DNS简介
  • DNS解析关键概念
  • BIND
DNS帮助用户在互联网上寻找路径。在互联网上的每一个计算机都拥有一个唯一的地址,称作“IP地址”(即互联网协议地址)。由于IP地址(为一串数字)不方便记忆,DNS允许用户使用一串常见的字母(即“域名”)取代。比如,您只需键入www.baidu.com,而不是“119.75.217.109”。即可访问ICANN的官方网站。DNS命名用于Internet等TCP/IP网络中,通过用户友好的名称查找计算机和服务。当用户在应用程序中输入DNS名称时,DNS服务可以将此名称解析为与之相关的其他信息,如IP地址。因为,你在上网时输入的网址,是通过域名解析系解析找到相对应的IP地址,这样才能上网。其实,域名的最终指向是IP

    虚拟机B
    1. 将防火墙状态设置为trusted
  2.SELinux当前修改为permissive
  3.SELinux永久状态修改为permissive
    4.清空Yum缓存,检查Yum是否可用

一、DNS简介:

DNS功能

每个IP地址都可以有一个主机名,主机名由一个或多个字符串组成,字符串之间用小数点隔开。有了主机名,就不要死记硬背每台IP设备的IP地址,只要记住相对直观有意义的主机名就行了。这就是DNS协议所要完成的功能。

主机名到IP地址的映射有两种方式:

1)静态映射,每台设备上都配置主机到IP地址的映射,各设备独立维护自己的映射表,而且只供本设备使用;
2)动态映射,建立一套域名解析系统(DNS),只在专门的DNS服务器上配置主机到IP地址的映射,网络上需要使用主机名通信的设备,首先需要到DNS服务器查询主机所对应的IP地址。 

通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。在解析域名时,可以首先采用静态域名解析的方法,如果静态域名解析不成功,再采用动态域名解析的方法。可以将一些常用的域名放入静态域名解析表中,这样可以大大提高域名解析效率。

    /etc/selinux/config (永久状态配置文件)

(一)DNS服务

  • DNS:Domain Name Service,域名解析服务,服务于应用层的协议
  • 端口:TCP的53端口和UDP的53端口
  • 主流软件实现:BIND(Berkeley Internet Name Domain)
  • 域名解析方式:
    • 本地解析:hosts文件,每一行格式IP地址 域名
    • 网络分层解析:DNS服务
    • 域名解析时先查询本机hosts文件,匹配则直接使用文件中的域名;若无匹配项,再使用DNS服务

DNS重要性

1、技术角度看
DNS解析是互联网绝大多数应用的实际寻址方式; 域名技术的再发展、以及基于域名技术的多种应用,丰富了互联网应用和协议。
2、资源角度看
域名是互联网上的身份标识,是不可重复的唯一标识资源; 互联网的全球化使得域名成为标识一国主权的国家战略资源。

########################################################
• 为什么需要DNS系统
– www.baidu.com 与 119.75.217.56,哪个更好记?
– 互联网中的114查号台/导航员

(二)DNS域名

  • 分层设计,自上而下分为:根域、一级域名、二级域名、三级域名......,最多127级
  • 一级域名:
    • 组织域名:com, edu, mil, gov, net, org
    • 国家地区域名:cn, uk, hk
    • 反向域名:arpa

DNS的工作原理

以访问www.为例说明(主机为Windows系统)

1)客户端首先检查本地c:windowssystem32driversetchost文件,是否有对应的IP地址,若有,则直接访问WEB站点,若无
2)客户端检查本地缓存信息,若有,则直接访问WEB站点,若无
3)本地DNS检查缓存信息,若有,将IP地址返回给客户端,客户端可直接访问WEB站点,若无
4)本地DNS检查区域文件是否有对应的IP,若有,将IP地址返回给客户端,客户端可直接访问WEB站点,若无,
5)本地DNS根据cache.dns文件中指定的根DNS服务器的IP地址,转向根DNS查询。
6)根DNS收到查询请求后,查看区域文件记录,若无,则将其管辖范围内.com服务器的IP地址告诉本地DNS服务器
7).com服务器收到查询请求后,查看区域文件记录,若无,则将其管辖范围内.xxx服务器的IP地址告诉本地DNS服务器
8).xxx服务器收到查询请求后,分析需要解析的域名,若无,则查询失败,若有,返回www.的IP地址给本地服务器
9)本地DNS服务器将www.的IP地址返回给客户端,客户端通过这个IP地址与WEB站点建立连接

• DNS服务器的功能
  – 正向解析:根据注册的域名查找其对应的IP地址
  – 反向解析:根据IP地址查找对应的注册域名,不常用

(三)DNS解析

  • 按查询类型分为:递归解析和迭代解析

    • 递归解析:客户端向所在网络DNS服务器发起请求,DNS服务器发回解析结果的过程
    • 迭代解析:当某个DNS服务器无法解析客户端的请求时,从根域名服务器开始,向每层DNS服务器发出请求,并接收每层DNS服务器的查询结果,直至找到权威DNS服务器(存储主机准确IP地址的服务器)的过程
  • 一次完整的查询请求经过的流程:
    Client -->hosts文件-->DNS Service Local Cache(本地DNS缓存,Windows有,Linux没有)--> DNS Server (recursion, 递归) --> Server Cache --> iteration(迭代) --> 根--> 顶级域名DNS-->二级域名DNS…

  • 按解析方向解析:

    • FQDN(Fully Qualified Domain Name):完全合格域名,主机 全域名路径,逻辑上能够准确表达主机的位置
    • 正向解析:FQDN解析为IP
    • 反向解析:IP解析为FQDN
    • 正向解析和反向解析是两个不同的名称空间,两个不同的解析树

安装DNS服务器软件

[root@CentOS7 ~]# yum install bind

       
                .   根域  
    
• Full Qualified Domain Name,完全合格主机名
  – = 站点名.域名后缀
  – = 站点名. .. .. .二级域.一级域

(四)DNS服务器类型

  • 主服务器:管理和维护所在域的解析服务

  • 从服务器:主服务器解析库的镜像,复制和更新的过程称为区域传输,涉及的概念有:

    • 序列号(serial):解析库版本号,主服务器解析库变化时,其序列递增,从服务器从序列号判断主服务器的解析库是否发生变化,最长10位数字
    • 刷新时间间隔(refresh):从服务器从主服务器请求同步解析的时间间隔
    • 重试时间间隔(retry):从服务器请求同步失败时,再次尝试时间间隔
    • 过期时长(expire):从服务器联系不到主服务器时,多久后停止服务
  • 缓存服务器:转发器

  • 主从服务器解析库更新机制:Push和Pull

    • Push:推送,主服务器解析库发生变化时,主动通知从服务器更新
    • Pull:拉取,从服务器按照设置每隔一定时间主动同步主服务器的解析库

配置相关配置文件

/etc/named.conf ,/etc/named.rfc1912.zones 为DNS主配置文件
/var/named/目录为DNS数据库文件存放目录,每一个域文件都放在这里。
/etc/rc.d/init.d/named 为DNS服务的服务脚本。

• 常见的顶级/一级域名
  – 国家/地区域:  .cn、  .us、 .kr、 .hk、.tw、.. ..
  – 组织域: .com、  .net、  .edu、 .org、.gov、.mil、.. ..

二、DNS解析关键概念:

一 DNS正向解析

这里以mytest.com域为例
www.mytest.com 对应IP 为192.168.29.100;
ftp.mytest.com 对应IP为1.1.1.1 。

• BIND服务器端程序
   – 主要执行程序:/usr/sbin/named
   – 系统服务:named
   – 默认端口:TCP/UDP 53
   – 运行时的虚拟根环境:/var/named/chroot/

(一)资源记录(RR, Resource Record)

  • 每个DNS服务器的解析库由各类RR组成

  • 资源记录的类型:

    • SOA:Start Of Authority,起始授权记录;一个区域解析库有且仅能有一个SOA记录,必须位于解析库的第一条记录
    • A:Internet Address,FQDN --> IP
    • AAAA:FQDN --> IPv6
    • PTR:PoinTeR,IP --> FQDN
    • NS:Name Server,专用于标明当前区域的DNS服务器
    • CNAME:别名记录
    • MX:Mail eXchanger,邮件交换器
  • 资源记录定义的格式:

    • 语法:name [TTL] IN rr_type value
    • 注意:
      (1) TTL(缓存的生命期)可从全局继承,如:$TTL 1d
      (2) @可用于引用当前域的名字
      (3) 同一个名字可以通过多条记录定义多个不同的IP,此时DNS服务器会以轮询方式响应,这种方式实现了简单的平衡负载
      (4) 同一个值也可能有多个不同的定义名字;通过多个不同的名字指向同一个值进行定义,此仅表示通过多个不同的名字可以找到同一个主机
      (5) 相邻资源记录的name相同时,后续的name可以省略

1 首先编辑/etc/named.conf文件

        listen-on port 53 { any; };
        allow-query     { any; };
        dnssec-enable no;
        dnssec-validation no;

 • 主配置文件:/etc/named.conf    指定负责解析的域名   tedu.cn
 • 地址库文件:/var/named/        主机名与IP地址对应关系

(二)SOA记录

  • name:当前域名,可用"@"代替

  • value:包含多部分内容
    (1) 当前区域的主DNS服务器的FQDN(无命名要求,只要和相应的A记录匹配即可)
    (2) 当前区域管理员的邮箱地址;但地址中不能使用"@"符号,一般用"."替换,例如linuxedu.hellopeiyang.com.
    (3) 主从服务器区域传输相关定义,否定结果缓存统一的TTL

2 编辑区域配置文件/etc/named.rfc1912.zones

zone "mytest.com" IN {
        type master;
        file "mytest.com";
};

其中zone的格式为:

    zone “ZONE_NAME  IN {
    type  master;
    file “ZONE_NAME.zone”
}

 

(三)NS记录

  • name:当前域名,可用"@"代替,常省略
  • value:当前域DNS服务器的主机名
  • 一个域可以有多条NS记录,每条记录都应该匹配一条A记录

3 新建解析库文件/var/named/mytest.com.zone

[root@CentOS7 ~]# vim /var/named/mytest.com.zone
$TTL 1D
$ORIGIN mytest.com.
@   IN SOA  mytest.com. admin.mytest.com. (
                    20170526; serial
                    1D  ; refresh
                    1H  ; retry
                    1W  ; expire
                    3H )    ; minimum
        IN  NS  @  ;  直接输入域名解析,访问mytest.com
        IN  A     2.2.2.2;  
mytest.com. IN  NS  ns1.mytest.com.

ns1 IN  A   192.168.29.100
www IN  A   172.16.254.13
ftp     IN   A  1.1.1.1

     正常解析:  UDP 53

(四)MX记录

  • name:当前域名,可用"@"代替,常省略
  • value:当前域的邮件服务器的主机名,格式:## mail_server_addr
    ##表示数字(1-99),数字越小优先级越高
  • 一个域可以有多条MX记录,每条记录都应该匹配一条A记录

4 修改解析库文件权限

[root@CentOS7 ~]# chgrp named /var/named/mytest.com.zone 

     主从同步:  tcp 53

(五)A记录和AAAA记录

  • name:主机的FQDN
  • value:主机的IP地址
  • 特殊写法:
    $GENERATE 1-254 HOST$ A 1.2.3.$:按照序号排列规律的FQDN与IP的对应关系
    *.magedu.com. IN A 5.5.5.5:泛域名解析,当用户输错地址时,统一解析至某个地址
    magedu.com. IN A 6.6.6.6:当用户没有输入www主机名时解析至地址
  • AAAA记录与A记录相似,只是IP地址为IPv6地址

5检查 配置语法

(1)检查配置文件语法

[root@CentOS7 ~]# named-checkconf

(2)检查域配置文件语法

[root@CentOS7 ~]# named-checkzone mytest.com  /var/named/mytest.com.zone
zone mytest.com/IN: loaded serial 20170526
OK

 

(六)CNAME记录

  • name:别名QFDN
  • value:真实名QFDN

6 启动named服务

[root@CentOS7 ~]# systemctl start   named

 

(七)PTR记录

  • name:特定格式IP 特定后缀
    IP地址反过来写:如1.2.3.4写作4.3.2.1
    特定后缀:in-addr.arpa.
    完整写法:4.3.2.1.in-addr.arpa.
  • value:FQDN

7 测试

注意:要配置DNS服务器为本DNS服务器IP地址
或者使用dig命令则不需要修改DNS服务器

[root@CentOS7 ~]# nslookup  www.mytest.com
Server:     127.0.0.1
Address:    127.0.0.1#53

Name:   www.mytest.com
Address: 172.16.254.13
[root@CentOS7 ~]# nslookup  ftp.mytest.com
Server:     127.0.0.1
Address:    127.0.0.1#53

Name:   ftp.mytest.com
Address: 1.1.1.1

测试成功,正向解析成功!!

虚拟机A:

三、BIND:

二 DNS反向解析

这里以mytest.com域为例
IP地址192.168.29.100/24对应域名为www.mytest.com;
192.168.29.200/24对应域名为ftp.mytest.com;

1.搭建基本的DNS服务,安装 bind-chroot、bind
[root@svr7 ~]# yum -y install bind-chroot bind

(一)BIND的安装

  • 安装:yum install BIND
  • 列出BIND有关程序包名:yum list all BIND*
    bind:服务器
    bind-libs:相关库
    bind-utils:客户端
    bind-chroot:迁移BIND目录至深层目录,减少BIND被黑客攻破对系统的影响
  • 程序名:named
  • 服务脚本:
    /etc/rc.d/init.d/named CentOS 6
    /usr/lib/systemd/system/named.service CentOS 7
  • 主要配置文件:
    /etc/named.conf, /etc/named.rfc1912.zones, /etc/rndc.key
  • 解析库文件
    /var/named/ZONE_NAME.ZONE

1 首先编辑/etc/named.conf文件

        listen-on port 53 { any; };
        allow-query     { any; };
        dnssec-enable no;
        dnssec-validation no;

2.修改 /etc/named.conf 主配置文件,指定负责解析的域名为tedu.cn

(二)BIND的配置

2 编辑区域配置文件/etc/named.rfc1912.zones

zone "29.168.192.in-addr.arpa" IN {
    type master;
    file "name.29.168.192";
};

格式为:

zone "NET_IP.in-addr.arpa" IN { #NET_IP 为反向解析的IP 网段
    type master;
    file "NAME_ZONE";       #NAME_ZONE为反向解析库配置文件名称
};

 options {
     directory     "/var/named";   #指定地址库文件存放位置
  };
  zone  "tedu.cn"  IN {            #指定本机负责解析的域名
     type master;               #指定为权威服务器
     file "tedu.cn.zone";       #指定地址库文件,文件名称
  };

(1)配置主配置文件:/etc/named.conf
  • 全局配置:options {};
  • 日志子系统配置:logging {};
  • 区域定义:zone "ZONE_NAME" IN {};
  • 定义本机能够提供解析的zone
  • dnssec:dns的安全选项,建议关闭dnssec,设为no

3 新建解析库文件

$TTL 1D
$ORIGIN 29.168.192.in-addr.arpa.
@       IN SOA  mytest.com. admin.mytest.com. (
                                        20170526; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
         IN     NS      mytest.com.
100     IN      PTR     www.mytest.com.
200     IN      PTR     ftp.mytest.com.
  1. 创建/var/named 地址库文件  “tedu.cn.zone”
    [root@svr7 named]# cd /var/named
    [root@svr7 named]# cp  -p  named.localhost   tedu.cn.zone
(2)配置解析库文件:按照资源记录的格式定义

4 修改解析库文件所属组

[root@CentOS7 ~]# chgrp named name.29.168.192

[root@svr7 named]# ls -l tedu.cn.zone

(3)格式检查:
  • 主配置文件语法检查:named-checkconf
  • 解析库文件语法检查:named-checkzone zone_name PATH_TO_ZONE_NAME

5 语法检查

(1)检查配置文件语法

[root@CentOS7 ~]# named-checkconf

(2)检查域配置文件语法

 [root@CentOS7 ~]# named-checkzone 29.168.192.in-addr.arpa /var/named/name.29.168.192
zone 29.168.192.in-addr.arpa/IN: loaded serial 20170526
OK

[root@svr7 named]# vim tedu.cn.zone

工程师技术。(4)重载配置:

rndc reloadservice named reload

6 启动named服务

[root@CentOS7 ~]# systemctl start   named

 tedu.cn.   NS  svr7                #指定本域名DNS服务器主机名
 svr7       A  192.168.4.7          #指定本域名DNS服务器IP地址   
 www        A   1.1.1.1
 ftp        A   2.2.2.2

(5)实验:配置基本的DNS服务,DNS正向解析

将192.168.136.230配置为"hellopeiyang.com"域的DNS服务器,本区域主机"websrv"的IP地址为192.168.136.229,"www"是"websrv"的别名,邮件服务器"mailsrv1"的IP地址为192.168.136.100,邮件服务器"mailsrv2"的IP地址为192.168.136.101,mailsrv1的优先级更高

  • 第1步,配置主配置文件/etc/named.conf,修改options字段,修改部分如下:
vim /etc/named.conf

options {
        listen-on port 53 { localhost; };
        //修改监听主机IP为localhost,这样网络上的其他主机可以连接本机的DNS服务
        //也可以通过注释本条语句达到相同效果
        allow-query     { any; };
        //修改允许查询的客户端网段,any表示任意客户端可以向本机发起DNS请求,并得到查询结果
};
  • 第2步,修改独立区域配置文件,添加区域配置信息:
vim /etc/named.rfc1912.zones

zone "hellopeiyang.com" IN {
        type master;                      //类型为主服务器
        file "hellopeiyang.com.zone";     //必须与/var/named下的文件名相同
};
  • 第3步,配置解析库文件
    解析库文件可以手动编辑,也可以复制类似文件修改,这里将/var/named目录下的named.localhost文件复制并重命名为hellopeiyang.com.zone文件,并作出相应修改
cp -p /var/named/named.localhost /var/named/hellopeiyang.com.zone  //复制时保留所属组权限
vim /var/named/hellopeiyang.com.zone

$TTL 1D     //DNS缓存生命期的全局设置
@       IN SOA  dns1 admin.hellopeiyang.com. (    
//dns1:主DNS服务器域名
//本配置文件中凡是域名处若末尾不加"."系统识别时自动认为其后增加当前域名,
如这里"dns1"视作"dns1.hellopeiyang.com."
                                        100     ; serial     //序列号,不多于10位
                                        1D      ; refresh    //从DNS服务器更新时间
                                        1H      ; retry      //从DNS服务器重试时间
                                        1W      ; expire     //从DNS服务器失效时间
                                        3H )    ; minimum    //错误的DNS缓存生命期
        NS      dns1             //DNS服务器主机名
dns1    A       192.168.136.230  //DNS服务器的IP地址
websrv  A       192.168.136.229  //本域下的主机websrv的IP地址
www     CNAME   websrv           //主机websrv的别名
@       MX      10 mailsrv1      //邮件服务器mailsrv1.hellopeiyang.com
@       MX      20 mailsrv2      //邮件服务器mailsrv2.hellopeiyang.com
mailsrv1  A     192.168.136.100  //邮件服务器mailsrv1.hellopeiyang.com的IP
mailsrv2  A     192.168.136.101  //邮件服务器mailsrv2.hellopeiyang.com的IP
  • 第4步,格式检查:
    检查主配置文件:named-checkconf
    检查解析库文件:named-checkzone hellopeiyang.com hellopeiyang.com.zone

澳门新浦京娱乐场网站 1

  • 第5步,重新载入配置:
    rndc reload 或者 systemctl reload named

  • 第6步,测试:
    dig www.hellopeiyang.com @192.168.136.230
    测试成功,返回结果中NS、A、CNAME记录与设置相同,同时aa标签表明指定的DNS服务器192.168.136.230是www.hellopeiyang.com网路主机的权威服务器

澳门新浦京娱乐场网站 2

7 测试

 [root@CentOS7 ~]# dig -x 192.168.29.200 @192.168.29.100
; <<>> DiG 9.9.4-RedHat-9.9.4-37.el7 <<>> -x 192.168.29.200 @192.168.29.100
[……]
200.29.168.192.in-addr.arpa. 86400 IN   PTR ftp.mytest.com.
[root@CentOS7 ~]# dig -x 192.168.29.100 @192.168.29.100
[……]
;; ANSWER SECTION:
100.29.168.192.in-addr.arpa. 86400 IN   PTR www.mytest.com.
;; AUTHORITY SECTION:
29.168.192.in-addr.arpa. 86400  IN  NS  mytest.com.

测试成功!!!

4.重起named服务,设置named开启服务
      
验证:

(6)只允许DNS返回本机存在的DNS记录(适用于企业内网)

修改/etc/named.conf文件options字段recursion选项,修改如下:
recursion no;
此时,请求一个DNS服务器不知道的域名,服务器直接拒绝

澳门新浦京娱乐场网站 3

三 主从DNS

这里主DNS服务器IP地址为192.168.29.100/24
从DNS服务器IP地址为192.168.29.3/24
www.mytest.com 对应IP 为192.168.29.100;
ftp.mytest.com 对应IP为1.1.1.1

  虚拟机B上:
[root@pc207 ~]#  vim /etc/resolv.conf   #指定DNS服务器
  nameserver  192.168.4.7

(三)测试命令

1首先编辑主服务器/etc/named.conf文件

    listen-on port 53 { any; };
    allow-query     { any; };
    recursion yes;

    dnssec-enable no;
    dnssec-validation no;

[root@pc207 ~]#  nslookup  www.tedu.cn

(1)dig命令
  • 语法:dig [-t type] name [@SERVER]
    dig只用于测试dns系统,不会查询hosts文件进行解析
  • 查询选项:
    [no]trace:跟踪解析过程
    [no]recurse:进行递归解析
  • 测试反向解析:dig -x IP
dig -t ns . @114.114.114.114     //查询根DNS服务器域名
dig -t mx hellopeiyang.com @192.168.136.230     //查询hellopeiyang.com域的邮件服务器

澳门新浦京娱乐场网站 4

2 编辑主服务器的区域配置文件/etc/named.rfc1912.zones

zone "mytest.com" IN {
        type master;
        file "mytest.com.zone";
        allow-transfer {192.168.29.3; };  ##192.168.29.3位从服务器的ip地址。
};

####################################################

(2)host命令
  • 语法:host [-t type] name [SERVER]
host -t ns . 114.114.114.114     //查询根DNS服务器域名
dig -t mx hellopeiyang.com 192.168.136.230     //查询hellopeiyang.com域的邮件服务器

澳门新浦京娱乐场网站 5

3 新建主服务器解析库文件vim /var/named/mytest.com.zone

$TTL 1D
$ORIGIN mytest.com.
@   IN SOA  mytest.com. admin.mytest.com. (
                    20170526; serial
                    1D  ; refresh
                    1H  ; retry
                    1W  ; expire
                    3H )    ; minimum
mytest.com. IN  NS  ns1.mytest.com.
mytest.com. IN  NS  slave.mytest.com.   ###添加从服务器的NS解析记录。

ns1 IN  A   192.168.29.100
slave   IN  A   192.168.29.3    ###指定从服务器的IP地址。
www IN  A   172.16.254.13
ftp     IN   A  1.1.1.1

多区域的DNS服务器
虚拟机A:
1.修改 /etc/named.conf 主配置文件,指定负责解析的域名为tedu.cn
  追加写入

(3)nslookup命令
  • 交互式命令:
    • server IP:指定DNS服务器地址
    • 域名:查找域名的A记录
    • set type=TYPE_NAME:设置之后查询信息的记录类型

澳门新浦京娱乐场网站 6

4 编辑从服务器/etc/named.conf文件

    listen-on port 53 { any; };
    allow-query     { any; };
    recursion yes;
    dnssec-enable no;
    dnssec-validation no;

  zone  "qq.com"  IN {            #工程师技术。指定本机负责解析的域名
     type master;               #指定为权威服务器
     file "qq.com.zone";       #指定地址库文件,文件名称
  };

(四)反向区域解析

  • 反向区域解析与正向区域解析类似,同样需要修改/etc/named.rfc1912.zones和建立/var/named目录下的解析库文件

  • 第1步,修改独立区域配置文件,添加区域配置信息:

vim /etc/named.rfc1912.zones

zone "136.168.192.in-addr.arpa"{     //反向解析域,IP需要倒写
        type master;
        file "192.168.136.zone";
};
  • 第2步,配置解析库文件:
vim /var/named/192.168.136.zone

$TTL 1d
@  IN  SOA dns1.hellopeiyang.com. admin.hellopeiyang.com. (100 3h 1h 12h 1d )
       NS  dns1.hellopeiyang.com.
230    PTR dns1.hellopeiyang.com.
229    PTR websrv.hellopeiyang.com.
100    PTR mailsrv1.hellopeiyang.com.
101    PTR mailsrv2.hellopeiyang.com.

注意:NS和PTR记录的域名应该写全并以"."结束,以防止系统自动视作在其后添加反向解析域

  • 第3步,格式检查:
    named-checkconf
    named-checkzone 192.168.136.zone /var/named/192.168.136.zone

  • 第4步,重新载入配置:
    rndc reload

  • 第5步,测试:
    dig -x 192.168.136.229 @192.168.136.230 或者下条命令
    dig -t ptr 229.136.168.192.in-addr.arpa @192.168.136.230

澳门新浦京娱乐场网站 7

5 配置从服务器的区域配置文件/etc/named.rfc1912.zones

zone "mytest.com" IN {
    type slave; ##表明本机是从服务器
    file "slaves/mytest.com";   ##将同步后的文件放置在哪里,这里是相对路径,实际路径为/var/named/slaves/mytest.com
    masters {192.168.29.100; }; ##指定主服务器的ip地址
};
  1. 创建/var/named 地址库文件  “qq.com.zone”
    [root@svr7 named]# vim qq.com.zone

(五)bind-chroot程序包

  • 功能:将DNS服务的相关文件移至更深的目录中,减少DNS被攻破时对系统的影响

  • 安装并启动服务:
    yum install bind-chroot
    systemctl start named-chroot

  • 发现/var/named/chroot目录下有很多与named服务相关文件,并且文件的inode相同而硬连接数都只是1

澳门新浦京娱乐场网站 8

  • 这种情况只能是文件目录挂载所形成的,执行mount命令发现大量相关文件的挂载记录,证明bind-chroot程序实现迁移文件至更深目录的实质是将文件挂载至更深的目录下

澳门新浦京娱乐场网站 9

6 语法检查

在主从两个服务器上都进行语法检查

[root@CentOS7 ~]# named-checkconf

 qq.com.   NS   svr7              #指定本域名DNS服务器主机名
 svr7       A   192.168.4.7       #指定本域名DNS服务器IP地址   
 www        A   1.1.1.1
 ftp        A   2.2.2.2

(六)允许动态更新

  • 功能:允许客户端通过命令更新解析库资源记录信息
  • 准备工作:
    • 指定的zone语句块中修改allown-update选项
      例如:allow-update {192.168.136.229;};:只允许192.168.136.229主机能够动态更新本机DNS解析库指定zone的资源记录
    • chmod770 /var/named:增加写权限
  • 动态更新命令:nsupdate
nsupdate
>server 192.168.136.230
>zone hellopeiyang.com
>update add ftp.hellopeiyang.com 86400 IN A 192.168.136.150
>send
>update delete ftp.hellopeiyang.com A
>send

7 在主从两个服务器上开启服务

[root@CentOS7 ~]# systemctl start named

4.重起named服务,设置named开启服务
      
########################################################

(七)从服务器

  • 从DNS服务器从主DNS服务器拷贝解析库文件,共同提供DNS服务,提升DNS服务的可靠性

  • 第1步,从服务器:配置主配置文件,修改options字段的如下内容:

options {
    listen-on port 53 { localhost; };
    allow-query     { any; };
};
  • 第2步,从服务器:修改独立区域配置文件,添加区域配置信息
zone "hellopeiyang.com" IN {
    type slave;
    masters {192.168.136.230;};
    file "slaves/hellopeiyang.com.slave.zone";
};
  • 第3步,主服务器:添加解析库文件NS记录,修改后如下
vim /var/named/hellopeiyang.com.zone

$TTL 1D
@       IN SOA  dns1 admin.hellopeiyang.com. (
                                        101     ; serial     //只要解析库更新,一定要更新序列号
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns1
        NS      dns2                //增加的NS记录
dns1    A       192.168.136.230
dns2    A       192.168.136.130     //增加的A记录
websrv A        192.168.136.229
www     CNAME   websrv
@       MX      10 mailsrv1
@       MX      20 mailsrv2
mailsrv1  A 192.168.136.100
mailsrv2  A 192.168.136.101
  • 第4步,主服务器、从服务器:设置防止黑客窥视DNS信息

    • 为了防止黑客通过建立从服务器,获得主服务器的解析库信息,需要在主服务器和从服务器的主配置文件/etc/named.conf中options条目中增加"allow-transfer"选项

    • 主服务器增加内容:allow-transfer {192.168.136.130;};:只允许从服务器IP复制解析库文件

    • 从服务器增加内容:allow-transfer {none;};:不允许任何IP复制解析库文件

  • 第5步,主服务器、从服务器:格式检查
    分别在主服务器和从服务器上执行named-checkconf命令
    在主服务器上执行named-checkzone hellopeiyang.com /var/named/hellopeiyang.com.zone

  • 第6步,主服务器、从服务器:重新载入配置
    rndc reload

  • 第7步,测试
    dig www.hellopeiyang.com @192.168.136.130

澳门新浦京娱乐场网站 10

  • 注意:客户端查询过程通过UDP的53端口进行,主、从服务器之间的解析库同步操作需要通过TCP和UDP的53端口联合进行。

8 测试

(1)查看从服务器已经取得解析数据库文件

[root@centos7 ~]# ll  /var/named/slaves/
total 4
-rw-r--r--. 1 named named 348 May 26 15:22 mytest.com

(2)用从服务器解析www.mytest.com

[root@centos7 ~]# dig -t A www.mytest.com @192.168.29.3
[……]
;; ANSWER SECTION:
www.mytest.com.     86400   IN  A   172.16.254.13

;; AUTHORITY SECTION:
mytest.com.     86400   IN  NS  slave.mytest.com.
mytest.com.     86400   IN  NS  ns1.mytest.com.

;; ADDITIONAL SECTION:
ns1.mytest.com.     86400   IN  A   192.168.29.100
slave.mytest.com.       86400   IN  A   192.168.29.3

;; Query time: 2 msec
;; SERVER: 192.168.29.3#53(192.168.29.3)
;; WHEN: Fri May 26 15:37:13 CST 2017
;; MSG SIZE  rcvd: 129

可以看到解析成功。说明从服务器已生效。

  DNS负载均衡,解析结果的轮询

(八)子域

四 子域授权

这里子域服务器为192.168.29.110

   基于DNS的站点负载均衡
      – 一个域名 ---> 多个不同IP地址
      – 每个IP提供镜像服务内容

(1)子域与父域在一台主机上(适用于子域的流量比较小时)
  • 第1步,修改独立区域配置文件,添加子域配置信息,增加的信息如下:
zone "zhengzhou.hellopeiyang.com" IN {
    type master;
    file "zhengzhou.hellopeiyang.com.zone";
};
  • 第2步,添加子域解析库文件,内容如下:
cp -p /var/named/hellopeiyang.com.zone /var/named/zhengzhou.hellopeiyang.com.zone
复制一份父域的解析库文件,在其上做修改
vim /var/named/zhengzhou.hellopeiyang.com.zone

$TTL 1D
@       IN SOA  dns1 admin.hellopeiyang.com. (
                                        101     ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns1
dns1    A       192.168.136.230
websrv  A       192.168.136.160
www     CNAME   websrv
@       MX      10 mailsrv1
mailsrv1  A     192.168.136.170
  • 第3步,检查语法
    named-checkconf
    named-checkzone zhengzhou.hellopeiyang.com /var/named/zhengzhou.hellopeiyang.com.zone

  • 第4步,重新载入配置
    rndc reload

  • 第5步,测试
    dig www.zhengzhou.hellopeiyang.com @192.168.136.230

澳门新浦京娱乐场网站 11

1 在mytest.com.域的服务器上修改区域数据库文件

[root@CentOS7 ~]# cat /var/named/mytest.com.zone 
$TTL 1D
$ORIGIN mytest.com.
@   IN SOA  mytest.com. admin.mytest.com. (
                    20170526; serial
                    1D  ; refresh
                    1H  ; retry
                    1W  ; expire
                    3H )    ; minimum
        IN  NS  @  ;  直接输入域名解析,访问mytest.com
        IN  A     2.2.2.2;  
mytest.com. IN  NS  ns1.mytest.com.
mytest.com. IN  NS  slave.mytest.com.
haha.mytest.com.    IN NS  ns2.haha.mytest.com.  ###新添加的行

ns1 IN  A   192.168.29.100
slave   IN  A   192.168.29.3
www IN  A   172.16.254.13
ftp     IN   A  1.1.1.1
ns2.haha.mytest.com. IN A 192.168.29.110    ###新添加行,指明子域服务器IP地址。

#######################################################
特殊的解析记录

(2)子域与父域不在一台主机上(适用于子域的流量比较大时)

又称作:父域DNS服务器将DNS管理权委派给子域DNS服务器

  • 第1步,父域DNS:在解析库文件中增加子域的NS记录
vim /var/named/hellopeiyang.com.zone

$TTL 1D
@   IN SOA  dns1 admin.hellopeiyang.com. (
                    101 ; serial
                    1D  ; refresh
                    1H  ; retry
                    1W  ; expire
                    3H )    ; minimum
    NS  dns1
henan   NS  dns2
dns1    A   192.168.136.230
dns2    A   192.168.136.130
websrv A    192.168.136.229
www CNAME   websrv
@   MX  10 mailsrv1
@   MX  20 mailsrv2
mailsrv1  A 192.168.136.100
mailsrv2  A 192.168.136.101

named-checkzone hellopeiyang.com /var/named/hellopeiyang.com.zone     //检查语法
rndc reload     //重新载入配置
  • 第2步,子域DNS:创建子域shanghai.hellopeiyang.com
//步骤1:修改主配置文件
vim /etc/named.conf     //修改的内容如下

options {
        listen-on port 53 { localhost; };
        allow-query     { any; };
};

//步骤2:修改独立区域配置文件
vim /etc/named.rfc1912.zones     //增加的内容如下

zone "henan.hellopeiyang.com" IN {
        type master;
        file "henan.hellopeiyang.com.zone";
};

//步骤3:创建解析库文件
vim /var/named/henan.hellopeiyang.com.zone

$TTL 1D
@       IN SOA  dns1 admin.hellopeiyang.com. (
                                        101     ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns1
dns1    A       192.168.136.130
websrv  A       192.168.136.133
www     CNAME   websrv

chgrp named /var/named/henan.hellopeiyang.com.zone     //更改所属组

//步骤4:检查语法
named-checkconf 
named-checkzone henan.hellopeiyang.com /var/named/henan.hellopeiyang.com.zone

//步骤5:重新载入配置
rndc roload
  • 第3步,测试
    dig www.henan.hellopeiyang.com @192.168.136.230

澳门新浦京娱乐场网站 12

2 修改子域服务器的主配置文件/etc/named.conf

[root@CentOS7 ~]# vim  /etc/named.conf
    listen-on port 53 { any; };
    allow-query     { any; };
    recursion yes;
    dnssec-enable no;
    dnssec-validation no;

泛域名解析
• 匹配本域内未定义的任何主机地址
澳门新浦京娱乐场网站,– 直接以 * 条目匹配
– 一般只用在正向区域文件中

(九)转发服务器

3 编辑子域服务器的区域配置文件/etc/named.rfc1912.zones

[root@CentOS7 ~]# vim  /etc/named.rfc1912.zones
zone "haha.mytest.com" IN {
        type master;
        file "haha.zone";
        allow-transfer {192.168.29.0/24; };
};

 有规律的泛域名解析

(1) 全局转发: 对非本机所负责解析区域的请求,全转发给指定的服务器

实现:修改/etc/named.conf文件

options {
forward first|only;    
//first:转发到达的DNS服务器若解析失败,则自身直接发起DNS解析请求
//only:转发到达的DNS服务器若解析失败,则自身不再发起请求,本次DNS解析结果为失败
forwarders { ip;};
};

4 新建主服务器解析库文件/var/named/haha.zone

域名www.haha.mytest.com 对应IP 172.16.11.11
域名ftp. haha.mytest.com 对应IP 2.2.2.2

[root@CentOS7 ~]# vim /var/named/haha.zone
$TTL 1D
$ORIGIN haha.mytest.com.
@       IN SOA  haha.mytest.com. admin.haha.mytest.com. (
                                        20170528; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        IN  NS  @  ;  直接输入域名解析,访问haha.mytest.com
        IN  A     3.3.3.3;  
haha.mytest.com. IN     NS      ns2.haha.mytest.com.

ns2     IN      A       192.168.29.110
www     IN      A       172.16.11.11
ftp     IN       A      2.2.2.2

    stu1.tedu.cn --------> 192.168.10.1
    stu2.tedu.cn --------> 192.168.10.2

(2) 特定区域转发:仅转发对特定的区域的请求,比全局转发优先级高

实现:修改/etc/named.rfc1912.zones文件

zone "ZONE_NAME" IN {
type forward;
forward first|only;
forwarders { ip;};
};

5 语法检查

在两个服务器上都进行语法检查

[root@CentOS7 ~]# named-checkconf

    stu3.tedu.cn --------> 192.168.10.3
  ......

(3)实验一:实现全局转发
  • 第1步,转发服务器的设置:
vim /etc/named.conf
options{
  forward first;
  forwarders {192.168.136.139;};     //凡是不在本区域DNS服务器中的请求一律转发给192.168.136.139
  dnssec-enable no;
  dnssec-validation no;
};
named-checkconf
rndc reload
  • 第2步,被转发服务器:设置DNS服务
//步骤1:修改主配置文件
vim /etc/named.conf 

options {
  listen-on port 53 { localhost;};
  allow-query     { any; };
};

//步骤2:修改独立区域配置文件
vim /etc/named.rfc1912.zones

zone "byebye.com" IN {
  type master;
  file "byebye.com.zone";
};

//步骤3:创建解析库文件
vim /var/named/byebye.com.zone

$TTL 1D
@       IN SOA  dns1 admin.hellopeiyang.com. (
                                         101     ; serial
                                         1D      ; refresh
                                         1H      ; retry
                                         1W      ; expire
                                         3H )    ; minimum
         NS      dns1
 dns1    A       192.168.136.139
 websrv A        192.168.136.66
 www     CNAME   websrv

chgrp named /var/named/beijing.hellopeiyang.com.zone     //更改所属组

//步骤4:检查语法
named-checkconf
named-checkzone byebye.com /var/named/byebye.com.zone

//步骤5:重新载入配置
rndc reload
  • 第3步,测试
    dig www.byebye.com @192.168.136.230

澳门新浦京娱乐场网站 13

6 在两个服务器上开启服务

[root@CentOS7 ~]# systemctl start named

    stu60.tedu.cn --------> 192.168.10.60

(4)实验二:实现特定区域转发
  • 第1步,转发服务器的设置:
vim /etc/named.rfc1912.zones

zone "byebye.com" IN {
        type forward;
        forward first;
        forwarders {192.168.136.139;}; 
        //仅当请求解析beijing.hellopeiyang.com区域时,转发给192.168.136.224 
};
named-checkconf
rndc reload
  • 第2步,被转发服务器:设置DNS服务,与实验一:实现全局转发过程完全相同

  • 第3步,测试
    dig www.byebye.com @192.168.136.230

澳门新浦京娱乐场网站 14

7测试

[root@centos7 ~]# dig -t A  www.haha.mytest.com @192.168.29.100

; <<>> DiG 9.9.4-RedHat-9.9.4-37.el7 <<>> -t A www.haha.mytest.com @192.168.29.100
[…….]
;www.haha.mytest.com.       IN  A

;; ANSWER SECTION:
www.haha.mytest.com.    86400   IN  A   172.16.11.11

;; AUTHORITY SECTION:
haha.mytest.com.    86400   IN  NS  ns2.haha.mytest.com.

;; ADDITIONAL SECTION:
ns2.haha.mytest.com.    86400   IN  A   192.168.29.110

可以看到,已经可以成功解析

   $GENERATE 生成连续范围数字

(十)bind中的acl

  • acl:把一个或多个地址归并为一个集合,并通过一个统一的名称调用

  • 语法:

acl acl_name{
  ip;
  net/prelen;
  ……
};
  • acl只能先定义后使用,因此一般定义在/etc/named.conf文件中options前面

  • bind的内置acl

    • none:没有一个主机
    • any:任意主机
    • localhost:本机
    • localnet:本机的IP同掩码运算后得到的网络地址
  • 访问控制的指令

    • allow-query {}:允许查询的主机;白名单
    • allow-transfer {}:允许区域传送的主机;白名单
    • allow-recursion {}:允许递归的主机,建议全局使用
    • allow-update {}:允许更新区域数据库中的内容
  • 实验:使用acl功能只允许192.168.136.0网段的主机查询DNS服务
    编辑/etc/named.conf文件,添加acl设置,并且在allow-query字段中添加acl

vim /etc/named.conf

acl lan {
        192.168.136.0/24;
};

options {
        listen-on port 53 { localhost; };
        allow-query     { lan;localhost; };     //添加名为lan的acl
};

named-checkconf
rndc reload

此时,只有192.168.136.0/24的网段可以查询DNS其他网段的请求会被服务器拒绝

澳门新浦京娱乐场网站 15

   $GENERATE 1-60 stu$.tedu.cn.    A  192.168.10.$

 
虚拟机A上
1.修改地址库文件

  vim   /var/named/tedu.cn.zone

  *           A  10.10.10.10
  tedu.cn.    A  100.200.210.220
  $GENERATE 1-60 stu$  A 192.168.10.$

2.重起named服务

虚拟机B上客户端验证:

 nslookup  haha.tedu.cn
 nslookup  stu57.tedu.cn
 nslookup  tedu.cn

#####################################################
  DNS子域授权

 
        父域: www.tedu.cn          父域的DNS负责 tedu.cn

        子域:   www.bj.tedu.cn       子域的DNS负责 bj.tedu.cn  

     
      1.父域的DNS服务器,能够解析tedu.cn结尾的主机名
      2.子域的DNS服务器,能够解析bj.tedu.cn结尾的主机名

      3.父域的DNS服务器,能够解析bj.tedu.cn结尾的主机名
      4.子域的DNS服务器,能够解析tedu.cn结尾的主机名

 

 虚拟机B:  
1.搭建基本的DNS服务,安装 bind-chroot、bind
2.修改 /etc/named.conf 主配置文件
 options {
     directory     "/var/named";   
  };
  zone  "bj.tedu.cn"  IN {            
     type master;                  
     file "bj.tedu.cn.zone";      
  };

  1. 创建/var/named 地址库文件  “bj.tedu.cn.zone”
    [root@svr7 named]# cp  -p  named.localhost   bj.tedu.cn.zone
    [root@svr7 named]# vim bj.tedu.cn.zone
     bj.tedu.cn.   NS  pc207              
     pc207         A   192.168.4.207      
     www           A   1.2.3.4
    4.重起named服务,设置named开启服务
    [root@pc207 /]# nslookup www.bj.tedu.cn 192.168.4.207

##########################################################

   父域的DNS服务器,能够解析bj.tedu.cn结尾的主机名

 虚拟机A:
1.修改地址库文件/var/named/tedu.cn.zone
   tedu.cn.    NS  svr7
   bj.tedu.cn. NS  pc207
   svr7       A  192.168.4.7
   pc207      A  192.168.4.207
   www        A  1.1.1.1
   ftp        A  2.2.2.2
   *          A  10.10.10.10
   tedu.cn.   A  100.200.210.220
   $GENERATE 1-60 stu$  A 192.168.10.$

2.重起named服务

3.验证:nslookup  www.bj.tedu.cn 192.168.4.7

 

  递归解析:DNS服务器,与其他DNS服务器交互,最终将解析结果带回来的过程

  迭代解析:DNS服务器,与其他DNS服务器交互

#####################################################

     子域的DNS服务器,能够解析tedu.cn结尾的主机名

虚拟机B:
1.修改主配置文件
[root@pc207 /]# vim /etc/named.conf

  zone "tedu.cn" IN {
    type forward;
    forwarders  {  192.168.4.7;  };
  };

2.重起named服务
3.验证

[root@pc207 /]# nslookup  www.tedu.cn  192.168.4.207

########################################################

    完成虚拟机访问外网    

1.在真机实现,桥设备的创建(br0)
[root@room9pc14 /]# systemctl  status  NetworkManager(图形的)
[root@room9pc14 /]# systemctl  status  network (命令行)
[root@room9pc14 /]# systemctl  stop    NetworkManager(图形的)
[root@room9pc14 /]# systemctl  status  network (命令行)

    vim /etc/sysconfig/network-scripts/ifcfg-br0

    DEVICE=br0              #设备名
    TYPE=Bridge             #设备类型
    BOOTPROTO=none          #手工配置IP地址    
    ONBOOT=yes              #开机自起动
    IPADDR=172.40.50.114
    NETMASK=255.255.255.0
    GATEWAY=172.40.50.1

2.让真机的enp2s0真实网卡,连接br0,追加写入
    vim /etc/sysconfig/network-scripts/ifcfg-enp2s0
        BRIDGE=br0

3.重起network

######################################################

本文由澳门新浦京娱乐场网站发布于澳门新浦京娱乐场网站,转载请注明出处:工程师技术