- 高速缓存DNS:存储已经查找到的有效名和ip地址的DNS服务器
- 用途:系统内部没有配置DNS高速缓存服务器时,系统内所有主机上网时都去访问外部的DNS服务器;当系统内部配置有DNS高速缓存服务器时,系统内其他主机通过域名上网时,从DNS高速缓存服务器获的ip,第一次DNS高速缓存服务器没有时便去问外部DNS服务器,并缓存得到的信息,在第二次问时直接从DNS高速缓存服务器获的ip,从而减小了访问时间。
- 实验环境:reset一台虚拟机,配置网络,网关,使其可以正常上网
- dig命令:dig www.baidu.com
1.配置高速缓存DNS
(1)安装并设置火墙
yum install bind.x86_64 -y
systemctl start named
firewalld //火墙允许DNS通过
firewall-cmd --permanent --add-service=dns
firewall-cmd --reload
firewall-cmd --list-all
getenforc //查看selinux的状态,改为disabled
(2)配置主配置文件
vim /etc/named.conf //named的主配置文件
listen-on port 53 { any; }; //named使用53端口,要对本机所有的网络开启
allow-query { any; }; //named应该允许所有人开放
dnssec-validation no; //安全检测;不然太慢了
forwarders { 114.114.114.114; };//高速缓存dns-server解析不了默认下一级对象询问的是"." ;
增加高速缓存dns-server解析不了应该询问的下一级对象为114.114.114.114,减小实验等待时间。
注:修改配置文件一定要重启服务。
(3)网络设置
服务器端:(ip:172.25.60.1)
nameserver 114.114.114.114
客户端:
ip:172.25.60.2 //客户端1
ip:172.25.60.3 //客户端2
nameserver 172.25.60.1(服务器端的ip) //
测试:
第一次:客户端1向高速DNS服务器发送解析请求,它没有缓存记录,便向外部DNS服务器寻求解析,得到结果返回给客户端1,并将得到的域名与ip对应缓存起来。
第二次:客户端2向高速DNS服务器发送解析请求,它有缓存记录,便将信息返回给客户端2;所以第一次耗时长,第二次耗时短。
注:当重启服务时,就会清空缓存记录
2.权威DNS的正向解析
服务器端:ip=172.25.60.1
vim /etc/named.conf
include "/etc/named.rfc1912.zones"; //子配置文件,主配置文件编写正向解析规则,不便于维护,所以就可以在这个文件中配置
vim /etc/named.rfc1912.zones //配置规则,看模版
cd /var/named
cp -p named.localhost westos.com.zone //拷贝正向解析规则文件模版;-p同步权限
vim westos.com.zone //编写正向解析规则文件
注:正向解析规则文件中@=westos.com,文件中所有不以".“结尾的字符串都会在末尾默认加上@(=westos.com);一定记得加”."
客户端:nameserver=172.25.60.1(从服务器端获取解析)
(1) CNAME
CNAME 被称为规范名字。这种记录允许您将多个名字映射到同一台计算机。
vim /var/named/westos.com.zone
测试:
(2) MX记录
邮件交换记录 (MX record)是域名系统(DNS)中的一种资源记录类型,用于指定负责处理发往收件人域名的邮件服务器。MX记录允许设置一个优先级,当多个邮件服务器可用时,会根据该值决定投递邮件的服务器。
vim /var/named/westos.com.zone
测试:
3.反向解析:ptr
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.localhost 172.25.254.ptr
vim 172.25.254.ptr
$TTL 1D
@ IN SOA dns.westos.com. lee.westos.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.westos.com.
dns A 172.25.60.1
99 PTR hello.westos.com. //172.25.60.99的解析
199 PTR node1.westos.com. //172.25.60.199的解析
测试:dig -x ip
4.双向解析
服务器端:
(1)编辑主配置文件
vim /etc/named.conf
(2)编辑主配置文件中指向的子配置文件
cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.inter.zones
vim /etc/named.rfc1912.inter.zones
zone "westos.com" IN {
type master;
file "westos.com.inter.zone";
allow-update { none; };
};
注:/etc/named.rfc1912.zones中的内容:(前面实验中写好的)
(3编写各自的解析
cd /var/named
cp -p westos.com.zone westos.com.inter.zone
vim westos.com.inter.zone //用%s/172.25.254/1.1.1/g更改
$TTL 1D
@ IN SOA dns.westos.com. lee.westos.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.westos.com.
dns A 1.1.1.120
bbs A 1.1.1.111
www CNAME node1.westos.com.
node1 A 1.1.1.99
node1 A 1.1.1.199
westos.com. MX 1 1.1.1.120.
注:/var/named/westos.com.zone中的内容:(前面实验中写好的)
测试:
本机:dig bbs.westos.com(注:将域名解析nameserver改为本机ip)
其他:dig bbs.westos.com(注:nameserver=172.25.60.1–高速缓存DNS端)
总结:
注:在实际应用中,本地就相当于时内部网路,其他就相当于外部网络,只需要对配置文件做相应的修改即可。
5.辅助DNS
辅助DNS端: ip= 172.25.60.2;nameserver=172.25.60.2
(1)设置基本环境
yum install bind.x86_64 -y //安装
systemctl start named //开启服务
systemctl stop firewalld.service //关闭火墙
vim /etc/resolv.conf //配置nameserver
nameserver 172.25.60.2
(2)修改配置文件
vim /etc/named.conf //与主服务器配置相同
vim /etc/named.rfc1912.zones
zone "westos.com" IN {
type slave;
masters {172.25.60.1; };
file "slaves/westos.com.zone";
allow-update { none; };
};
主DNS端: ip=172.25.60.1;nameserver=172.25.60.1
vim /etc/named.rfc1912.zones //让172.25.60.2可以同步我
zone "westos.com" IN {
type master;
file "westos.com.zone";
also-notify {172.25.60.2; };
allow-update { none; };
};
vim westos.com.zone /var/named/
0 ; serial //同步时是检测该此数字变没变,并不是对比文件内容
测试:
(1)更新主DNS端配置文件前: 检测辅助端是否可以同步到
(2)更新主DNS端配置文件后: 检测辅助端是否可以同步更新
主DNS端:
辅助DNS端:
6.远程更新
主DNS端:
/var/named
cp -p westos.com.zone /opt/
chmod 770 /var/named/
vim /etc/named.rfc1912.zones
zone "westos.com" IN {
type master;
file "westos.com.zone";
also-notify {172.25.254.220; };
allow-update { 172.25.254.120; };
};
systemctl restart named
创建:
[root@nds-server named]# nsupdate
> server 172.25.254.120
> update add test.westos.com 86400 A 172.25.254.99
> send
> quit
删除:
[root@nds-server named]# nsupdate
> server 172.25.254.120
> update delete test.westos.com
> send
> quit
测试:
(1)创建:
(2)删除:
主服务器端删除解析记录
辅助端同步更新,删除主服务器端删除的解析记录
7.远程加密更新
环境:将6实验DNS中/var/named/下的westos.com.zone和westos.com.zone.jnl删除,并将原来westos.com.zone移回来
主DNS服务端:
cd /mnt/
dnssec-keygen -a HMAC-MD5 -b 128 -n HOST westos //生成安全的DNS服务密钥
cat Kwestos.+157+34132.private //查看私钥内容,并记下Key值
-a | 指定加密算法 |
---|---|
-b | 密钥长度(HMAC-MD5的密钥长度在1-512之间) |
-n | 密钥的类型(HOST为与主机相关的) |
cp -p /etc/rndc.key /etc/westos.key
vim /etc/westos.key
vim /etc/named.conf
vim /etc/named.rfc1912.zones //开启主服务器的密钥验证功能
systemctl restart named //重启服务
创建:
[root@nds-server named]# nsupdate -k /var/named/Kwestos.+157+34132.private
> server 172.25.60.1
> update add ylz.westos.com 86400 A 172.9.9.9
> send
> quit
删除:
[root@nds-server named]# nsupdate -k /var/named/Kwestos.+157+34132.private
> server 172.25.60.1
> update delete ylz.westos.com
> send
> quit
测试:
(1)主服务器端创建新的解析,并检测
(2)辅助端同步更新到了新的解析
8.ddns=dhcp+dns: 动态域名解析
环境:将7实验DNS中/var/named/下的westos.com.zone和westos.com.zone.jnl删除,并将原来westos.com.zone移回来;将westos.com.zone中多余的删掉,留一行.
该实验中为方便期间将两台服务器配置到一台主机中,实际应用中需要配置两台服务器
(1)在主服务器端下载安装DHCP:
yum install dhcp -y
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf //拷贝dhcp主配置文件模版
vim /etc/dhcp/dhcpd.conf
图中对应的修改:
7 option domain-name "westos.com";
8 option domain-name-servers 172.25.60.1;
14 ddns-update-style interim;
30 subnet 172.25.60.0 netmask 255.255.255.0 {
31 range 172.25.60.50 172.25.254.80;
32 option routers 172.25.60.250;
33 }
34
35 key westos {
36 algorithm hmac-md5;
37 secret ng6PzWRf22NNwOfHvskdxg==;
38 }
39
40 zone westos.com. {
41 primary 127.0.0.1;
42 key westos;
43 }
systemctl restart dhcpd.service //重启服务后生效,然后测试
测试端:
(1)hostnamectl set-hostname news.westos.com //改为westos.com域
(2)vim /etc/sysconfig/network-scripts/ifcfg-eth0 //改ip获取方式为动态
或:nm-connection-editor
(3)systemctl restart network //重启获得动态ip
注:当dhcp服务器端改便获取范围,测试端重启网络后便可在新的范围内获得新的ip