Linux中的DNS服务器

本篇博客讲解:DNS高速缓存服务器,DNS正向解析,反向解析,双向解析,辅助DNS搭建,辅助DNS与主同步更新,DNS的KEY加密,DDNS花生壳

一:DNS高速缓存服务器:

当一个局域内有较多PC时,都通过单一的线路去访问外网,访问DNS服务器做地址解析,很容易会遇到带宽不够,信道已满的情况。多数情况下,我们都是采用单独建立一台DNS高速缓存服务器,让其访问外网,获取地址解析,而其他pc访问这台dns高速缓存主机,来解决这个问题。如下图所示:

在这里插入图片描述

dns高速缓存主机搭建:

前提条件:作DNS高速缓存的主机需要可以上网,访问域名,解析域名。测试机通过DNS高速缓存主机可以从其缓存中直接读取域名及其解析,加快访问速度。其缓存中没有信息的话则借助DNS高速缓存主机,进行访问外网。

准备内容:
DNS高速缓存主机:

1.网络IP设置
2.可提供dns服务的软件
3.已经可以上网
测试主机:
1.网络IP设置

网络IP设置只需要静态设置好IP即可,两台PC之间相互可以ping通。

步骤演示:
1.提供DNS服务的软件下载安装:

yum search dns
yum install bind -y

在这里插入图片描述
在这里插入图片描述
2.查看加密设备,加密字符过短,在开启named服务时会卡住【named服务是bind提供的包含dns的服务】,如果卡住,需要在无图形界面输入任意字符来增加字符长度。然后在火墙上允许dns服务。

cat /dev/random
systemctl start named
firewall-cmd --permanent --add-service=dns
firewall-cmd --list-all

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
3.更改/etc/named.conf配置文件,并查看接口状态:

vim /etc/named.conf
netstat -antlupe | grep named   

在/etc/named.conf配置文件中,需要做三处更改,一次添加。

更改53端口的:
listen-on
allow-query
dnssec-validation

添加:
forwarders {114.114.114.114}
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
以上设置完成后,我们的DNS高速缓存服务器就搭建完成了。下面进行测试:

我们开启另一台虚拟机,进行网络配置和DNS访问对象更改:

网络配置见博客:https://blog.csdn.net/dddxxy/article/details/89356453
在这里插入图片描述
在这里插入图片描述
使用dig指令去访问www.baidu.com

dig输出的部分内容:

标题指出关于查询和答案的信息,其中包括响应状态和设置的任何特殊标记(aa 表示权威答案)
**QUESTION:**提出实际的DNS查询
ANSWER:响应
**AUTHORITY:**负责域/区域的名称服务器
ADDITIONAL:提供的其他信息,通常是关于名称服务器
底部的注释指出发送查询的递归名称服务器以及获得响应所花费的

在这里插入图片描述
在这里插入图片描述
我们用测试的虚拟机访问了一次www.baidu.com,该访问回答就记录在了dns高速缓存服务器中。我们再用高速缓存服务器去访问www.baidu.com,会只需要很少时间。
在这里插入图片描述
通过高速缓存服务器的部署,可以很好的解决一个公司只有一条外网线路,却有较多主机的上网难问题。


二:DNS正向解析:通过域名查找IP

在正向解析中,很常见的一个内容就是邮件。我们发送的邮件,都是输入例如1111111.qq.com这样的域名来发送的。但是这个我们都知道,要想通过网络把数据传送到其他主机上,我们是需要通过IP地址进行转发的。那么就需要将1111111.qq.com这样的域名转化为IP地址,进而进行数据传输了。

域名是为了方便记忆而专门建立的一套地址转换系统,要访问一台互联网上的服务器,最终还必须通过IP地址来实现,域名解析就是将域名重新转换为IP地址的过程。这一过程通过域名解析系统DNS来完成。

下面我们依旧使用在“一DNS高速缓存服务器“中已经配置好DNS的虚拟机来进行配置:省去再去搭建一台DNS服务器的步骤。

1.编写/etc/named.rfc1912.zones域维护文件,在其中写入正向解析的配置文件【A文件的指定】

vim /etc/named.rfc1912.zones

在这里插入图片描述2.在/var/named目录中,编写dddxxy.com.zone配置文件。【可以cp -p 复制named.localhost 文件当作模版】【这里的dddxxy.com.zone一定要注意权限】

cd /var/named
cp -p named.localhost dddxxy.com.zone

