第三单元--DNS设置
##DNS 总揽
1 权威名称服务器– 存储并提供某区域 ( 整个 DNS 域或 DNS 域的一部分 ) 的实际数据。权威名称服务器的类型包括:
Master : 包含原始区域数据。有时称作 “ 主要 ” 名称服务器
Slave : 备份服务器 , 通过区域传送从 Master 服务器获得的区域数据的副本。有时称作“ 次要 ” 名称服务器
2 非权威 / 递归名称服务器
– 客户端通过其查找来自权威名称服务器的数据。递归名称服务器的类型包括仅缓存名称服务器 : 仅用于查找 , 对于非重要数据之外的任何内容都不具有权威性
3 DNS 查找
-客户端上的 Stub 解析器 将查询发送至 /etc/resolv.conf 中的名称服务器
-如果名称服务器对于请求的信息具有权威性 , 会将权威答案发送至客户端
-否则 , 如果名称服务器在其缓存中有请求的信息 , 则会将非权威答案发送至客户端
-如果缓存只能该没有信息 , 名称服务器将搜索权威名称服务器以查找信息 , 从根区域开始 ,按照DNS 层
-次结构向下搜素 , 直至对于信息具有权威性的名称服务器 , 以此为客户端获得答案。在此情况中,名 ch 称服务器将信息传递至客户端并在自己的缓存中保留一个副本 , 以备以后查找
##DNS 排错
• 它显示来自 DNS 查找的详细信息 , 其中包括为什么查询失败 :– NOERROR : 查询成功
– NXDOMAIN : DNS 服务器提示不存在这样的名称
– SERVFAIL : DNS 服务器停机或 DNSSEC 响应验证失败
– REFUSED : DNS 服务器拒绝回答 ( 也许是出于访问控制原因 )
##DNS 资源记录
1 DNS 区域采用资源记录的形式存储信息。每条资源记录均具有一个类型 , 表明其保留的数据类型
– AAAA : 名称至 IPv6 地址
– CNAME : 名称至 ” 规范名称 “ ( 包含 A/AAAA 记录的另一个名称 )
– PTR : IPv4/IPv6 地址至名称
– MX : 用于名称的邮件交换器 ( 向何处发送其电子邮件 )
– NS : 域名的名称服务器
– SOA :” 授权起始 “ , DNS 区域的信息 ( 管理信息 )
###dig 输出的部分内容
• 标题指出关于查询和答案的信息 , 其中包括响应状态和设置的任何特殊标记 ( aa 表示
– QUESTION : 提出实际的 DNS 查询
– ANSWER : 响应 ( 如果有 )
– AUTHORITY : 负责域 / 区域的名称服务器
– ADDITIONAL : 提供的其他信息 , 通常是关于名称服务器
– 底部的注释指出发送查询的递归名称服务器以及获得响应所花费的时间
#####前言:安装DNS
yum clean all
yum search dns
示图:搜索结果
yum install bind.x86_64 -y
systemctl stop firewalld
systemctl start named ##DNS服务的名字为named
一、DNS高速缓存器设置
vim /etc/sysconfig/network-scripts/ifcfg-eth0
1 DEVICE=eth0
2 BOOTPROTO=none
3 IPADDR=172.25.254.244
4 NETMASK=255.255.255.0
5 DNS1=172.25.254.244
systemctl restart network
示图:网络配置文件中添加DNS
cat /etc/resolv.conf -b ##查看新添加的DNS是否成功,-b参数用来显示行号
1 # Generated by NetworkManager
2 search westos.com
3 nameserver 172.25.254.244
示图:resolv文件设置
2.修改DNS服务配置文件
初始文件内容:
vim /etc/named.conf
10 options {
11 listen-on port 53 { 127.0.0.1; }; ##环型接口
12 listen-on-v6 port 53 { ::1; };
13 directory "/var/named";
14 dump-file "/var/named/data/cache_dump.db";
15 statistics-file "/var/named/data/named_stats.txt";
16 memstatistics-file "/var/named/data/named_mem_stats.txt";
17 allow-query { localhost; }; ##只许本机测试
测试:dig baidu.com
示图:初始测试反馈,显示状态:无服务器可连接
**1>环形接口改变为对外接口
vim /etc/named.conf
示图:接口修改
netstat -antlpe | grep named ##查看本机DNS网络接口状态
示图:修改前后对比
测试: dig baidu.com
示图:接口测试结果,显示状态:SERVFAIL
**2>修改访问用户人限
vim /etc/named.conf
示图:访问用户人限修改
systemctl restart named
客户端测试:dig baidu.com
示图:修改前后访问测试结果对比,状态由REFUSED变为SERVFAIL
**3>添加外源权威DNS访问设备
vim /etc/named.conf18 forwarders {172.25.254.250; }; ##当服务器无要访问信息的内容时,可以向172.25.254.250访问得到答案,再告诉访问服务器的用户,在外源DNS上访问得到的内容会自动作为缓存留在服务器的DNS中,在下次有用户再次需要时便会很快给出答案,大大缩短了访问时间,也因此成为高速缓存器
systemctl restart named
二、权威DNS单向解析设置
vim /etc/named.conf
示图:查看DNS配置文件库
2.修改库文件
vim /etc/named.rfc1912.zones
示图:库文件添加内容
3.制作DNS表格
cd /var/named
ls
cp -p named.localhost westos.com.zone
vim westos.com.zone
1 $TTL 1D
2 @ IN SOA dns.westos.com. root.westos.com. ( ##@代表westos.com,所以在字符后边若没有"."结尾,将会自动补齐westos.com
3 0 ; serial
4 1D ; refresh
5 1H ; retry
6 1W ; expire
7 3H ) ; minimum
8 NS dns.westos.com.
9 dns A 172.25.254.244
10 www A 172.25.254.111 ##设置www.westos.com的IP指向为172.25.254.111
11 music CNAME music.a.westos.com. ##设置标识名称music的DNS名称为music.a.westos.com
12 music.a A 172.25.254.222
13 music.a A 172.25.254.111
14 westos.com. MX 1 172.25.254.244.
示图:表格内容
4. systemctl restart named
5.测试:
dig www.westos.com
dig music.westos.com
示图:
dig -t mx westos.com
mail root@westos.com
mailq
示图:
三、双网口单向解析设置
添加hardware,添加新的network
示图:添加网口
cp -p /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth1
vim /etc/sysconfig/network-scripts/ifcfg-eth1
示图:网口2配置文件修改
systemctl restart network
2.修改DNS配置文件
vim /etc/named.conf
示图:注释内容
示图:添加内容
vim /etc/named.rfc1912.inter
示图:修改内容
3.添加网段2DNS的表格
cd /var/named
cp -p westos.com.zone westos.com.inter
vim westos.com.inter
可视模式下(ctrl+V):%s/254/98/g ##将所有指向的IP网段改为98
4. systemctl restart named
5.测试
网段为172.25.254.0客户测试
示图:
网段为172.25.98.0客户测试
示图:
四、单向反向解析设置
vim /etc/named.rfc1912.zones
示图:添加内容
2.设置反向解析表格
cd /var/named
ls
cp -p named.loopback westos.com.ptr
vim westos.com.ptr
1 $TTL 1D
2 @ IN SOA dns.westos.com. root.westos.com. ( ##@代表172.25.254
3 0 ; serial
4 1D ; refresh
5 1H ; retry
6 1W ; expire
7 3H ) ; minimum
8 NS dns.westos.com.
9 dns A 172.25.254.244
10 111 PTR www.westos.com.
11 222 PTR bbs.westos.com.
示图:修改内容
3.systemctl restart named
4.测试
dig -x 172.25.254.111
示图:测试结果
五、指定用户进行DNS刷新
cp -p /var/named/westos.com.zone /mnt ##将表格备份一份在/mnt下,方便恢复
vim /etc/named.rfc1912.zones
示图:修改内容
2.设置用户可以修改的权限
chmod 770 /var/named
setsebool -P named_write_master_zones 1
3.systemctl restart named
4.测试
[root@desktop98 ~]# nsupdate
> server 172.25.254.244
> update add hello.westos.com 86400 A 172.25.254.111 ##添加hello.westos.com,IP为172.25.254.111,时间为1天,86400为一天的秒数
> send
> quit
示图:dig测试添加
示图:服务端重启后的表格内容变化
[root@desktop98 ~]# nsupdate
> server 172.25.254.244
> update delete hello.westos.com ##删除hello.westos.com
> send
> quit
示图:删除后dig测试
六、钥匙DNS刷新
dnssec-keygen -a HMAC-MD5 -b 256 -n HOST westoskey ##在服务器终端随意输入字符,可以被取为钥匙的内容,钥匙的内容是随机生成
ls
cat Kwestoskey.+157+02601.key ##查看生成的密码字符
cp -p /etc/rndc.key /etc/westos.key
vim /etc/westos.key ##修改钥匙配置文件
示图:钥匙配置文件内
2.修改DNS配置文件
vim /etc/named.conf
示图:修改内容
3.修改库文件
vim /etc/named.rfc1912.zones
示图:修改内容
4.systemctl restart named
5.测试
scp /var/named/Kwestoskey.+157+02601.* root@172.25.254.198:/mnt/ ##将钥匙发送给指定用户下的/mnt下
客户端测试:
[root@desktop98 ~]# nsupdate -k /mnt/Kwestoskey.+157+02601.private
> server 172.25.254.244
> update add hello.westos.com 86400 A 172.25.254.111 ##可添加可删除
> send
> quit
示图:dig测试hello.westos.com
七、DHCP动态刷新DNS
yum install dhcp -y
2.制作并修改DHCP配置文件
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
删除36行以后所有的,删除27和28行
7 option domain-name "westos.com";
8 option domain-name-servers 172.25.254.244;
14 ddns-update-style interim;
30 subnet 172.25.254.0 netmask 255.255.255.0 {
31 range 172.25.254.200 172.25.254.250;
32 option routers 172.25.254.250;
33 }
34
35 key westoskey {
36 algorithm hmac-md5;
37 secert TGnGuujdrrws9Clyhtih+DRZBito7DwzKhzJ8hxl6n0=;
38 };
39
40 zone westos.com. {
41 primary 127.0.0.1;
42 key westoskey;
43 }
2. systemctl restart named
3.测试
关掉之前原有的DHCP服务器的DHCP服务
systemctl start dhcp ##开启服务器的DHCP
客户端:
hostnamectl set-hostname test,westos.com ##修改用户端主机名,方便查看
vim /etc/sysconfig/network-scripts/ifcfg-eth0 ##修改客户端网络
示图:修改内容
systemctl restart network ##重启客户端网络服务
ifconfig ##查看客户端当前IP,得到当前分配的IP为172.25.254.200
dig test.westos.com
示图:测试结果