Centos 安装 DNS 服务

DNS 简介git

    网络通讯中,数据链路层使用 MAC 地址,网络层使用 IP 地址,传输层使用端口号;数据库

    每台计算机都须要有本身的 IP 地址,这样才能保证信息传输的正确性,可是 IP 地址由数字构成,难以记忆和表达它的实际用途,因此用形象的域名来代替 IP 地址方便交流和记忆;vim

    网络通讯中数据包的传输仍是须要靠 IP 地址来进行,IP 地址填写在数据包的头部,才能进行数据的传输,当 www.test.com 向 www.test1.com 发送信息的时候,首先必须将这两个域名转化成实际的 IP 地址;缓存

    DNS 服务就是完成域名到 IP 或者 IP 到域名的解析(翻译),而安装了 DNS 服务的计算机就是 DNS 服务器;安全

    实现域名解析的方法主要有:服务器

    1)hosts 文件,要求全部互相解析的机器必须都配置;网络

    2)NIS 集中管理域名,只适合局域网;session

    3)DNS 实现域名的层次化,分布式管理;tcp

 

1、安装 DNS分布式

    DNS 服务有 BIND 软件提供:yum install bind bind-utils bind-chroot

 

2、配置 DNS 服务器

    DNS 服务的主要配置有:

        /etc/named.conf        主要配置文件,配置端口、安全、日志等

        /etc/named.rfc1912.zones    定义正反解区域相关

        正向解析:经过域名查找 IP;

          反向解析:经过 IP 查找域名;

        /var/named/        正反解数据库

    一、配置 /etc/named.conf

        cp /etc/named.conf /etc/named.conf.bk

        DNS 配置文件中注释为双斜杠 //

        vim /etc/named.conf

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

options {
        //listen-on port 53 { 127.0.0.1; };
        //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 查询

        /*
         - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
         - If you are building a RECURSIVE (caching) DNS server, you need to enable
           recursion.
         - If your recursive DNS server has a public IP address, you MUST enable access
           control to limit queries to your legitimate users. Failing to do so will
           cause your server to become part of large scale DNS amplification
           attacks. Implementing BCP38 within your network would greatly
           reduce such attack surface
        */
        recursion yes;

        //dnssec-enable yes; 
        //dnssec-validation yes;

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

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

        pid-file "/run/named/named.pid";
        session-keyfile "/run/named/session.key";
};

 

添加接收到查询请求时,会先转发到forwarders指定的DNS,查不到再执行递归

        forward first;                     

        forwarders {                      //(接上面)固然,在转发以前,还会先查本地缓存

               DNS IP1;

               DNS IP2;

       };

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

    二、配置 /etc/named.rfc1912.zones

        cp /etc/named.rfc1912.zones /etc/named.rfc1912.zones.bk

        vim /etc/named.rfc1912.zones

        定义 baidu.com 正向解

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

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

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

        定义 zone 文件 baidu.com.zone

    三、配置 /var/named/ 数据库文件

        建立正向解析数据库文件 /var/named/baidu.com.zone

        vim /var/named/baidu.com.zone

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

$TTL 600
@       IN     SOA     dns.baidu.com.    admin.baidu.com. (
                        2015091901
                        1H
                        5M
                        3D
                        12H
)
        IN     NS      dns
dns     IN     A       xxx.xxx.xxx.xxx
www   IN     A       xxx.xxx.xxx.xxx

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

    四、启动服务

        systemctl start named     -------    启动 DNS 服务

        systemctl status named       -------   查看 DNS 服务状态

        systemctl stop named    -------    中止 DNS 服务

        systemctl enable named    ------    开机自启 DNS

    五、测试

        nslookup www.baidu.com 

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

Server:        10.143.22.118            
Address:    10.143.22.118#53        -------    DNS 服务器地址

Non-authoritative answer:
www.baidu.com    canonical name = www.a.shifen.com.
Name:    www.a.shifen.com
Address: 220.181.112.244
Name:    www.a.shifen.com
Address: 220.181.111.188                -------    DNS  服务器解析的地址

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

 

六、端口

        DNS 需开启 53 tcp udp 端口  

        阿里云 Centos 7 上默认使用 firewall 控制防火墙,须要打开 53 端口;

        firewall-cmd --add-port=53/tcp

        firewall-cmd --add-port=53/udp

        须要永久生效添加选项:--permanent

        Centos 7 默认没有安装 iptables,若是要使用 iptables:

        yum install iptables.services 

        systemctl enable firewalld 

        systemctl stop firewalld

        默认安装完 iptables 以后,会有下面两条规则:

        -A FORWARD -j REJECT --reject-with icmp-host-prohibited

        -A INPUT -j REJECT --reject-with icmp-host-prohibited

        会拦截掉转发和接收的 icmp 包;未细研究,注释掉便可;

 

七、解析文件

        vim /etc/resolv.conf

相关文章
相关标签/搜索