在这里插入图片描述
在这里插入图片描述
MX 是用来声明邮件服务器的优先级别的。当网络中有人通过E-mail服务器发送电子邮件时,DNS服务器会按照MX记录的邮件服务器序号来寻找邮件主机。后面的数字1表示优先级,一般数字越小优先级越高

第二部分解释:
第3行:是正向解析区域的序列号。若当你更改过主DNS服务器的数据后,要将该数值加大,这样辅DNS服务器才会更新数据
第4行:refresh的功能主要是高速辅DNS服务器多长时间与主DNS服务器做一次serial的序列号对比。
第5行:retry表示在refresh失败后,经过指定的时间再去尝试。

第三部分解释:
第8行:定义life.net域的域名解析服务器为 dns.life.net.。
第9行:定义域名解析服务器的地址为 172.25.254.113。

3.vim /etc/resolv.conf更改默认的询问DNS服务器解析地址。将其改为本机。
在这里插入图片描述
这样我们就可以进行测试了。直接用本DNS服务器进行测试或者另用其他PC设置DNS解析地址为该IP后再测试都可以。这里我们就直接本机测试:

首先测试本机的域名解析:

在这里插入图片描述
接着测试abc这个子域:
在这里插入图片描述
测试mx,邮件类型的dddxyy.com这个子域:
在这里插入图片描述
测试CNAME,:

在这里插入图片描述


三:DNS反向解析:通过IP查找域名:

1.在/etc/named.rfc1912.zones文件中指定反向解析,及其配置文件。

vim /etc/named.rfc1912.zones

在这里插入图片描述
2.复制一份反向解析配置模版,命名为我们指定的172.25.254.ptr。进行配置编写。

cd /var/named
cp -p named.loopback 172.25.254.ptr
vim 172.25.254.ptr

在这里插入图片描述
在这里插入图片描述
3.重起named服务,进行测试:

在这里插入图片描述

dig -x 172.25.254.111

