33558 www.Sina.com/(域名系统) )。
作为互联网上域名和IP地址相互映射的分布式数据库,用户无需记住机器可以直接读取的IP数列,即可轻松访问互联网。 从主机名中最终得到与该主机名对应的IP地址的过程称为域名解析(或主机名解析)。 DNS协议在UDP协议上运行,使用端口号53。
DNS服务器可以解析域名,找到与域名对应的ip地址的服务,并缓存从其他DNS服务器接收到的DNS记录。 也可以在DNS客户服务中使用缓存,将最近查询期间获得的信息保存为DNS客户端。 可以提高分析速度。
一.DNS
1 .安装DNS服务;
yum install bind.x86_64 -y利用yum下载DNS服务
2 .打开防火墙图形设置,打开dns服务,在Configuration旁边的下拉菜单中选中Permanent,然后选中dns。
单击Options下的Reload Firewalld重新加载防火墙
3.firewall-cmd --list-all检查防火墙是否允许dns服务,如图所示。
4 .重新启动4.systemctlrestartnamedDNS服务
5 .检查5.netstat -antlpe | grep named连接器是否打开。 下图显示53个连接器未在本地打开。
6 .编辑6.vim/etc/named.confDNS配置文件,打开界面:
7 .重新启动7.systemctl restart named服务使更改生效
8.netstat -antlpe | grep named再次查看53界面是否已打开,如下图所示。
9 .将9.vim/etc/resolv.confDNS设置为本地ip
dns服务的安装配置已完成
二.配置实验环境
DNS分配权限威名服务器
存储并提供整个DNS域或作为DNS域一部分的区域的实际数据。
授权名称服务器的类型如下
Master :包含原始区域数据。 有时称为“主”名称服务器
Slave :备份服务。 通过区域传输从主服务器获取的区域数据的副本。 有时也称为“次要”名称服务器
非权威/递归名称服务器
客户端从授权名称服务器中搜索数据。 递归名称服务器的类型如下
名称服务器:仅用于搜索,对非关键数据内容没有权威性
DNS检索
客户端上的存根解析器将查询发送到/etc/resolv.conf中的名称服务器。 如果名称服务器对所请求的信息具有权威,则将权威答案发送到客户端。 否则,如果名称服务器缓存包含请求的信息,则将非权威答案发送给客户端。 如果缓存中没有信息,名称服务器将搜索权威名称服务器以搜索信息,从根区域开始沿DNS层次向下搜索,然后将其作为客户端进行响应,直到信息具有权威名称服务器。 在这种情况下,名称服务器会将信息传递给客户端,并在其缓存中保留一个副本供以后检索。
DNS资源记录DNS区域以资源记录的形式存储信息。 每个资源记录都有一种类型,用于指示保留的数据类型。
a :名人员到IPv4地址
AAAA :名至IPv6地址
来自-cname:名的“规范名称”(包括A/AAAA记录的其他名称) )
ptr : IPv4/IPv6地址到名称
MX :用于名称邮件开关。 电子邮件将发送到哪里?
ns 3360域名名称服务器
SOA :“开始许可”,DNS区域信息(管理信息)
如果DNS排名错误,将显示来自DNS搜索的详细信息。 这包括查询失败的原因:
no error :查询成功
nxdomain : DNS服务器指示此名称不存在
serv fail 3360 DNS服务器停机或DNSSEC响应验证失败
refused : DNS服务器可能是为了控制访问,所以拒绝回答
dig输出的部分内容标题包含有关查询和回答的信息。 这包括响应状态和配置的特殊标记(例如,aa是权威回答)
question :实际上是
的 DNS 查询– ANSWER : 响应 ( 如果有 )
– AUTHORITY : 负责域 / 区域的名称服务器
– ADDITIONAL : 提供的其他信息 , 通常是关于名称服务器
– 底部的注释指出发送查询的递归名称服务器以及获得响应所花费的时间 缓存 DNS 服务器
BIND 是最广泛使用的开源名称服务器,在 RHEL 中 , 通过 bind 软件包提供防火墙开启端口 53/TCP 和 53/UDP。BIND 的主配置文件是 /etc/named.conf 。/var/named 目录包含名称服务器所使用的其他数据文件
/etc/named.conf 的语法
• // 或 # 至行末尾是注释 ; /* 与 */ 之间的文本也是注释 ( 可以跨越多行 )
• 指令以分号结束 (;)
• 许多指令认为地址匹配列表放在大括号中、以CIDR 表示法表示的 IP 地址或子网列表中 , 或者命名的 ACL 中 ( 例如 any; [ 所有主机 ] 和none; [ 无主机 ] )。
• 文件以 options 块开始 , 其中包含控制 named如何运作的指令。
• zone 块控制 named 如何查对于其具有权威性的根名称服务器和区域。
##(1)正向解析:通过域名,找到ip地址
1.cd /var/named/ 切换到/var/named/目录下
2.cp -p named.localhost hk.com 将named.localhost里的内容复制生成新文件为hk.com (文件名自定义):
3.vim /hk.com 编辑文件如下图所示:
4.vim /etc/named.rfc1912.zones 编辑文件,将如下信息编辑到文件中:
5.systemctl restart named 重启服务让修改生效
6.测试
dig news.hk.com 输入域名让dns解析出ip:
dig www.hk.com 解析第二个域名:
###(2)反向解析:解析ip找到与之对应的域名
1.cd /var/named/ 切换到/var/named/目录下
2.cp -p named.loopback hk.com.ptr 复制named.loopback生成hk.com.ptr文件
3.vim /hk.com.ptr 编辑文件如图所示:
4.vim /etc/named.rfc1912.zones 编辑文件如图所示:
5.systemctl restart named 重启服务让修改生效
6.测试
dig -x 172.25.254.121 解析第一个ip :
dig -x 172.25.254.122 接着解析第二个ip,解析出来的域名与之前编辑的文件内容一致:
###(3)解析反馈设置(给予不同ip用户不同答案)
1.cd /var/named/ 切换到/var/named/目录下
2.cp -p hk.com hk.com.net 复制生成hk.com.net文件
3.vim /hk.com.net 编辑文件如图所示:
4.cp -p /etc/named.rfc1912.zones /etc/named.rfc1916.zones 复制产生一个新的文件/etc/named.rfc1916.zones
5.vim /etc/named.rfc1916.zones 编辑文件如图所示:
6.vim /etc/named.conf 编辑文件如图所示,给予不同ip用户不同答案,将文件中51到58行注释掉:
然后编辑内容59到80行,如图所示,只有172.25.254.21能够看到/etc/named.rfc1912.zones文件中解析出来的ip,其他ip用户可以看到
/etc/named.rfc1916.zones文件中解析出来的ip地址:
7.systemctl restart named 重启服务,让修改生效
8.测试
在ip为172.25.254.21的主机上编辑文件vim /etc/resolv.conf,将本机ip作为172.25.254.21的主机的dns:
在ip为172.25.254.21的主机上访问 www.hk.com,成功解析出来ip,与之前文件中一致:
本机自己访问 www.hk.com 和ip为172.25.254.21所看到解析出来的ip不同,说明配置成功:
###(4)dns集群:增加一个或多个主机一起解析,缓解主机压力(这次添加一台主机)
1.在ip为172.25.254.221的主机上下载dns服务,并在防火墙设置中允许运行服务:
firewall-config 打开防火墙配置服务
firewall-cmd --list-all 查看修改后被允许的服务信息:
2.vim /etc/named.rfc1912.conf 编辑文件,将如图所示内容编辑到文件中:
3.vim /etc/named.conf 修改文件,如图所示:
4.将/var/named/slaves/目录下的文件删除
5.systemctl restart named 重启服务,让修改生效
6.查看/var/named/slaves/中是否有新的内容,可以看到本机的hk.com.net文件在目录下,说明配置没有问题:
###(5)同步:让两台或多台主机在进行域名解析时,所给出的答案一致
1.vim /var/named/hk.con.net 修改文件中的参数,将之前www对应的122改为124,看ip为172.25.254.221主机是否能够同步:
3.systemctl restart named 重启本机dns服务,让修改生效
4.dig www.hk.com 本机查看信息是否修改,如图已经修改:
3.在ip为172.25.254.221主机,dig www.hk.com 查看信息是否与本机同步:
解析一致,同步成功
(6)加密key更新:(为了提升dns解析服务的安全性,需要进行加密更新配置,拥有密钥的的ip主机才能够对本机进行更新)
1.dnssec-keygen -a HMAC-MD5 -b 128 -n HOST hongk 生成密钥
2.cat Khongk.+157+06432.key 查看密钥密码:
3.cp /etc/rndc.key /etc/hongk.key -p 生成dns的加密文件
4.vim /etc/hongk.key 编辑加密文件,如图所示:
5.vim /etc/named.conf 指定dns服务读取的key文件:
6.vim /etc/named.rfc1912.zones 编辑文件,指定更新域为hongk,如图所示:
7.scp Khongk.+157+06432./* root@172.25.254.221:/mnt 将密钥发送给ip为i172.25.254.221的主机:
8.在本机配置DHCP服务:
vim /etc/dhcp/dhcpd.conf 编辑文件,如图所示:
继续编辑,将加密信息编辑到dhcp配置文件中:
9.systemctl restart dhcpd 重启dhcp服务
systemctl restart named 重启dns服务
10.给本机/var/named/目录修改权限:chmod g+w /var/named/
11.测试:
将一台主机的主机名改为music.hk.com,设置为dhcp模式获取ip,获取到的ip为172.25.254.55,为上面dhcp配置文件中的地址池ip:
然后在本机 dig music.hk.com 可以解析到陌生主机名的ip: