一、DNS资料链接
1、DNS(Domain Name System)是“域名系统”的英文缩写,是一种组织成域层次结构的计算机和网络服务命名系统,它用于TCP/IP网络,它从事将主机名或域名转换为实际IP地址的工作。
2、DNS的分类:
- 根名称服务器
根名称服务器是由互联网管理机构配置建立的,是最高层次的名称服务器,负责对互联网所有“顶级名称服务器”进行管理,有全部顶级名称服务器的IP地址和域名映射。
全球共有13套(而不是13个,很多人平常说是13个,其实是错误的,据说已经有上千台了,好多台用于负载均衡,备份等),但每套都只有一个主根名称服务器。其中10台在美国,2台在欧洲,一台在日本。名称分别从a-m,分别为a.rootserver.net-m.rootserver.net,其余均为辅根,在全球各地,中国好像是有4个辅根,或者叫做镜像也可以。
根名称服务器并不直接用于名称解析,因为其没有保存全部互联网域名记录,只是负责顶级名称服务器相关内容。
- 顶级名称服务器
“顶级名称服务器”是各顶级域名自己的名称服务器,负责他们各自管理的二级域名解析。
- 权威名称服务器
“权威名称服务器”是针对dns区域提供名称解析服务而专门配置、建立的名称服务器,可为用户提供最权威的dns域名解析。每个域名在互联网上都可以找到一台权威服务器,个人理解一台权威服务器可以为很多域名提供域名解析。
- 本地名称服务器
一般是指ISP提供的名称服务器(也就是本地DNS服务器),例如我们使用的114.114.114.114,Google的8.8.8.8,这些都可以是。
二、DNS服务器的搭建与配置
1.DNS高速缓存器的搭建
yum install bind.x86_64 -y ##安装dns服务
systemctl start named ##开启服务
systemctl stop firewalld
systemctl stop firewalld ##关闭防火墙
netstat -antlupe | grep named ##查看端口,为53
vim /etc/named.conf ##编辑配置文件
systemctl restart named
在客户端测试:
vim /etc/resolv.conf ##添加nameserver 172。25.254.101
dig www.baidu.com
2.DNS正向解析
在服务端:
vim /etc/named.conf ##注释其中的forwarders 那行
vim /etc/named.rfc1912.zones ##这是也是named的配置文件,防止主配置文件冗杂所以单独列出
cd /var/named
cp -p namd.localhost westos.com.zone ##用该模板生成正向解析域名文件
vim westos.com.zone ##编辑域名解析文件
systemctl restart named ##重启服务
在客户端测试:
vim /etc/resolv.conf ##确认添加nameserver 172.25.254.101
dig hello.westos.com
3.正向轮询式域名解析
vim /etc/named/westos.com.zone
systemctl restart named
在客户端测试:
dig www.weestos.com
4.DNS反向解析
vim /etc/named.rfc1912.zones
cd /var/named
cp -p namd.localhost westos.com.ptr ##用该模板生成反向解析域名文件
vim westos.com.ptr ##编辑域名反向解析文件
systemctl restart named ##重启服务
在客户端测试:
dig -x 172.25.254.122
dig -x 172.25.254.132 ##-x表示反向
5.DNS集群-----主从DNS
主DNS:172.25.254.168 从DNS:172.25.254.169
在主DNS上:
vim /etc/named.rfc1912.zones
systemctl restart named
在从DNS上:
systemctl restart named
vim /etc/named.conf
![](https://i-blog.csdnimg.cn/blog_migrate/f95a40d7552015ce8082ce771e202574.png)
vim /etc/named.rfc1912.zones
![](https://i-blog.csdnimg.cn/blog_migrate/d234c13b93332feb0cce1bb7e5a8916f.png)
systemctl restart named
在服务端测试:
- 直接测试
vim /etc/resolv.conf ##修改nameserver为从DNSip
dig hello.westos.com
vim westos.com.zone
- 测试
dig hello.westos.com
6.DNS的双向解析
vim /etc/named.conf
cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.inter ##外网配置文件
vim /etc/named.rfc1912.inter
cd /var/named/
cp -p westos.com.zone westos.com.inter
vim westos.com.inter ##外网域名解析文件
在客户端测试:
vim /etc/resolv.conf ##为两个网络段的客户端配置nameserver
dig www.westos.com
7.DNS的远程更新
实验环境:selinux为disabled;还原之前的操作
- 基于正常认证方式的远程更新
vim /etc/named.rfc1912.zones
cd /var/named/
cp -p westos.com.zone /mnt ##备份
chmod g+w /var/named/ ##组添加权限
systemctl restart named
在客户端测试:
[root@server ~]# nsupdate
> server 172.25.254.105
> update delete hello.westos.com ##删除域名解析
> send
> update add hello.westos.com 86400 A 172.25.254.222 ##添加
> send
> quit
- 基于key认证的远程更新
rm -fr westos.com.zone*
cp -p /mnt/westos.com.zone . ##恢复域名解析文件
cd /mnt
dnssec-keygen -a HMAC-MD5 -b 128 -n HOST westos ##//生成对称加密文件,-a指定加密算法,-n,nametype,-b,加密字符数
cp -p /etc/rndc.key /etc/westos.key
vim /etc/westos.key ##编辑key文件
vim /etc/named.conf ##添加include "/etc/westos.key"; ps:该内容必须在logging之前
vim /etc/named.rfc1912.zones
systemctl restart named
在客户端测试:
nsupdate Kwestos.+157+20421.private
> server 172.25.254.168
> update add music.westos.com 86400 A 172.25.254.222
> send
> quit
8.DNS的动态域名解析----花生壳
yum install dhcp -y
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcp.conf
vim /etc/dhcp/dhcp.conf
![](https://i-blog.csdnimg.cn/blog_migrate/b22185cf76b7e7b2f07a121ac422ee60.png)
systemctl restart named
systemctl restart dhcpd
systemctl stop firewalld.service ##关闭防火墙
在客户端测试:
将客户端ip设置为dhcp自动获取———>重启网络,查看ip是否正确
hostnamectl set-hostname linux.westos.com
dig linux.westos.com
修改地址池,重启网络,dig 主机名的结果随着ip的改变而改变,说明实验成功