dns服务器搭建及配置测试流程

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Vincent95/article/details/81315419

1、使用 bind(Berkeley Internet Name Domain)搭建 DNS(Domain Name System)服务器

安装。
yum -y install bind-chroot

可先查询是否已经安装:
rpm -q bind
rpm -q bind-chroot

相关文件列表

描述 路径
主程序 /usr/sbin/named
主配置文件 /etc/named.conf
区域配置文件 /etc/named.rfc1912.zones
自定义域模板配置文件 /var/named/named.localhost

2、修改主配置文件

vim /etc/named.conf

#listen-on port 53 { 127.0.0.1;};//127.0.0.1修改为any,代表允许监听任何IP地址。
listen-on port 53 { any; }; 
#allow-query { localhost;};localhost修改为any,代表允许任何主机查询。
allow-query { any; };
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
// See the BIND Administrator's Reference Manual (ARM) for details about the
// configuration located in /usr/share/doc/bind-{version}/Bv9ARM.html

options {
    #listen-on port 53 { 127.0.0.1; };
    //  注释此行
    //  ipv4的监听端口设置,{}内表示的ip表示向哪些客户端提供 named服务,默认只有本机
    //  这里我们把它改成 any,不对客户端限制
    listen-on port 53 { any; };
    listen-on-v6 port 53 { ::1; };  // ipv6监听端口设置
    directory   "/var/named";   // zone区域文件目录
    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; };
    // 开放访问权限
    allow-query     { any; };

    // 添加forwarders,指向其它DNS服务器,可根据需要添加
    #forwarders { 
    #   202.106.196.115;  
    #};

    /* 
     - 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";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {               // "."代表根区域 
    type hint;              // 根区域的类型就为hint
    file "named.ca";        // 指定zone文件,默认已经生成
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

3、配置区域数据信息

vim /etc/named.rfc1912.zones
直接在后面追加,不要删已有的数据。

zone "jjmusic.com" IN {     // 正向解析 
        type master;
        file "named.jjmusic.com.zone";  // 自定义 域名->ip 的正向解析配置文件
        allow-update { none; };
};

// 如果需要配置逆向解析可以添加
// 逆向解析:从 ip->解析出域名
zone "1.168.192.in-addr.arpa" IN {      // 本地内网为192.168.1.x
        type master;  
        file "named.192.168.1.arpa";    // 自定义的IP到域名的反向解析配置文件
        allow-update { none; };
};  

4、配置解析数据文件

4.1、配置正向解析数据文件named.jjmusic.com.zone

先查看模板文件cat named.localhost

$TTL 1D ; 生存期, 默认单位为秒,另可设定为[W|D|H|M] 
; [zone] IN SOA [主机名] [管理员email] ([五组更新时间参数])  
; @=>zone IN SOA @=>主机名 rname.invalid.=>email  
; @代表根域  
; rname.invalid.解析为rname@invalid,第一个"."为"@"的替代,尾部的"."为根域,表明其为绝对URL。
@   IN SOA  @ rname.invalid. (
                    0   ; serial
                    1D  ; refresh
                    1H  ; retry
                    1W  ; expire
                    3H )    ; minimum
    NS  @   ; 直接输入域名,访问@
    A   127.0.0.1   ; 解析到ipv4对应的 IP
    AAAA    ::1     ; 解析到ipv6对应的 IP

拷贝模版文件named.localhost进行修改

[root@Centos ~]# cd /var/named/
[root@Centos named]# cp -a named.localhost named.jjmusic.com.zone
[root@Centos named]# vim named.jjmusic.com.zone
$TTL 1D
@   IN SOA  ns1.jjmusic.com *.gmail.com. (
                    0   ; serial
                    1D  ; refresh
                    1H  ; retry
                    1W  ; expire
                    3H )    ; minimum
        NS  ns1.jjmusic.com
        NS  ns2.jjmusic.com
        A   221.123.177.226 ;外网ip
        A   192.168.1.111   ;内网ip
ns1     A   192.168.1.112   ;dns1内网ip
ns2     A   192.168.1.113   ;dns2内网ip
www     A   192.168.1.122   ;子域名对应ip
store   A   192.168.1.133   ;子域名对应ip
img     A   192.168.1.144   ;子域名对应ip
www1    CNAME   www.jjmusic.com.   ;别名记录
        AAAA    ::1         ; 解析到ipv6对应的 IP

dns记录类型说明:
1) A 记录: 指定域名或子域名对应的IP地址
2) AAAA 记录: 指定域名对应的IPV6的IP地址
3) CNAME 记录: 通常称别名解析。可以将注册的不同域名都转到一个域名记录上,由这个域名记录统一解析管理,与A记录不同的是,CNAME别名记录设置的可以是一个域名的描述而不一定是IP地址
4) NS 记录: NS(Name Server)记录是域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析。 您注册域名时,总有默认的DNS服务器,每个注册的域名都是由一个DNS域名服务器来进行解析的,DNS服务器NS记录地址一般以以下的形式出现: ns1.domain.com、ns2.domain.com等。简单的说,NS记录是指定由哪个DNS服务器解析你的域名。
5) MX 记录: MX(Mail Exchanger)记录是邮件交换记录,它指向一个邮件服务器,用于电子邮件系统发邮件时根据收信人的地址后缀来定位邮件服务器。例如,当Internet上的某用户要发一封信给 [email protected] 时,该用户的邮件系统通过DNS查找mydomain.com这个域名的MX记录,如果MX记录存在, 用户计算机就将邮件发送到MX记录所指定的邮件服务器上。
6) TXT 记录: 一般指某个主机名或域名的说明,如:admin IN TXT “管理员, 电话:XXXXXXXXXXX”,mail IN TXT “邮件主机,存放在xxx , 管理人:AAA”,Jim IN TXT “contact: [email protected]”,也就是您可以设置 TXT 内容以便使别人联系到您。 TXT的应用之一,SPF(Sender Policy Framework)反垃圾邮件。SPF是跟DNS相关的一项技术,它的内容写在DNS的TXT类型的记录里面。MX记录的作用是给寄信者指明某个域名的邮件服务器有哪些。SPF的作用跟MX相反,它向收信者表明,哪些邮件服务器是经过某个域名认可会发送邮件的。SPF的作用主要是反垃圾邮件,主要针对那些发信人伪造域名的垃圾邮件。例如:当邮件服务器收到自称发件人是[email protected]的邮件,那么到底它是不是真的gmail.com的邮件服务器发过来的呢,我们可以查询gmail.com的SPF记录,以此防止别人伪造你来发邮件。
7) PTR 记录:PTR是pointer 的简写。 “PTR”就是”反向DNS”,
domain name pointer,可以粗略的理解为DNS反向
Domain Name Pointer. 是一个指针记录,用于将一个IP地址映射到对应的主机名,也可以看成是A记录的反向,通过IP访问域名,原来是通过域名访问IP)
如何顺利做好反向解析?首先要有固定公网IP地址、可用域名(最好不要被其它服务所用),例如您有lunch-time.com的域名,您可以要求您的域名注册商为您添加一个okmail.lunch-time.com的域名  并将其A记录指向您的SMTP服务器出口公网IP地址,如:220.112.20.18,接着请与您的固定IP所属ISP联系要求为您的IP反向解析至okmail.lunch-time.com。完成后别忘了将您的SMTP服务器的HELO域名改为okmail.lunch-time.com,这样才可以达到目的。
另:
1、做好反向解析后发往sina.com的信件有可能会被转至“不明邮件夹”中,此时请您与sina.com联系,要求为您解决该问题。
2、查看反向解析是否成功,可用如下命令:nslookup –qt=ptr yourIP,从返回的信息中您可以看到反向解析的结果。
3、一定要有固定公网IP地址以及真实可用域名。同时要注意反向解析的域名的A记录一定要指向该IP!
4、对于有多个固定公网IP地址的,只要做主要出口IP的反向解析即可,不管您有多少SMTP服务器,只要是通过该IP连接至外网就将这些SMTP服务器的HELO域名改成IP反向解析之域名即可。(和这些SMTP服务器上的地址域是无关的)

摘自https://yq.aliyun.com/articles/331012

4.1、配置逆向解析数据文件(如果需要的话)named.192.168.1.arpa

拷贝模版文件named.loopback进行修改

[root@Centos ~]# cd /var/named/
[root@Centos named]# cp -a named.loopback named.192.168.1.arpa
[root@Centos named]# vim named.192.168.1.arpa
$TTL 1D
@   IN SOA  @ rname.invalid. (
                    0   ; serial
                    1D  ; refresh
                    1H  ; retry
                    1W  ; expire
                    3H )    ; minimum
    NS  @
111 PTR jjmusic.com
122 PTR www.jjmusic.com
133 PTR store.jjmusic.com
111 PTR img.jjmusic.com
    A   127.0.0.1
    AAAA    ::1
    PTR localhost.

5、重启named,使配置立即生效

重启之前可以先检查一下配置文件的正确性。
/usr/sbin/named-checkconf -z
重启。
systemctl restart named/sbin/service named start


6、校验解析结果

6.1 Linux Client验证

将客户端的dns设置为刚才修改的服务器ip。
vim /etc/resolv.conf

# Generated by NetworkManager
search test
nameserver 122.11.47.184     #新加DNS服务器地址
nameserver 114.114.114.114
nameserver 8.8.8.8

nolookup命令用于查询域名与ip的解析记录。

# nslookup 
> jjmusic.com
Server:     122.11.47.184
Address:    122.11.47.184#53

Name:    jjmusic.com
Address: 192.168.1.111
> www.jjmusic.com
Server:     122.11.47.184
Address:    122.11.47.184#53

Name:    www.jjmusic.com
Address: 192.168.1.122
> store.jjmusic.com
Server:     122.11.47.184
Address:    122.11.47.184#53

Name:    store.jjmusic.com
Address: 192.168.1.133
> img.jjmusic.com
Server:     122.11.47.184
Address:    122.11.47.184#53

Name:    img.jjmusic.com
Address: 192.168.1.144

6.2 Windows Client验证

先修改 DNS服务器地址

#ipconfig /flushdns  // 刷新 dns解析缓存
#nslookup
> jjmusic.com
Server:     122.11.47.184
Address:    122.11.47.184#53

Name:    jjmusic.com
Address: 192.168.1.111
> www.jjmusic.com
Server:     122.11.47.184
Address:    122.11.47.184#53

Name:    www.jjmusic.com
Address: 192.168.1.122

参考

https://www.cnblogs.com/heiye123/articles/7687922.html
https://www.cnblogs.com/zydev/p/6293745.html
http://leitelyaya.iteye.com/blog/808266


猜你喜欢

转载自blog.csdn.net/Vincent95/article/details/81315419