zoukankan      html  css  js  c++  java
  • Linux网络服务第七章DNS域名解析服务

    端口:53

    一.DNS服务器

    正向解析:根据域名查IP地址,即将指定的域名解析为相对应的IP地址。域名的正向解析是DNS服务器最基本的功能,也是最常用的功能。

    反向解析:根据IP地址查域名,即将指定的IP地址解析为相对应的域名。域名的反向解析不是很常用,只在一些特殊场合才会用到,如可用于反垃圾邮件的验证。

    缓存域名服务器:只提供域名解析结果的缓存功能,目的在于提高查询速度和效率,但是没有自己控制的区域地址数据。构建缓存域名服务器时,必须设置根域或指定其他DNS服务器作为解析来源。

    主域名服务器:维护某一个特定DNS区域的地址数据库,对其中的解析记录具有自主控制权,是指定区域中唯一存在的权威服务器、官方服务器。构建主域名服务器时,需要自行建立所负责区域的地址数据文件。

    从域名服务器:与主域名服务器提供完全相同的DNS解析服务,通常用于DNS服务器的热备份。对客户机来说,无论使用主域名服务器还是从域名服务器,查询的结果都是一样的。关键区别在于,从域名服务器提供的解析结果并不是由自己决定的,而是来自于主域名服务器。构建从域名服务器时,需要指定主域名服务器的位置,以便服务器能自动同步区域的地址数据库。

    转发器:这台DNS发现非本机负责的查询请求时,不再向根域发起请求,而是直接转发给指定的一台或者多台服务器。自身并不缓存查询结果。

    二.DNS服务器的查询模式及域名解析

    域名解析过程:

    当一个用户的地址输入www.crushlinux.com时,DNS解析有大致是个过程:

    1.客户机想要获取ip地址,先找浏览器缓存,然后浏览器先检查自身缓存中中有没有被解析过这个域名,如果有解析结束。

    2.如果没有,再找hosts,hosts检查自己有没有解析过这个域名,如果有,解析结束

    3.如果没有,再找内网缓存服务器,来解析这个域名,

    4.如果没有,缓存服务器就会找根域名服务器请求解析,根域名无法解析,就返回给缓存服务器.com的顶级域

    5.缓存服务器再找.com的顶级服务器请求解析,.com域服务器也无法解析,返回给缓存服务器.crushlinux二级域

    6.缓存服务器再找.crushlinux.com二级域服务器请求解析,.crushlinux.com域服务器 可以解析,然后就给缓存服务器的ip地址。

    7.如果没有不可以解析,二级域会去找主机主服务器,www.crushlinux.com然后解析返回。

    三.搭建缓存服务器

    在CentOS7.x系统中,系统光盘自带了BIND服务的多个安装文件,各软件包的主要作用如下。

    bind:提供了域名服务的主要程序及相关文件。

    bind-utils:提供了对DNS服务器的测试工具程序,如nslookup等。

    bind-1ibs:提供了bind、bind-utils需要使用的库函数。

    bind-chroot:可选软件包,为BIND服务提供一个伪装的根目录(将/var/named/chroot/文件夹作为BIND的根目录),以提高安全性。也称为jail(监牢)机制

    默认已安装bind-utils和bind-libs,所以只需要安装bind即可。

    (1)关闭相关安全机制:

    iptables -F

    systemctl stop firewalld

    setenforce 0

    (2)修改主配文件

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

    options {

    listen-on port 53 { 192.168.200.111; };

    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.200.0/24; };

    recursion yes;

    };

    zone "." IN {//正向“.”根区域

            type hint;//类型为根区域

            file "named.ca";//区域数据文件为named.ca

    };

    有时候为了提高解析效率,也可以不向根区域查询,而是将来自客户端的查询请求转发给国内电信运营商的DNS服务器(如北京的202.106.0.20、 202.106.148.1),缓存服务器收到返回的查询结果后再传递给客户端。只要去掉“zone "." IN{ ……};”的设置,并在全局配置中正确设置forwarders参数即可实现该功能。

     

    [root@localhost etc]# vim named.conf

    options {

    ……//省略部分内容

    forwarders{202.106.0.20;   202.106.148.1;};

    };

    (3)启动服务

    systemctl start named

    四.搭建主从服务器

    (1)关闭相关安全机制:

    iptables -F

    systemctl stop firewalld

    setenforce 0

    主服务器:

    (1)安装bind

    [root@localhost ~]# yum -y install bind

    (2)修改相关文件

    [root@localhost ~]# vim/etc/resolv.conf

    # Generated by NetworkManager

    nameserver 192.168.200.111

    nameserver 192.168.200.112

    [root@localhost ~]# vim /etc/hosts

    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

    192.168.200.111 ns1.crushlinux.com

    192.168.200.112 ns2.crushlinux.com

    (3.)修改主配文件

     

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

    options {

    directory "/var/named";

    };

     

    zone "crushlinux.com" IN {      //正向"crushlinux.com"区域

    type master;            //类型为主区域

    file "crushlinux.zheng";      //区域数据文件为crushlinux. com. zone

    allow-transfer { 192.168.200.112; };  //允许从服务器地址下载正向域数据

    };

     

    zone "200.168.192.in-addr.arpa" IN {     //反向"192.168.200.0/24"区域

    type master;

    file "crushlinux.fan";

    allow-transfer { 192.168.200.112; };   //允许从服务器地址下载反向域数据

    };

    (4.)创建正向解析

    [root@localhost ~]# vim /var/named/crushlinux.zheng

    $TTL 86400       //有效解析记录的生存周期

    @ IN SOA crushlinux.com. admin.crushlinux.com. (  //SOA标记、域名、管理邮箱

    20190817       //更新序列号,可以是10位以内的整数 3H              //刷新时间,重新下载地址数据的间隔

    15M            // 重试延时,下载失败后的重试间隔

    1W             //失效时间,超过该时间仍无法下载则放弃

    1D             //无效解析记录的生存周期

    )

    IN NS ns1.crushlinux.com.

    IN NS ns2.crushlinux.com.

    IN MX 10 mail.crushlinux.com.

    ns1 IN A 192.168.200.111

    ns2 IN A 192.168.200.112

    mail IN A 192.168.200.113

    www IN A 192.168.200.114

    study IN A 192.168.200.115

    * IN A 192.168.200.111

    ftp IN CNAME www

    (5)创建反向解析

    [root@localhost ~]# vim /var/named/crushlinux.fan

    $TTL 86400

    @ IN SOA crushlinux.com. admin.crushlinux.com. (

    20190817    

    3H

    15M

    1W

    1D

    )

    IN NS ns1.crushlinux.com.

    IN NS ns2.crushlinux.com.

    IN MX 10 mail.crushlinux.com.

    111 IN PTR ns1.crushlinux.com.

    112 IN PTR ns2.crushlinux.com.

    113 IN PTR mail.crushlinux.com.

    114 IN PTR www.crushlinux.com.

    115 IN PTR study.crushlinux.com.

    111 IN PTR ns1.crushlinux.com.

    (6)修改正反向解析的组

    [root@localhost ~]# chown :named /var/named/crushlinux.*

    [root@localhost ~]# named-checkconf -z /etc/named.conf

    [root@localhost ~]# named-checkzone crushlinux.com /var/named/crushlinux.zheng

    [root@localhost ~]# named-checkzone crushlinux.com /var/named/crushlinux.fan

    [root@localhost ~]# systemctl restart named

     

    ===============================================================================

    从服务器:

    (1)安装bind

    [root@localhost ~]# yum -y install bind

    (2)修改相关关文件

    [root@localhost ~]# vim /etc/resolv.conf

    # Generated by NetworkManager

    nameserver 192.168.200.111

    nameserver 192.168.200.112

    [root@localhost ~]# vim/etc/hosts

    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

    192.168.200.111 ns1.crushlinux.com

    192.168.200.112 ns2.crushlinux.com

    (3.)修改主配文件

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

    options {

    directory "/var/named";

    };

    zone "crushlinux.com" IN {     //正向"crushlinux.com"区域

    type slave;            //类型为从区域

    file "slaves/crushlinux.zheng";  //下载的区域文件保存到slave/crushlinux. com. zone

    masters { 192.168.200.111; };   //指定主服务器的IP地址

    };

    zone "200.168.192.in-addr.arpa" IN {  //反向"173.16.16.0/24"区域

    type slave;

    file "slaves/crushlinux.fan";

    masters { 192.168.200.111; };

    };

    (4)开启服务

    [root@localhost ~]# systemctl restart named

  • 相关阅读:
    设计模式之工厂模式-抽象工厂(02)
    1036 跟奥巴马一起编程 (15 分)
    1034 有理数四则运算 (20 分)
    1033 旧键盘打字 (20 分)
    1031 查验身份证 (15 分)
    大学排名定向爬虫
    1030 完美数列 (25 分)二分
    1029 旧键盘 (20 分)
    1028 人口普查 (20 分)
    1026 程序运行时间 (15 分)四舍五入
  • 原文地址:https://www.cnblogs.com/ZCQ123456/p/11445746.html
Copyright © 2011-2022 走看看