DNS服务器搭建

DNS服务器分为:缓存服务器(非权威的答案),主DNS服务器,备份dns服务器
+++++++++++++++++++++++++++++++
client:一般采用递归查询
dns-server:一般采用迭代查询

+++++++++++++++++++++++++++++++
centos7.2(dns服务器需要有静态的ip地址)
如果你做实验给我搞个自动获取,就等着抓狂吧
DNS非常复杂,本文只介绍:正向解析;反向解析;主/从;缓存这几个方向 (分地域解析,子域授权,权限acl这里就不介绍了)

+++++++++++++++++++++++++++++++
软件安装&基础配置
yum install bind-chroot -y

修改主配置文件
vim /etc/named.conf

options {
 //将下行中的127.0.0.1修改为any,代表允许监听任何IP地址。
 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";
//将下行中的localhost修改为any,代表允许任何主机查询。
 allow-query { localhost; };
 recursion yes;
 dnssec-enable yes;
 dnssec-validation yes;
 dnssec-lookaside auto;
/* 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;};
 };

//此文件内定义了全球13台根DNS服务器的IP地址
 zone "." IN {
 type hint;
 file "named.ca";
 };
//此文件保存着正向与反向解析的区域信息,非常的重要。
 include "/etc/named.rfc1912.zones";
 include "/etc/named.root.key";

配置正向解析

在区域配置文件中加入要解析的域
    vim /etc/named.rfc1912.zones

zone "wsfnk.com" IN {
 type master;
 file "wsfnk.com.zone";
 allow-update {none;};
 };
将模板区域文件修改区域配置文件(注意cp时务必加上-a参数)
    cp -a /var/named/named.localhost /var/named/wsfnk.com.zone
修改模板区域文件
    vim /var/named/wsfnk.com.zone

$TTL 1D     #生存周期为1天
@     IN SOA     wsfnk.com.     root.wsfnk.com.     (
 #授权信息开始:     #DNS区域的地址     #域名管理员的邮箱(不要用@符号)
                 0;serial     #更新序列号
                 1D;refresh     #更新时间
                 1H;retry     #重试延时
                 1W;expire     #失效时间
                 3H;minimum     #无效解析记录的缓存时间
             NS       ns.wsfnk.com.     #域名服务器记录
             MX 10     mail.wsfnk.com.     #邮箱交换记录(这种域名形式的要放在前面)
ns       IN A     192.168.1.110     #地址记录(ns.wsfnk.com.)
mail     IN A     192.168.1.110     #地址记录(mail.wsfnk.com.)
www      IN A     192.168.1.110     #地址记录(www.wsfnk.com.)
bbs      IN A     192.168.1.1     #地址记录(bbs.wsfnk.com.)

检查配置有无语法错误
重启named服务
    systemctl restart named-chroot

配置反向解析

在主配置文件里加入下面几行
    vim /etc/named.rfc1912.zones

//注意下面的写法是倒着写的,还有只是一个网段
 zone "1.168.192.in-addr.arpa" IN {
 type master;
 file "192.168.1.zone";
 allow-update {none;};
 };

将反向解析的模板文件复制为192.168.1.zone
    cp /var/named/named.loopback /var/named/192.168.1.zone
    vim /var/named/192.168.1.zone

$TTL 1D
@     IN SOA     wsfnk.com.     root.wsfnk.com.     (
                   2016082603;serial
                   1D;refresh
                   1H;retry
                   1W;expire
                   3H);minimum
         NS     ns.wsfnk.com.
ns      A     192.168.1.110
110     PTR     ns.wsfnk.com.     #PTR为指针记录,仅用于反向解析中。前面的110表示192.168.1.110
1       PTR     mail.wsfnk.com.
1       PTR     www.wsfnk.com.

最后重要的一点
    chown :named /var/named/192.168.1.zone

配置从DNS服务器
1:在主服务器的区域信息文件中允许该从服务器的更新请求,并重新加载配置文件。
2:在从服务器中填写主服务器地址与要抓取的区域信息,并重新加载配置文件。
3:在从服务器中查看/var/named/slaves目录或使用nslookup验证试验结果。
第一步:将/etc/named.conf配置文件与主DNS服务器一样修改配置

第二步:并在主DNS服务器上允许更新
allow-update { 允许更新区域信息的主机地址;};

主DNS:如下操作vim /etc/named.rfc1912.zones

zone "wsfnk.com" IN {
type master;
file "wsfnk.com.zone";
allow-update { 192.168.1.105; };
};

zone "1.168.192.in-addr.arpa" IN {
type master;
file "192.168.1.zone";
allow-update { 192.168.1.105; };
};

从DNS:如下操作vim /etc/named.rfc1912.zones

zone "wsfnk.com" IN {
type slave;
masters { 192.168.1.110; };
file "slaves/wsfnk.com.zone";
};

zone "1.168.192.in-addr.arpa" IN {
type slave;
masters { 192.168.1.110; };
file "slaves/192.168.1.zone";
};

重启named服务之前,请确保dns为自身ip,
并使用named-checkconf检查主配置文件有无错误
检查区域配置文件是否有错误named-checkzone wsfnk.com.zone /var/named/wsfnk.com.zone
rndc status named.service
rndc reload
rndc flush
从DNS启动后查看/var/named/slaves目录下有没有
子域文件(有的话那就是同步成功咯)


配置缓存服务器(不需存在zone文件,通常用于加速,若client的DNS指向缓存服务器,则由缓存服务器代为查询)
vim /etc/named.conf
将监听IP端口与允许查询主机修改为any,再添加一行”forwarders { 上游DNS服务器地址; };”
上游DNS服务器地址指的是从何处取得区域数据文件,主要对比查询速度、稳定性、安全性等因素。
本次使用南昌移动DNS服务器:”211.141.90.68″,请读者选择前先Ping下能否通信,否则可能会导致解析失败!!

forwarders { 211.141.90.68; };
重启DNS服务器

bind检查正反向区域解析库文件配置

    named-checkzone "test.com" /var/named/test.com.zone
    named-checkzone "1.168.192.in.addr.arpa" /var/named/192.168.1.zone

dig 工具常见用法

dig -t A www.wsfnk.com    #解析A记录
dig -t A www.wsfnk.com @211.141.90.68 #使用南昌移动dns,解析A记录
dig -t MX wsfnk.com -p 5353  #使用非标准端口5353,解析MX记录
dig -t MX wsfnk.com -p 443  #使用非标准端口443,解析MX记录
dig -t NS www.wsfnk.com    #解析NS记录(解析权威DNS)
dig -x 211.141.90.68        #反向解析

rndc status
rndc flush    #清空DNS缓存

dig +trace  -t A www.wsfnk.com    #跟踪解析过程
dig +short -t A baidu.com  #简要输出
dig -t A www.wsfnk.com -b 192.168.1.2  #使用特定主机地址做dns解析
dig -t MX wsfnk.com +tcp  #使用tcp协议进行解析

使用 Dig 测试 DNSSEC
dig www.cloudflare.com @8.8.8.8 +dnssec     #查看是否有支持dnssec
dig cloudflare.com @8.8.8.8 +dnssec     #查看是否有支持dnssec

使用 Dig 查看 DNSSEC 信任链
域签名(例如:cloudflare.com)的完整验证涉及验证顶级域(例如:.com)的密钥签名密钥。  然后通过在根服务器级别检查 .com 的密钥签名密钥来执行类似的验证。DNSSEC 根密钥分发到 DNS 客户端以完成信任链。
启用 DNSSEC 后,注册商的 DNS 需要 DS 记录。DS 记录包含公共密钥签名密钥的哈希以及密钥的元数据。
使用 dig 查找 DS 记录:
dig www.cloudflare.com @8.8.8.8 +dnssec ds

这是陈涛老师的课件(关于DNSSEC验证的步骤及应用场景)

声明:本文为原创,作者为 辣条①号,转载时请保留本声明及附带文章链接:https://www.wsfnk.com/archives/57.html
微信打赏微信打赏

如果文章对你有帮助,欢迎点击上方按钮打赏作者

最后编辑于:2020/6/20作者: 辣条①号

现在在做什么? 接下来打算做什么? 你的目标什么? 期限还有多少? 进度如何?

暂无评论

发表评论

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