linux运维之DNS解析
一、实验环境设定
reset虚拟机(desktop)rht-vmctl reset desktop
设定网络配置
重起网络
配置yum源
设置网关允许desktop可以上网ping通百度
二、高速缓存dns的理解
域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。
服务器可以高速缓存从其他 DNS 服务器收到的 DNS 记录。 也可以在 DNS 客户服务中使用高速缓存,
将其作为 DNS 客户端保存在最近的查询过程中得到的信息高速缓存的方法。 总的来说就是提高解析速度。
当某个访问请求解析过一个域名以后,该解析记录就放置在缓存中,以后再有同样的解析请求,
就直接从缓存中提供结果,加快了访问者的应答速度。
三、高速缓存dns的部署
BIND是DNS协议的一种实现。BIND包含了一个DNS Server(服务名:named),
用来解析主机名到ip地址;一个解析库;一些辅助工具,还有一个安全目录工具,分别属于下面几个包:
named ##DNS服务
named-chkconfig ##named.conf文件检查工具
named-checkzone ##zone文件检车工具
rndc ##本地和远程dns控制工具
bind-libs ##named DNS服务的库
bind-utils ##包含一系列辅助工具来测试
host
dig
nslookup
nsupdate
bind-chroot ##切根程序,用来切换默认目录到另外一个深层的安全的目录/var/named/chroot,类似于前面光盘进入救援模式的那种情况。
设置两台主机
设置火墙
关闭火墙systemctl stop firewalld
设置端口
53端口只能被172.0.0.1访问
100主机也能访问53端口了
200主机dig www.qq.com
100主机允许所有人查询
第二次在ping
四、课件信息说明
五、dns正向解析
vim /etc/named.rfc1912.zone
cd /var/name
cp -p named.localhost westos.com.zone
vim westos.com.zone
systemctl restart named
测试
dig www.westos.com
vim /etc/reslolv.conf
nameserver 172.25.254.100
六、dns正向解析文件的书写方式
实现一个简单的轮循
vim westos.com.zone
smtp:简单邮件传输协议
MX:邮件交换器
正常发邮件识别不料westos.com
七、dns反向解析
dig -x 172.25.254.111
vim /etc/named/rfc1912/zones
cp -p named.loopback westos.com.ptr
vim westos.com.ptr
八、dns双向解析
cp -p westos.com.zone westos.com.local
添加客户端的访问控制
设置内网
在测试主机上
九、辅助dns
当许多台主机都需要域名解析时,此时主dns的压力会过大,所以这个时候就需要一个辅助dns来帮助它分解一些压力
主dns IP:172.25.254.111 辅助dns IP:172.25.254.211
1.主dns的设定
1)修改外网域名解析配置文件
vim /etc/named.rfc1912.zones ##指定同步辅助dns
修改配置文件
vim /etc/named.conf
设置火墙
只对主dns进行修改辅助dns会自动同步信息
环境:配置好IP,yum源,防火墙关闭状态,selinux是disable的,安装完bind,打开named服务
图形方式配置IP
辅助主机修改本地解析文件
vim /etc/resolve.conf
nameserver 172.25.254.211
vim /etc/named.conf
测试:真机
vim /etc/resolve.conf
nameserver 172.25.254.211
dig www.westos.com
vim /etc/resolve.conf
nameserver 172.25.254.111
dig www.westos.com
十、dns的更新
dns的更新表示其他主机更改dns服务器中的A记录信息,dns更新的设置:
1 更改dns服务器配置文件
vim /etc/named.rfc1912.zones
26 zone "westos.org" IN {
27 type master;
28 file "westos.org.zone";
29 allow-update { 172.25.254.216; }; #允许172.25.254.216主机更改
30 also-notify {172.25.254.216; };
31 };
更改信息发布目录权限
更改dns服务器信息发布目录权限,使其对named
用户可写:
之后备份原A记录文件,并重启服务:
cp -p /var/named/westos.org.zone /mnt/
systemctl restart named
dns的更新
在17.25.254.216
(dns服务器中允许上传的主机)主机上做dns的更新:
信息添加:
nsupdate
> server 172.25.254.116 #更新的dns服务器
> update add hello.westos.org 86400 A 172.25.254.123
> send
> quit
信息删除:
nsupdate
> server 172.25.254.116
> update delete hello.westos.org
> send
> quit
删除
十一、dns的key更新
dns的更新为dns的ip更新,做key更新前需要将ip更新所作的更改还原
cd /var/named/
systemctl restart named
rm -rf westos.org.zone*
cp -p /mnt/westos.org.zone .
systemctl restart named
1 生成dns的key
在/mnt/目录下生成key:
cd /mnt/
dnssec-****** -a HMAC-MD5 -b 128 -n HOST westos #敲鼠标键盘可以加快速度
生成自己的key
cp -p /etc/rndc.key /etc/westos.key
vim /etc/westos.key
1 key "westos" {
2 algorithm hmac-md5;
3 secret "YSDp28BQk1OU6MBsJ5Oxyw==";
4 };
更改dns主配置文件
vim /etc/named.conf
写入:44 include "/etc/westos.key";
更改dns子配置文件
更改dns子配置文件,改成仅允许持有key的主机更改dns:
vim /etc/named.rfc1912.zones
26 zone "westos.org" IN {
27 type master;
28 file "westos.org.zone";
29 allow-update { key westos; };
30 also-notify {172.25.254.216; };
31 };
之后重启服务,dns的key更新即设置完成
systemctl restart named
测试
将dns的key复制到另外一台主机中:
cd /mnt/
ls
Kwestos.+157+54001.key Kwestos.+157+54001.private
nsupdate -k Kwestos.+157+54001.key
> server 172.25.254.116
> update add hello.westos.org 86400 A 172.25.254.66
> send
> quit
表明添加成功:
注意:若send
后出现dns_request_getresponse: clocks are unsynchronized
错误,表明两台主机时钟不同步,对两台主机进行时钟同步即可。
十二、ddns动态域名解析
DDNS动态域名解析
DDNS是将用户的动态IP地址映射到一个固定的域名解析服务上,用户每次连接网络的时候客户端程序就会通过信息传递把该主机的动态IP地址传送给位于服务商主机上的服务器程序,服务器程序负责提供DNS服务并实现动态域名解析。
DDNS又称花生壳
原理:动态域名服务的对象是指IP是动态的,是变动的。普通的DNS都是基于静态IP的,有可能是一对多或多对多,IP都是固定的一个或多个。但DDNS的IP是变动的、随机的。简单来说就是通过DHCP服务器分配的IP地址可以动态更新到DNS服务上,免除了手动指定的麻烦。
2 实验环境设定
客户端设定:
设定网络类型为dhcp,并更改hostname为dns-client.westos.org
服务端设定:
还原实验环境,仅保留正向解析的文件
cd /var/named/
rm -rf westos.org.*
vim /etc/named.rfc1912.zones
将反向解析相关删除
cp -p /mnt/westos.org.zone .
systemctl restart named
vim westos.org.zone
仅保留dns正向解析的A记录
systemctl restart named
安装dhcp并配置:
yum install dhcp -y
cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cd /etc/dhcp/
vim dhcpd.conf
更改dhcp配置文件
firewall-cmd --permanent --add-service=dhcp
firewall-cmd --reload
systemctl restart dhcpd
dhcp配置文件更改为
确保客户端能够通过dhcp获取到ip:
实验环境准备完毕,此时在客户端dig
其hostname
发现报错NXDOMIN
:
配置DDNS
服务器更改dhcp配置文件:
vim /etc/dhcp/dhcpd.conf
更改:
8 # Use this to enble / disable dynamic dns updates globally.
9 ddns-update-style interim; #去掉注释并把none改为interim
添加:
25 key westos {
26 algorithm hmac-md5;
27 secret "YSDp28BQk1OU6MBsJ5Oxyw==";
28 };
29
30 zone westos.org. {
31 primary 127.0.0.1;
32 key westos;
33 }
systemctl restart dhcpd.service
测试
在客户端重启网络后dig
其hostname
发现A记录为其通过dhcp获取到的ip:
systemctl restart network
dig dns-client.westos.org
DDNS设置成功