一.DNS服务器的搭建与配置
1.服务端安装高速缓存服务 yum install bind -y
2.服务端开启高速缓存服务 systemctl start named
开机自启 systemctl enable named
注意:开启服务时,若因为加密字符不够,无法正常开启;敲击键盘或移动鼠标即可
正常开启后生成文件 /etc/rndc.key
3.防火墙配置
firewall-cmd --permanent --add-service=dns
firewall-cmd --reload
firewall-cmd --list-all
netstat -antlpe | grep named //查看named服务监听的端口为53
4.客户端修改DNS配置文件 /etc/resolv.conf ##临时的
nameserver 172.25.254.124 ##dns服务器
5.修改配置文件/etc/named.conf
@@@
11 listen-on port 53 { any; }; //服务监听端口
17 allow-query { any; }; //允许连接的客户机
31 dnssec-enable no; //dns加密不启用
34 forwarders {172.25.254.77;};
//转发请求到172.25.254.77主机
@@@
客户端修改DNS配置文件 /etc/resolv.conf
指向124主机
第二次耗时比第一次耗时要短
二.本地正向解析
vim /etc/named.conf ##注释掉18行
cp -p named.localhost westos.com.zone
vim /etc/named.rfc1912.zones
vim /var/named/westos.com.zone ##更改配置
检测westos.com域是否有语法错误:
named-checkzone "westos.com" westos.com.zone
systemctl restart named
本机测试: dig www.westos.com
三.本地反向解析
1). named的配置文件/etc/named.rfc1912.zones
@@@
43 zone "254.25.172.in-addr.arpa" IN {
44 type master;
45 file "westos.com.ptr";
46 allow-update { none; };
47 };
@@@
2). 配置westos.com.ptr文件:
cd /var/named/
cp -p named.loopback westos.com.ptr ##westos.com.ptr反向解析文件
vim westos.com.ptr
@@
$TTL 1D
@ IN SOA dns.westos.com. root.westos.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.westos.com.
dns A 172.25.254.124
111 PTR linux.westos.com.
122 PTR hello.westos.com.
@@
[root@localhost named]# systemctl restart named
dig -x 172.25.254.111
dig -x 172.25.254.122
四.轮询
vim westos.com.zone
@@@@@@
$TTL 1D
@ IN SOA dns.westos.com. root.westos.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.westos.com.
dns A 172.25.254.124
www CNAME linux
linux A 172.25.254.111
linux A 172.25.254.222
@@@@@
systemctl restart named
dig www.westos.com ##即可轮询
五.DNS的双向解析
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/named.conf
注释原来的zone
新增本地(local)域名解析和其他主机(any)域名解析
重启named服务后实验
systemctl restart named
本地域名解析时 ##本机DNS配置为172.25.254.124
其他主机域名解析时 ##其他主机DNS配置为172.25.254.124
六.主从DNS,搭建DNS集群
1.辅助主机配置yum源,安装bind,打开named服务
yum install bind -y
systemctl start named
systemctl enable named
firewall-cmd --permanent --add-service=dns
firewall-cmd --reload
2.辅助主机修改DNS配置文件
3.辅助主机修改配置文件vim /etc/named.rfc1912.zones
@@
25 zone "westos.com" IN {
26 type slave; //指定为辅dns
27 masters { 172.25.254.124; }; //主dns的ip
28 file "slaves/westos.com.zone"; //主dns传输的内容存放位置
29 allow-update { none; };
30 };
@@
4.辅助主机修改配置文件vim /etc/named.con
systemctl restart named
5.本地主机修改配置文件vim /etc/named.rfc1912.zones
@@@
25 zone "westos.com" IN {
26 type master; //该服务为主dns
27 file "westos.com.zone";
28 allow-update { none; }; //哪台主机可对westos.org域进行更新
29 allow-transfer { 172.25.254.224; }; //允许传输区域信息到哪台服务器上
30 also-notify { 172.25.254.224; }; //当主dns变化时自动通知哪台主机
31 };
@@@
systemctl restart named
6.slave客户端dig www.westos.com
- 修改dns-server端对应的ip,并修改序列号,重启服务后自动更新到slave端
[root@dns-server named]# systemctl restart named
slave客户端再次dig www.westos.com发现salve客户端的ip会随之变化
七.远程更新DNS(认证机制)
1. 非认证机制远程更新dns
1.进行备份
cp -p /var/named/westos.com.zone /mnt
2.修改本地配置文件 /etc/named.rfc1912.zones
allow-update { 172.25.254.224; }; ##允许224主机远程更新
systemctl restart named
chmod g+w /var/named ##给目录/var/named/中组内用户w权限,不然会发送失败
远程主机可以实现dns更新 nsupdate
[root@slaves ~]# nsupdate
> server 172.25.254.124
> update add hello.westos.com 86400 A 172.25.254.111
> send
> quit
dns-server 中生成 westos.com.zone.jnl
vim westos.com.zone
2.基于key认证远程更新dns
1.还原配置文件 mv /mnt/westos.com.zone /var/named/
2.生成加密钥匙
dnssec-keygen -a hmac-md5 -n HOST -b 128 westos
-a ##加密方式 -b ##密码大小bits -n ##nametype,域名解析
cat Kwestos.+157+03010.private//查看生成的key内容
cp -p /etc/rndc.key /etc/westos.key
vim /etc/westos.key
@@@
key "westos" {
algorithm hmac-md5;
secret "GoL0AzUtAAAdDlrUaDLiXA==";
};
@@@
vim /etc/named.conf //注意:该配置放在logging模块前面,配置是按顺序读取的;
vim /etc/named.rfc1912.zones
//只允许有钥匙的主机对该dns进行动态更新;
systemctl restart named
把密钥文件传送给远程主机 ##实验环境为/mnt
scp Kwestos.+157+03010.* [email protected]:/mnt/
测试:
[root@slaves mnt]# nsupdate -k Kwestos.+157+03010.private
> server 172.25.254.124
> update add hello.westos.com 86400 A 172.25.254.111
> send
> quit
出现了jnl文件
八.DNS的动态域名解析----花生壳
该实验是基于7-2实验的基础上操作的,要确保基于key认证远程更新dns成功。
1.服务端:
安装dhcp服务,在Linux网络管理中有详细做法。
yum install dhcp -y
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example dhcpd.conf
vim /etc/dhcp/dhcpd.conf
systemctl restart dhcpd
2.客户端:
systemctl restart network
ifconfig ##分得ip172.25.254.145