linux之DNS配置

认识DNS

1、什么是DNS?
DNS(Domain Name System)全称为域名系统(服务)协议主要用于域名与 IP 地址的相互转换,以及控制因特网的电子邮件的发送
DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。
2、什么时候会用到DNS解析?
当我们在浏览器中输入url地址时,浏览器就开始查找输入域名所对应的ip地址;
(1)当我们发起请求之后,浏览器就开始进行域名的解析,解析首先在会本地查找,本地(linux系统中)查找的是/etc/hosts文件,如果文件中有所查找的域名和ip,那么就结束解析的过程,直接使用本地hosts文件中的内容;
(2)如果本地文件中没有需要解析的域名,则就会向本地dns请求解析;
3、DNS域名称类别

分为顶级域名、二级域名、三级域名、注册域名。

顶级域名又分为两类:国家顶级域名(nTLDs),200多个国家都按照ISO3166国家代码分配了顶级域名,例如中国.cn,美国.us等。国际顶级域名(iTDs),工商企业
.com,网络提供商.net,非盈利组织.org等。firm公司企业、store销售公司或企业、Web突出WWW活动的单位、arts突出文化、娱乐活动的单位、rec突出消遣、娱乐活动的单位、info提供信息服务的单位、nom个人。

二级域名指顶级域名之下的域名,在国际顶级域名下,它是指域名注册人的网上名称,例如 ibm,yahoo,microsoft等;在国家顶级域名下,它是表示注册企业类别的符号,例如com,edu,gov,net等。

三级域名用字母( A~Z,a~z,大小写等)、数字(0~9)和连接符(-)组成,
各级域名之间用实点(.)连接,三级域名的长度不能超过20个字符。如无特殊原因,建议采用申请人的英文名(或者缩写)或者汉语拼音名 (或者缩写) 作为三级域名,以保持域名的清晰性和简洁性。

4、DNS服务器的分类
权威DNS
非权威DNS
5、DNS服务器解析分类:
正向解析服务器
反向解析服务器
正向反向DNS解析服务器
DNS集群

二、配置非权威dns服务器:

