linux基础学习(十六)DNS服务器的相关配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux基础学习(十六)DNS服务器的相关配置相关的知识,希望对你有一定的参考价值。

                                                        DNS高速缓存

什么是DNS高速缓存?

DNS 服务器可以高速缓存从其他 DNS 服务器收到的 DNS 记录。 也可以在 DNS 客户服务中使用高速缓
存,将其作为 DNS 客户端保存在最近的查询过程中得到的信息高速缓存的方法。 总的来说就是提高解
析速度。

我们需要两台虚拟机,一台服务端,一台客户端
服务端:
安装DNS服务
yum install bind -y
运行DNS服务
systemctl start named
在火墙中添加DNS服务
firewall-cmd  --list-all    (列出火墙允许的服务名称)
firewall-cmd  --permanent  --add-service=dns    (添加DNS为火墙允许的服务)
firewall-cmd  --reload        (刷新火墙)
然后开始进行DNS配置
首先配置/etc/named.conf文件
vim /etc/named.conf
第11到17行如下,
options {
 11         listen-on port 53 { 127.0.0.1; };
 12         listen-on-v6 port 53 { ::1; };
 13         directory       "/var/named";
 14         dump-file       "/var/named/data/cache_dump.db";
 15         statistics-file "/var/named/data/named_stats.txt";
 16         memstatistics-file "/var/named/data/named_mem_stats.txt";
 17         allow-query     { localhost; };
将其进行更改为:
options {
 11         listen-on port 53 { any; };
 12         listen-on-v6 port 53 { ::1; };
 13         directory       "/var/named";
 14         dump-file       "/var/named/data/cache_dump.db";
 15         statistics-file "/var/named/data/named_stats.txt";
 16         memstatistics-file "/var/named/data/named_mem_stats.txt";
 17         allow-query     { any; };
 再将第32行进行修改
 32         dnssec-validation yes;       -->     32         dnssec-validation no;
 
 客户端:
 从服务端主机读取域名解析
 vim /etc/resolv.conf
 nameserver 172.25.254.101    (服务端主机IP)
 
 
 
                                                         DNS服务器的配置(正向解析)
做完上述步骤后
然后开始配置/etc/named.rfc1912.zones
 vim /etc/named.rfc1912.zones
 将第19到第23行复制到第25行,对粘贴的内容进行修改
 jpg
 
设置A记录
进入/var/named,将named.localhost完全复制为你刚才所写的文件名
cd /var/named
cp -p named.localhost lcdqqq.com.zone
vim lcdqqq.com.zone进行修改,改为如下所示
jpg
都更改后重启DNS服务
systemctl restart named
此时在客户端dig www.lcdqqq.com即可将域名转化为IP地址
3.jpg

                                                            DNS服务器的配置(反向解析)

服务端:
vim /etc/named.rfc1912.zones
把第37到42行复制粘贴到43行,修改成:
zone "254.25.172" IN {
 44         type master;
 45         file "lcdqqq.loopback";
 46         allow-update { none; };
 47 };
vim /var/named
ll
把named.loopback复制为lcdqqq.loopback
cp -p named.loopback lcdqqq.loopback   (-p:完全复制,连权限也复制)
进入文件进行修改:(在这个配置文件里都要以.结尾,不然自动补齐lcdqqq.com)
@       IN SOA dns.lcdqqq.com.   root.lcdqqq.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
                NS      dns.lcdqqq.com.
                A       172.25.254.201
1               PTR     www.lcdqqq.com.
101        PTR     www.hello.com.
此时再在客户端dig -x 172.25.254.1就会连接到
 
                                                                 DNS的内外网区分检测
修改etc/name.conf为:
view localnet {
match-clients { 172.25.254.101; };
        zone "." IN {
        type hint;
        file "named.ca";
};
include "/etc/named.rfc1912.zones";
};

view internet {
        match-clients {any;};
        zone "." IN {
        type hint;
        file "named.ca";
};
include "/etc/named.rfc1912.zones.inter";
};
把/etc/named.rfc1912.zones复制一份命名为name.rfc1912.zones.inter
在/var/named下把lcdqqq.com.zone复制为lcdqqq.com.inter
把所有254改为0
在/var/named下把lcdqqq.loopback复制为lcdqqq.loopback.inter
把所有254改为0
用172.25.254.101和172.25.254.1分别做测试

                                                                        DNS主从服务器 
如果DNS服务器负载过高,则需要多个DNS服务器,一个master服务器,多个slaves服务器
做法:
再另一台服务器上安装bind
把他的nameserver改成自己
vim /etc/named.conf
更改4个配置
vim /etc/named.rfc1912.zones
把第19到24行复制并粘贴在25行,进行修改
 25 zone "lcdqqq.com" IN {
 26         type slave;
        masters { 172.25.254.100; };
 27         file "lcdqqq.com.zone";
 28         allow-update { none; };
 29 };
再把主服务器的 vim /etc/named.rfc1912.zones
进行修改
 25 zone "lcdqqq.com" IN {
 26         type master;
 27         file "lcdqqq.com.zone";
 28         allow-update { 172.25.254.1; };
        allow-transfer { 172.25.254.1; };
        also-notify { 172.25.254.1; };
 29 };
 chmod 770 /var/named
 在主服务器更改A记录时,将  0       ; serial进行修改,把0改为2016112601(2016年11月26日第一次修改)
 这样从服务器就会自动同步
有权限的 从服务器也可以更新主服务器的A记录
nsupload
server 172.25.254.101    (主服务器的IP)
upload delete 
send
                                                                                        KEY
 可是这样一来有个问题,那就是所有IP为172.25.254.1的用户都可以更改主服务器的A记录,如果别人通过
 手动方式更改自己的IP,那么就获得了权限,这样是不安全的
 所以我们引入了key
 在主服务器上生成公私钥
 dnssec-keygen -a HMAC-MD5 -b 128 -n HOST lcdqqq
 通过ls查看生成的公钥私钥的文件名,通过cat来查看密钥里的内容
 在/etc/named.conf中logging上面一行写入include "/etc/lcdqqq.key"
 于是我们需要在/etc下有这个lcdqqq.key文件
 cp -p /etc/rndc.key  /etc/lcdqqq.key
 vim /etc/lcdqq.key进行修改
 将引号内的内容修改为你的钥匙名字
 将下面的密钥内容换成自己刚才生成的
 vim /etc/named.rfc1912.zones
 将allow-update中的参数由IP改为key lcdqqq
 然后将密钥通过scp发送给从服务器
 进入从服务器有密钥的目录
 nsupdate -k 私钥名字 
 server 172.25.254.101
 update add  86400 A 172.252.54.101
 send

以上是关于linux基础学习(十六)DNS服务器的相关配置的主要内容,如果未能解决你的问题,请参考以下文章

Linux系统管理连网

linux基础学习(十五)系统故障恢复及DNS服务配置

Linux网络服务学习之路——DNS域名系统服务之基础功能实验

linux基础学习-6.3-DNS的配置文件

Linux-dns基础知识和BIND的简单配置-2(正向解析和反向解析)

Linux-dns基础知识和BIND的简单配置-3(主从DNS服务器及转发)