在这里插入图片描述`同样:

dig -x 172.25.254.222

在这里插入图片描述

四:DNS双向解析:

划分出内网和外网,使在不同的主机中,访问同一个域名时,会出现不同的IP

原理:

双向解析其实是将解析文件,由一份变为了两份:
将name.com.zone域解析文件和named.rfc1912.zones域指向文件分别写一份内网和外网的。
然后在/etc/named.conf文件中注释掉原有域的说明内容,写入新的域说明,分别对应内网和外网。

下面进行演示:

这 部 分 内 容 依 旧 是 在 上 面 已 经 做 好 的 D N S 高 速 缓 存 P C 中 进 行 \color{blue}{这部分内容依旧是在上面已经做好的DNS高速缓存PC中进行} DNSPC

1.写一个域解析文件,或者复制原有的再进行修改。

cp -p dddxxy.com.zone dddxxy.com.inter.zone
vim dddxxy.com.inter.zone

只需要将其中写好的子域对应IP地址更改为其他网段即可

在这里插入图片描述
2.写一个指向域解析文件的指向文件,同样可以选择复制。

cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.inter.zones 
vim /etc/named.rfc1912.inter.zones  

在这里插入图片描述

3.编写/etc/named.conf配置文件,注释掉原有域说明,写入新内外网的域说明。

vim /etc/named.conf

在这里插入图片描述
在这里插入图片描述
4.重起named服务,进行内外网测试:
systemctl restart named
内网测试【本机】:

在这里插入图片描述
外网测试【其他pc】:需要提前指定DNS解析要访问的PC为我们的高速缓存PC

在这里插入图片描述

这样我们的双向解析就完成了。


五:辅助DNS:

当一台DNS服务器上的存储量很大,访问量很大时,为了解决超负荷以及用户需要等待的问题,转移数据是不太现实的,那么就需要其他DNS服务器来辅助了。

下面进行辅助DNS搭建:

1.给辅助DNS安装 bind , 火墙给dns权限 , 53端口配置 , 开启named服务 【在本篇博客最上方第一部分都有说明】

yum install bind -y
firewall-cmd --permanent --add-service=dns
firewall-cmd --reload
vim /etc/named.conf
systemctl restart named

2.主DNS:编辑指定域解析文件的文件,设置辅助DNS的IP。

vim /etc/named.rfc1912.zones 
	zone "dddxxy.com" IN {
        type master;
        file "dddxxy.com.zone";
        also-notify { 172.25.254.200; };
        allow-update { none; };
	};

在这里插入图片描述
3.辅助DNS:编辑指定域解析文件的文件,设置主DNS的IP。

vim /etc/named.rfc1912.zones 
  zone "dddxxy.com" IN {
        type slave;
        masters { 172.25.254.100; };
        file "slaves/dddxxy.com.zone";
        allow-update { none; };
   };

在这里插入图片描述

ll /var/named/
上一步完成后会建立slaves目录,权限为drwxrwx--- named named

4.测试:主DNS:更改/var/named/dddxxy.com.zone中子域的IP和serial的值,使数据发生变化,然后重起服务
辅助DNS:dig 变更的域,参看是否可以解析到。

在这里插入图片描述
在这里插入图片描述

以上则辅助DNS搭建成功。


六:辅助DNS与主DNS的同步更新:

在上一个实验中,我们通过修改serial使辅助DNS手动与主DNS进行了更新同步。

那么如何让他自动地与主DNS进行同步更新,即为下面的内容。

环境准备:将SELINUX调整为Disable,或者

setsebool named_write_master_zones on

在主DNS上:

vim /etc/named.rfc1912.zones 
	also-notify { 172.25.254.200 }  ###更改数据时也同步214辅dns
	allow-update { 172.25.254.100 } ###允许数据更新

chmod 770 /var/named/           ###更改/var/named的权限
	ls -ld /var/named/

在这里插入图片描述
在这里插入图片描述

然后进行更新:添加一个test.dddxxy.com:

nsupdate             ###更新
	server 172.252.254.100   #要更新的服务器ip
	update add test.westos.com 86400 A 172.25.254.111 ###更新数据:添加一个域【86400为ttl存活时间】
	send
	quit

在这里插入图片描述
检测:分别在主DNS和辅助DNS上进行dig test.westos.com

在这里插入图片描述
在这里插入图片描述

七:DNS的key加密更新:

DNS的KEY加密更新和上一个远程更新Jnl是冲突的。需要在主DNS中重写name.com.zone文件,并将jnl部分都删除;在辅助DNS中删除/var/named/slaves/中的内容

key加密可以使有key的人去更新,而没有key的人无法更新,大大提高了安全性。

演示说明:
主DNS
1.生成key:

dnssec-keygen -a HMAC-MD5 -b 128 -n HOST dddxxy
在生成过程中卡住的话需要打开另一个shell输入任意字符。
原因是已有加密字符过短

在这里插入图片描述
2.编写key的配置文件:我们复制一个模版然后再编写:注意权限!

cp -p /etc/rndc.key /etc/dddxxy.key
vim /etc/dddxxy.key

在这里插入图片描述
3.编写 /etc/named.rfc1912.zones,写入key加密;编写/etc/named.conf 同样写入key加密

vim /etc/named.rfc1912.zones
vim /etc/named.conf 

在这里插入图片描述
在这里插入图片描述
4.重起named服务,更新数据。测试

systemctl restart named
nsupdate -k Kdddxxy.key.+157+27819.private
	server 172.25.254.100
	update add ttt.dddxxy.com 86400 A 172.25.254.105
	send
	quit

在这里插入图片描述
在这里插入图片描述


八:DDNS花生壳【DNS与DHCP组合】:

DDNS(Dynamic Domain Name Server)是动态域名服务的缩写。

DDNS是将用户的动态IP地址映射到一个固定的域名解析服务上,用户每次连接网络的时候客户端程序就会通过信息传递把该主机的动态IP地址传送给位于服务商主机上的服务器程序,服务器程序负责提供DNS服务并实现动态域名解析。

在这里插入图片描述

我们在已经部署好DNS服务的PC上再搭建DHCP服务,来组建DDNS,步骤如下:

1.先将之前做过的dddxxy.com.zone文件删除,将备份复制出来一份,或者重新写,我们这里直接复制一份模版覆盖掉之前的文件,相当于重新写:

在这里插入图片描述
在这里插入图片描述
2.搭建DHCP:

详细的DHCP服务器搭建:https://blog.csdn.net/dddxxy/article/details/89381413

yum install dhcp -y
cd /etc/dhcp/
cp /usr/share/doc/dhcp*/dhcpd.conf.example dhcpd.conf
vim dhcpd.conf
systemctl restart dhcpd

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

测试PC:
1.更改网络,改为DHCP动态获取;更改DNS解析来源为172.25.254.100,我们的DDNS服务器

vim /etc/sysconfig/network-scripts/ifcfg-eth0
vim /etc/resolv.conf

在这里插入图片描述
在这里插入图片描述

2.重起网络,进行测试:

systemctl restart network
ip addr show eth0
hostnamectl set-hostname news.dddxxy.com
dig news.dddxxy.com

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值