Ⅲ第五章学习博客(DNS服务器部署)

Linux修炼之旅第五章!

本章对dns服务器部署相关的常用基础功能进行了系统的介绍,内容包括高速缓存dns,dns的正,反向解析,dns集群以及动态域名解析ddns。
下面我们就开始吧


一、DNS简介及常见错误信息

dns:
domain name service(域名解析服务)
配置文件中的A
就是A记录
ip地址叫做域名的Address 记录
SOA
授权起始主机

关于报错信息:
1.no servers could be reached #服务无法访问(服务开启?火墙?网络?端口?)
2.服务启动失败 #配置文件写错 journalctl -xe查询错误
3.dig 查询状态
NOERROR #表示查询成功
REFUSED #服务拒绝访问
SERVFAIL #查询记录失败,(dns服务器无法到达上级,拒绝缓存)
NXDOMAIN #此域名A记录在dns中不存在

二、dns服务的安装与启用

首先安装bind
dnf install bind -y
启用服务

systemctl enable --now named
firewall-cmd --permanent --add-service=dns
firewall-cmd --reload

然后打开主配置文件做如下调整
请添加图片描述

在这里插入图片描述
最后重启服务
systemctl restart named
请添加图片描述

三、高速缓存dns

在企业中配置一台dns服务器,内网主机都可以从dns服务器中获取dns,大大提升效率。
如何做呢?
实验前确保dns服务主机可以联网
本次实验dns主机为126主机(172.25.254.126)
首先将dns服务器的dns设置为114.114.114.114
vim /etc/resolv.conf
加上
nameserver 114.114.114.114
请添加图片描述然后在主配置文件中
vim /etc/named.conf
增加一行
forwarders { 114.114.114.114; };
效果如下
请添加图片描述然后在一台主机中将dns地址设置为该主机的ip
本实验是在226主机中
vim /etc/resolv.conf
输入
nameserver 172.25.254.126
尝试输入
dig www.baidu.com
请添加图片描述然后再去dns服务器中
dig www.baid.com
让服务器获取dns
请添加图片描述这时再让客户端
dig www.baidu.com
请添加图片描述可以看到时间花费为0s
大大提升了效率

四、dns的正向解析

首先将dns服务主机的dns设定为自己的ip
vim /etc/resolv.conf
请添加图片描述
然后将主配置文件中上一个实验的指向注释diao
vim /etc/named.conf
请添加图片描述
为了防止主配置文件过长,很多情况下可以将配置文件放在具有相同效果的include后的文件中
请添加图片描述
那我们输入这个文件绝对路径
vim /etc/named.rfc1912.zone
然后编辑文件
加入如下内容

zone "westos.com" IN {  #维护的域名
type master;			#当前服务器位主dns
file "westos.org.zone"; #域名A记录文件
allow-update { none; }; #允许更新主机列表
};

请添加图片描述
然后带权限复制文件模板,更名为自己文件中书写的域名

[root@dns ~] cd /var/named/
[root@dns named] cp -p named.localhost westos.org.zone
[root@dns named] ll
total 20
drwxrwx---. 2 named named   23 Dec  2 16:44 data
drwxrwx---. 2 named named   60 Dec  2 19:06 dynamic
-rw-r-----. 1 root  named 2253 Feb 27  2020 named.ca
-rw-r-----. 1 root  named  152 Feb 27  2020 named.empty
-rw-r-----. 1 root  named  152 Feb 27  2020 named.localhost
-rw-r-----. 1 root  named  168 Feb 27  2020 named.loopback
drwxrwx---. 2 named named    6 Feb 27  2020 slaves
-rw-r-----. 1 root  named  152 Feb 27  2020 westos.org.zone

复制完模板以后需要自己编辑文件
vim westos.org.zone

$TTL 1D
@       IN SOA   dns.westos.org. root.westos.org. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns.westos.org.
dns     A       172.25.254.126
www     A       172.25.254.111

请添加图片描述完成上述操作以后再重启系统

systemctl restart named

可以去客户主机(226)上试试效果
dig www.westos.org
请添加图片描述
可以看到“172.25.254.111“
就是之前我们再配置文件中想让客户主机解析到的内容

五、dns的反向解析

与正向解析相反,此操作可以将域名解析为ip
首先编辑文件
vim /etc/named.rfc1912.zones
加上内容

zone "254.25.172.in-addr.arpa" IN {
        type master;
        file "172.25.254.ptr";
        allow-update { none; };
};

请添加图片描述然后将带权限复制反响解析文件模板
cd /var/named/
cp -p named.loopback 172.25.254.ptr

然后编辑这个文件
vim 172.25.254.ptr
为如下内容

$TTL 1D
@       IN SOA  dns.westos.org. rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns.westos.org.
dns     A       172.25.254.126
126     PTR     shy.westos.org.
~                                                                                                                      
~                                              

请添加图片描述
之后就可以去客户主机中测试了
dig -x 172.25.254.126
可以看到域名shy.westos.org.成功解析为172.25.254.126
请添加图片描述

六、dns的双向解析

这个实验需要用到2个客户端,并将服务主机设定两个网段的ip
类似于内部网段和外部网段

