Centos7安装部署NSD进行多域名DNS解析 - 开发说
当前位置: 主页 » DNS » Centos7安装部署NSD进行多域名DNS解析

Centos7安装部署NSD进行多域名DNS解析

      2019年09月29日   阅读 2,342 次     0 评论   Tags: · ·

NLnet实验室名称服务器守护程序(NSD)是权威的DNS名称服务器(只负责解析域名)。它被开发用于在速度,可靠性,稳定性和安全性非常重要的环境中的操作。

NSD拥有纯粹的设计理念,优先考虑原始性能。这意味着,如果您每秒处理数十万甚至数百万个查询,则NSD是世界领先的实现。这使得名称服务器非常适合顶级域实现,DNS根服务器以及需要快速和优化的权威名称服务器的任何人。当前,三台DNS根服务器和许多顶级域注册表使用NSD作为其服务器实现的一部分。

据说开源代码托管平台Github就是在用NSD和Unbound。

NSD有两款程序,一款是NSD是权威服务器,只负责域名解析,另一款是Unbound只负责验证,递归,缓存解析器,注意Unbound并不能直接设置域名的zone文件,其实unbound也是也可以设置 local-zone 来实现域名的DNS解析,不推荐,,可以参考:https://www.nlnetlabs.nl/documentation/unbound/unbound.conf/ 来设置 local-zone 。

一般情况下:Unbound在外围,负责 解析/递归/缓存 NSD权威域名服务器中设置的域名记录,怎么理解呢?就是用户查询域名的A记录,实际上是请求的Unbound服务器,然后Unbound在请求NSD权威域名服务器,这点和反代很像。

目前本站DNS解析由两台Powerdns和一台NSD共同完成并实现 DDOS攻击秒级切换至高防服务器

NSD官网:https://www.nlnetlabs.nl/projects/nsd/about/

更多参考:

基于运营商的分布式DNS搭建
自建DNS权威服务器全过程(多域名解析)
利用powerdns自建DNS服务器
Centos7安装NSD和Unbound主从DNS解析多域名

一、安装部署NSD


###安装EPEL源
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

###安装nsd软件
yum install  nsd

###生成nsd所需的密钥文件
nsd-control-setup

二、编辑NSD配置文件 vi /etc/nsd/nsd.conf


server:
    ip-address: 1.1.1.1  #DNS服务器外网IP
    do-ip4: yes          #监听ipv4
    port: 53             #端口
    username: nsd        #使用nsd用户运行
    zonesdir: "/etc/nsd"     #配置文件目录
    logfile: "/var/log/nsd.log"   #日志文件 
    pidfile: "/run/nsd/nsd.pid"   #进程pid文件


remote-control:
    control-enable: yes      #运行管理主机控制,这点和bind有点相似
    control-interface: 127.0.0.1   #运行管理主机IP
    control-port: 8952    #管理端口
    server-key-file: "/etc/nsd/nsd_server.key"    #一系列密钥文件:nsd-control-setup 生成的
    server-cert-file: "/etc/nsd/nsd_server.pem"
    control-key-file: "/etc/nsd/nsd_control.key"
    control-cert-file: "/etc/nsd/nsd_control.pem"

zone:
    name: "toydns.com"    #域名zone文件,这点和bind也很像,bind也需要zone文件
    zonefile: "toydns.com.zone"

zone:
    name: "kaifashuo.com"
    zonefile: "kaifashuo.com.zone"

三、配置域名的 toydns.com.zone / kaifashuo.com.zone 的zone文件,zone文件的作用就是记录域名的 A/AAAA/MX/TXT 记录



###toydns.com.zone 文件

[root@ns3 nsd]# cat toydns.com.zone 
$ORIGIN toydns.com.
$TTL 1800
@       IN      SOA     toydns.com.      admin.toydns.com. (
                        2019092301        ; serial number
                        3600                    ; refresh
                        900                     ; retry
                        1209600                 ; expire
                        1800                    ; ttl
                        )
; Name servers
                    IN      NS      ns1.toydns.com.

; A records for name servers
ns1                 IN      A       1.1.1.1



###kaifashuo.com.zone 文件

[root@ns3 nsd]# cat kaifashuo.com.zone 
$ORIGIN kaifashuo.com.
$TTL 1800
@       IN      SOA     kaifashuo.com.      admin.kaifashuo.com. (
                        2019092301        ; serial number
                        3600                    ; refresh
                        900                     ; retry
                        1209600                 ; expire
                        1800                    ; ttl
                        )
; Name servers
                    IN      NS      ns1.toydns.com.

; A records for name servers
ns1                 IN      A       1.1.1.1

; Additional A records
@                   IN      A       2.2.2.2
www                 IN      A       3.3.3.3

四、开放防火墙53端口


firewall-cmd --zone=public --add-service=dns --permanent

or

firewall-cmd --zone=public --add-port=53/udp --permanent

firewall-cmd --reload

四、使用dig命令验证,dig命令需要安装bind-utils软件,命令: yum install bind-utils -y



[root@ns3 nsd]# dig -qt=a kaifashuo.com @1.1.1.1  (注意:这里是你的外网IP地址,并不是127.0.0.1,因为我们在nsd.conf配置中监听的外网IP地址)

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> -qt=a kaifashuo.com @37.228.150.60
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 16013
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;t=a.				IN	A

;; AUTHORITY SECTION:
.			86375	IN	SOA	a.root-servers.net. nstld.verisign-grs.com. 2019092900 1800 900 604800 86400

;; Query time: 18 msec
;; SERVER: 8.8.4.4#53(8.8.4.4)
;; WHEN: Sun Sep 29 09:48:26 CST 2019
;; MSG SIZE  rcvd: 107

;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 65460
;; flags: qr aa rd; QUERY: 1, ANSWER: 4, AUTHORITY: 3, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;kaifashuo.com.			IN	A

;; ANSWER SECTION:
kaifashuo.com.		1800	IN	A	2.2.2.2

;; AUTHORITY SECTION:
kaifashuo.com.		1800	IN	NS	ns1.toydns.com.

  • 版权声明:本文版权归开发说和原作者所有,未经许可不得转载。文章部分来源于网络仅代表作者看法,如有不同观点,欢迎进行交流。除非注明,文章均由 开发说 整理发布,欢迎转载,转载请带版权。

  • 来源:开发说 ( https://www.kaifashuo.com/ ),提供主机优惠信息深度测评和服务器运维编程技术。
  • 链接:https://www.kaifashuo.com/1531.html
  • 评论(0

    1. 还没有任何评论,你来说两句吧

    发表回复

    您的电子邮箱地址不会被公开。 必填项已用 * 标注