环境:一台dns服务器、一台客户端;
1、配置虚拟机的网路,使得虚拟机可以上网()具体的配置方法可以看之前的博客:使得虚拟机可以ping通114.114.114.114和www.baidu.com;
在这里插入图片描述
2、安装dns软件:
yum search dns
在这里插入图片描述
这里安装的是bind.x86_64
在这里插入图片描述
2、查看bind软件的配置文件:
bind配置文件:/etc/named/named.conf
dns缓存配置文件:/var/named/*
在这里插入图片描述
3、配置dns服务器

dns服务开启使用需要开启的端口:
53 测试过程中需要关闭防火墙;

非权威dns的配置

(1)编辑/etc/named/named.conf文件
更改13,19,34行参数
listen-on port 53 { 53; }; /////开启53端口
allow-query { any; }; //////让所有的主机都可以进行连接
dnssec-validation = no /////是否进行DNSSEC确认开关
allforward { 114.114.114.114; };////// 添加非权威dns的权威dns解析地址
t在这里插入图片描述
在这里插入图片描述
开启服务:
systemctl start named在这里插入图片描述
关闭防火墙:
systemctl stop firewalld
systemctl disabled firewalld
在这里插入图片描述
查看53端口是否开启
在这里插入图片描述
4、在dns配置文件中写入权威iedns的ip:
vim /etc/resolve.conf
nameserver 114.114.114.114
在这里插入图片描述
5、在客户端进行测试:
客户端端配置/etc/resolve.conf文件,配置的ip为dns服务器本身的ip。
在这里插入图片描述
dig测试:
测试结果为:
NOERROR 表示已经成功解析
REFUSED dns服务器拒绝解析
NXDOMAIN 所查询的信息不存在
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述DNS高速缓测试:

在客户端测试:
dig www.baidu.com查看解析时间,解析时间为:4956ms;
在这里插入图片描述

在真机上测试:
dig www.baidu.com查询解析时间,解析时间为:0ms;
在这里插入图片描述

权威DNS配置

使非权威dns不再向114.114.114.114权威dns询问解析,转而向自己本身进行解析。

1、dns文件配置

vim /etc/resol.conf 
nameserver 172.25.254.112  ////172.25.254.112为dns服务器本身的ip;

在这里插入图片描述

编辑/etc/named.conf文件
去掉forwarders { 114.114.114.114; };
重启systemctl restart named

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

编辑/etc/named.rfc1912.zones ////这个文件也是dns的配置文件,为了减轻
/etc/named.conf文件内容的冗长

在这里插入图片描述
在配置文件中设置域名为zhangyan.com,配置域名主机信息在zhangyan.com.zone中

拷贝/var/named下的named.localhost文件为zhangyan.com.zone
注意拷贝的时候需要添加-p,确保文件权限不改变
编辑zhangyan.com.zone文件

在这里插入图片描述

其中:

@			/etc/named.rfc1912.zones中zhangyan.test
SOA			“授权起始时间”,DNS区域信息
$TTL 1D		代表缓存可以存放的时间为1天
 NS			域名的名称服务器
 A			用于将特定的主机映射到一个主机的ipv4的地址
 AAAA		和A对应,用于将特定的主机映射到一个主机的ipv6的地址
 CNAME		别名记录,用于将别名指向到某个A记录上,这样就不用需要为某个新的名字创建另一个A记录;
 SRV		用于定义提供特定服务的服务器的地址,比如hostname,port-number等
 

在这里插入图片描述
编辑结果为:
dns A 172.25.254.112 权威dns的信息
主机管理信息必须以 . 结尾
bbs A 172.25.254.15 zhangyan.com这个域名里面的主机名字是bbs,ip是172.25.254.15
重启named服务之后,这样一个权威DNS服务器搭建成功;
在这里插入图片描述
在这里插入图片描述

客户端进行测试,可以看到dns服务器为dns.zhangyan.com

在这里插入图片描述

真机进行测试,可以看到dns服务器为dns.zhangyan.com

在这里插入图片描述
2、dns反向解析
修改 /etc/named.rfc1912.zones文件为ptr格式:
在这里插入图片描述
拷贝named.loopback为172.25.254.ptr
拷贝的时候需要添加-p
在这里插入图片描述
在这里插入图片描述

客户端反向解析测试
反向解析的命令为:dig -x ip
在这里插入图片描述

4、配置双向解析

双向解析
1、设置客户端一的解析ip地址为1.1.1.*网段;
2、设置客户端二的解析ip地址为172.25.254.*

编辑主配置文件:
vim /etc/named.conf
在这里插入图片描述

编辑/var/named/下的配至文件;

cp /etc/named.rfc1912.zones /etc/named.rfc1912.zones.inter -p
(1)内网配置文件
在这里插入图片描述
(2)外网配置文件的指定:
在这里插入图片描述
ip解析指定文件的配置:
在这里插入图片描述
在这里插入图片描述

外网测试:
在这里插入图片描述
内网测试:
在这里插入图片描述
解析状态为NOERROR则说明结果正确。

辅助dns配置

为什么会有辅助DNS?
DNS服务器一般在用的时候,为了缓解服务器的压力,多使用一个主DNS服务器,多个副DNS服务器,多出的主DNS就是辅助DNS,这些DNS服务器也被为DNS集群 。

DNS集群的配置,主DNS称位master,辅助DNS称位slave

1、辅助DNS配置步骤:
配置辅助DNS之前先将之前配置的双向DNS在著配置文件中的相关配置,并重启服务:
在这里插入图片描述
在这里插入图片描述

(1)安装named服务,并编辑配置文件:
yum install bind.x86_64 -y
vim /etc/named.conf

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
编辑主配置文件中加载的文件:
在这里插入图片描述
重启服务查看/var/named/slaves下是否生成了配置文件;
在这里插入图片描述
配置辅助dns服务器的resolve文件,ip配置为辅助dns的ip地址:
在这里插入图片描述
在这里插入图片描述
测试:
在这里插入图片描述
以上配置成功

总结:

在192.168.181.135主机上hostnamectl set-hostname dns.westos.com

vim /etc/named.conf 改东西(一共改三行,早上已经讲过)
systemctl restart named	重启服务
netstat -antlupe | grep named 看53端口是否开启
systemctl status firedwall	查看防火墙的状态,需要关闭防火墙或者添加named服务的防火墙策略;

vim /etc/named.rfc1912.zones
写入:

type slave;(辅助型)
masters {192.168.181.135;};(为192.168.181.134主机服务)
file "slaves/westos.com.zone";(在slaves/这个目录下同步westos.com.zone)
systemctl restart named
cd /var/named/salves
ls
systemctl restart named

但是如果主dns服务器的配置文件发生了变化,那么辅助dns该如何获取相关的配置?

1、我们需要配置主dns配置文件。当配置出现变化的时候可以通知到辅助dns:
vim /etc/named.rfc1912.zones
在这里插入图片描述
主配置文件vim named.zone
重启网络在这里插入图片描述
辅助dns:
在这里插入图片描述
当改变主配置文件的serial值再在辅助dns中进行dig查看结果:
在这里插入图片描述
在这里插入图片描述
配置成功
总结:

 编辑主配置文件:
  vim /etc/named.rfc1912.zones
  添加 also-notify { 192.168.181,135; }; ip为辅助dns的ip地址;
  vim /var/named/named.zone 
  (1)更改配置文件中的sersial 这个数字只有更改了才会更新配置;并且这个数字只能增加不能降低;
  (2)更改配置文件,更改ip或者名字;
  重启服务
  systemctl restartr named
  辅助dns
  dig bbszhangyan.com
  查看结果  

远程更新

之前每次更改完配置文件之后需要重启网络才能生效,那么怎么才能不重启网络就可以解析到更新后的配置呢?
即就是引入远程更新

配置如下:
1、先对配置文件备份:
cp -p named.zone /opt/
2、查看selinux的值,需要配置为disabled;
getenforce
3、检查/var/named的权限,需要组权限有写权限:
在这里插入图片描述
重启之后selinux生效;
辅助dns配置:
(1)nsupdate进行文件的更新:
(2)查看slaves下是否有name.zone.jnl
(3)file name.zone.jnl查看文件
(4)重启服务,dig test.zhangyan.com
在这里插入图片描述
在这里插入图片描述
测试成功
主dns删除配置文件
在这里插入图片描述
主dns配置文件:

密钥进行更新配置文件

为什么要通过密钥进行配置文件的更新?如果通过ip更新的话,如果每个人人配置成主dns允许的ip地址,那么所有更改成这个ip的主机都可以进行配置文件的更新以及删除;从而引入密钥进行配置文件的更新。

(1)生成密钥;
(2)查看私钥
(3)编辑配置文件:
在这里插入图片描述
拷贝密钥文件:
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
编辑dns文件,使其识别钥匙 vim /etc/named.conf
在这里插入图片描述
在这里插入图片描述
编辑dns文件,使其允许钥匙加密更新 vim /etc/named.rfc1912.zones

进行更新

将密钥传给辅助dns:
在这里插入图片描述
辅助dns配置:
在这里插入图片描述
测试:
在这里插入图片描述

动态解析ddns

当服务器的ip地址发生变化的时候,此时如何进行dns解析?这就要用到

配置的前提是key解析成功,我的实验室一起做的,所以key解析是可以正常解析的。
ddns的配置进行解析。
首先,要有两台虚拟机,其中一台为服务端,另一台为客户端:

  1. 服务端需要搭建DHCP和DNS服务:
    在这里插入图片描述
    安装dns
    ##yum源配好的前提下,进行下载在这里插入图片描述
    systemctl start named ##开启dns服务
    systemctl enable named ##设置开机启动

systemctl start dhcpd ##开启dhcp服务
systemctl enable dhcpd ##设置开机启动
关闭防火墙

2)客户端只需要将获取IP的方式设置为DHCP即可:
vim /etc/sysconfig/network-script/ifcfg-westos
BOOTPROTO=dhcp
ONBOOT=yes
DEVICE=eth0
:wq
systemctl stop NetworkManager.service
systemctl restart network

3)关闭两台虚拟机的防火墙
systemctl stop firewalld

编辑dhcp配置文件

![在这里插入图片描述](https://img-blog.csdnimg.cn/20191104232923297.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTY3NDAzOQ==,size_16,color_FFFFFF,t_70)
dhcp自动分配查看是否成功:
客户端成功获取到了来自dhcp的IP:172.25.254.201
![在这里插入图片描述](https://img-blog.csdnimg.cn/201911042342460.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTY3NDAzOQ==,size_16,color_FFFFFF,t_70)
服务端dig客户端的域名可以正确解析到他的IP

![在这里插入图片描述](https://img-blog.csdnimg.cn/20191104234729731.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTY3NDAzOQ==,size_16,color_FFFFFF,t_70)

以上dns配置完成
发布了57 篇原创文章 · 获赞 0 · 访问量 1342

猜你喜欢

转载自blog.csdn.net/weixin_45674039/article/details/102831440