1网段的ip情况
请添加图片描述服务机的ip情况

请添加图片描述

首先去主被配置文件控制不同网段访问的控制路径
让不同网段的主机访问不同的内容
vim /etc/named.conf
先将默认的访问文件注释掉
请添加图片描述然后输入访问控制代码

view loaclnet{
        match-clients{ 1.1.1.0/24 ;};
        zone "." IN {
                type hint;
                file "named.ca";
        };
        include "/etc/named.rfc1912.inter";
};
view anyone {
        match-clients{ any ;};
        zone "." IN {
                type hint;
                file "named.ca";
        };
        include "/etc/named.rfc1912.zones";
};

请添加图片描述
然后根据该文件中的指向编写相应的访问文件

[root@dns ~] cd /var/named/
[root@dns named] ls
172.25.254.ptr  data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves  westos.org.zone
[root@dns named] cp westos.org.zone westos.org.inter -p
[root@dns named] chgrp named westos.org.inter 
[root@dns named] ls -l westos.org.inter 
-rw-r-----. 1 root named 202 Dec  2 19:47 westos.org.inter
[root@dns named] cp /etc/named.rfc1912.zones /etc/named.rfc1912.inter -p

然后对复制过来的文件进行修改
vim /etc/named.rfc1912.inter
将本来的文件名改为westos.org.inter

zone "westos.org" IN {
        type master;
        file "westos.org.inter";
        allow-update { none; };
};

请添加图片描述

vim westos.org.inter

可以看到inter对应的文件均为1网段的

$TTL 1D
@       IN SOA   dns.westos.org. root.westos.org. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
                NS      dns.westos.org.
dns             A       1.1.1.126
www             CNAME   shy.a
shy.a           A       1.1.1.126
shy.a           A       1.1.1.226
westos.org.     MX 1    1.1.1.226                                        

请添加图片描述
测试前再检查下zone文件,即172网段访问时的指向文件
请添加图片描述
最后重置一下服务
systemctl restart name
测试效果
在1网段主机中 可以看到访问到的是1网段对应的内容
请添加图片描述
在172网段中访问的是172网段的内容
请添加图片描述

七、dns集群

本实验需要2个虚拟机
将两个虚拟机的网段都设定为172网段
两台主机都需要安装bind
并开启服务
具体步骤看本章一开始的说明
在主dns服务器中更改zone文件配置文件
修改serial值,可以按照年月日设置比如我们设置2021120201就是2021年12月2日的第一次改动
vim westos.org.zone

$TTL 1D
@       IN SOA   dns.westos.org. root.westos.org. (
                                        2021120201      ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns.westos.org.
dns             A       172.25.254.126
www             CNAME   shy.a
shy.a           A       172.25.254.11
shy.a           A       172.25.254.22
westos.org.     MX 1    172.25.254.222

然后在1912zone文件中让主dns更改内容时通知别的客户端
很简单
编辑文件vim /etc/named.rfc1912.zones
加上also-notify { 172.25.254.226 ;};
效果如下
请添加图片描述
然后退出重启服务
systemctl restart named

再客户端主机中,就是副dns主机226
完成服务安装步骤后关掉火墙
修改1912zone文件
vim /etc/named.rfc1912.zones

zone "westos.org" IN {
        type slave;
        masters{ 172.25.254.126; };
        file "slaves/westos.org.zone";
};

重启服务
就可以测试了
请添加图片描述

此时我们再去主dns服务其中修改
改为第二次,并且修改解析内容
请添加图片描述
可以看到会自动同步

请添加图片描述

八、ddns(dhcp+dns)

顾名思义ddns服务器就是dns服务器与dhcp服务器的集合,可以使客户主机实现随机分配ip并获得域名解析的能力。在配置ddns服务器的时候也是分两部来进行操作的。
首先需要将服务主机配置成dhcp服务器
首先需要安装dhcp服务
dnf install dhcp-server -y
然后配置dhcp服务器

cp /usr/share/doc/dhcp-server/dhcpd.conf.example /etc/dhcpd.conf
vim /etc/dhcpd.conf

编辑文件中的内容如下
红框中的ip为dhcp服务器的ip
请添加图片描述
下图中range后面代表被分配到的主机的ip地址范围
option行后的ip为dhcp服务器的ip
请添加图片描述
最后重启服务
systemctl restart dhcpd
这样就配置好dhcp服务器了
在此基础上如果要实现ddns的功能
还得继续可以根据系统中的说明来进行配置
输入man 5 dhcpdconf
找到DYNAMIC DNS
其中就有ddns的配置方法(大概在860行左右的位置)
根据提示
首先生成密钥
dnssec-keygen -a HMAC-SHA256 -b 128 -n HOST westoskey
请添加图片描述

cp /etc/rndc.key /etc/westos.key -p
vim /etc/westos.key
请添加图片描述
vim /etc/named.conf
添加一行内容,使密钥生效
请添加图片描述

vim /etc/named.rfc1912.zones
请添加图片描述vim /etc/dhcp/dhcpd.conf
请添加图片描述

请添加图片描述
最后重启服务
systemctl restart thcpd
systemctl restart named
效果(在客户主机上测试)
请添加图片描述请添加图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值