Linux中的DNS域名解析

########DNS域名解析########
什么是DNS?
—— DNS 是计算机域名系统 (Domain Name System) 的缩写,它是由解析器和域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。其中域名必须对应一个IP地址,而IP地址不一定有域名。域名系统采用类似目录树的等级结构。域名服务器为客户机/服务器模式中的服务器方,它主要有两种形式:主服务器和转发服务器。将域名映射为IP地址的过程就称为“域名解析”。在Internet上域名与IP地址之间是一对一(或者多对一)的,域名虽然便于人们记忆,但机器之间只认IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。DNS 命名用于 Internet等 TCP/IP网络中,通过用户友好的名称查找计算机和服务。当用户在应用程序中输入 DNS 名称时,DNS 服务可以将此名称解析为与之相关的其他信息,如 IP 地址。因为,你在上网时输入的网址,是通过域名解析系统解析找到了相对应的IP地址,这样才能上网。其实,域名的最终指向是IP。
什么是BIND?
——BIND(berkeley internet name domain ),由berkeley大学开发,现由ISC组织维护,其是DNS协议的实现解决软件,服务端的运行进程为named,主配置文件为/etc/named.conf
<做DNS实验前先要在你使用的主机上安装bind软件包>
###正向解析###
1. vim /etc/named.conf ##编辑named主配置文件
第11行listen-on port 53括号里面改为any,这表示服务器上所有ip地址都可提供dns域名解析
第17行allow-query括号里也改为any,这表示允许所有人对本服务发送dns查询的请求
删掉之前做高速缓存实验添加的forwarders {114.114.114.114;};
第33行dnssec-validation后改为no,这表示当我们查询dns时系统不做检测
在这里插入图片描述
在这里插入图片描述
2. vim /etc/named.rfc1912.zones ##编辑文件,如图写入内容
在这里插入图片描述
此内容意思是当其他主机询问我dns域名时,我会告诉它去找westos.com.zone这个文件
3. 接着就要编辑westos.com.zone文件了
(1)首先我们cp -p named.localhost westos.com.zone ##拷贝文件的模板 ,此处一定要-p,不写
-p 的话后面实验会有权限问题
在这里插入图片描述
在这里插入图片描述
(2) vim westos.com.zone ##编辑文件,写入内容如图
在这里插入图片描述
< SOA : 授权启使 意思就是访问者的答案是来自哪里的
serial : 更新序列号
refresh : 刷新的时间
retry : 测试
expre : 过期时间
minimum : 最小访问时间
A : 普通解析
music A 172.25.64.3 : 解析地址 >
4. systemctl restart named 重启named服务
dig www.westos.com ##查看是否为westos.com.zone文件中我们写入的地址(172.25.64.2)
在这里插入图片描述
###CNAME解析,邮件解析###
1. vim westos.com.zone ##编辑未文件,写入内容如图
在这里插入图片描述
< CNAME 将规范名称转换成不规范名称在作解析(当我们www的解析地址时,会转换成music.a的地址)
mx 邮件解析记录
mx 10 后面的数字是优先级的意思 >
2. systemctl restart named重启named服务
dig www.westos.com ##查看地址是否转换成music.a的域名解析地址
在这里插入图片描述
3. dig -t mx westos.com ##查看邮件解析是否成功
在这里插入图片描述
4. mail yy@westos.com ##写邮件
mailq ##查看邮件解析地址是否为172.25.64.5
在这里插入图片描述
###反向解析###
1. vim /etc/named.rfc1912.zones ##编辑文件,写入内容如下
在这里插入图片描述
此内容和意思是当其他主机或本机通过ip来询问解析域名是什么时,我会去查找172.25.64.ptr这个文件
去查找答案
2. cp -p named.loopback 172.25.64.ptr ##拷贝模板到172.25.64.ptr文件
在这里插入图片描述
3. vim 172.25.64.ptr ##编辑该文件,写入内容如图(与正向解析内容刚好相反)
在这里插入图片描述
4. dig -x 172.25.64.100 ##查看解析到的域名是否与172.25.64.ptr文件中的对应
在这里插入图片描述
###多网解析###
1. vim /etc/sysconfig/network-scripts/ifcfg-eth0 ##编辑eth0文件,在增加一个ip地址1.1.1.12
( desktop虚拟机)
在这里插入图片描述
重启网络后ip addr show eth0查看是否添加上
在这里插入图片描述
2. cp -p westos.com.zone westos.com.inter ##拷贝模板到westos.com.inter文件中
在这里插入图片描述
3. vim westos.com.inter ##编辑该文件,写入内容如下
在这里插入图片描述
其实就是将westos.com.zone文件当中写入的域名的ip的网络位改为我们刚给eth0增加的ip的网络位
4. cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.inter ##拷贝文件模板
在这里插入图片描述
5. vim /etc/named.rfc1912.inter ##编辑文件,将刚才在/etc/named.rfc.zones当中写的内容删掉
重新写如内容如下图(因为是拷贝过来的内容,所以要将之前加入的内容删掉)
在这里插入图片描述
此内容意思是当其他主机或本机询问域名解析地址时,我去找westos.com.inter文件
6. vim /etc/named.conf ##编辑named主配置文件
注释掉50行到57行
58个行到74行写入内容如下图
在这里插入图片描述
此内容意思是当网络位为1.1.1.的主机询问我域名解析地址时,我会去找/etc/named.rfc1912.inter文件,
当其他主机询问我域名解析地址时,我会去找/etc/named.rfc1912.zones这个文件
7. 再开一台虚拟机(server),将其ip设置为1.1.1.11
vim /etc/resolv.conf ##编辑文件将nameserver后ip改为1.1.1.12(我们刚在desktop上添加的ip
在这里插入图片描述
在这里插入图片描述
8. 在server上dig www.westos.com查询www的域名解析地址时会显示1.1.1.4/3
在这里插入图片描述
9.vim /etc/resolv.conf ##编辑文件,将desktop的nameserver指向自己
在这里插入图片描述
10 而当我们在desktop本机上dig www.westos.com时,解析地址会显示为172.25.64.3/4
在这里插入图片描述
###辅助dns###
1. 作为辅助dns的主机(server)也要安装bind软件
在这里插入图片描述
2. 辅助端(server)
(1) vim /etc/named.conf ##编辑文件,修改内容和正向解析一样
在这里插入图片描述
在这里插入图片描述
(2) vim /etc/named.rfc1912.zones ##编辑文件,写入内容如图
在这里插入图片描述
masters后面的ip就是server主机所服务的主机ip
(3) /etc/named.rfc1912.zones文件写完后,systemctl restart named重启服务后会在/var/
named下自动生成westos.com.zone文件
=在这里插入图片描述
(3) vim /etc/resolv.conf ##编辑文件,将nameserver指向自己
在这里插入图片描述
2. 主dns端(desktop)
(1) vim /etc/named.rfc1912.zones ##编辑文件,写入内容如图
写入29和30行,意思是允许172.25.64.11主机作为本机的辅助dns主机
在这里插入图片描述
3. 测试
(1) 在主dns端vim westos.com.zone编辑该文件,将music.a的解析地址改为172.25.64.31/34
在这里插入图片描述
(2) 在辅助端dig www.westos.com发现解析地址没变,还是之前的ip地址
在这里插入图片描述
当我们重启named服务后发现解析地址才会变过来
在这里插入图片描述
(4) stat westos.com.zone ##查看同步时间
在这里插入图片描述
(5) 当我们将主dns端的westos.com.zone文件中的serial前面的数字更改一下,在查看一下同步
时间,会发现同步时间与之前的不同,这说明当主dns端更改westos.com.zone文件中的解
析地址时,辅助端时不会同步的,只有在将serial前面的数字更改一下,只要与更改前的的
数字不同,辅助端才会同步你更改后的内容
在这里插入图片描述
在这里插入图片描述
###客户端更新dns###
1. 做此实验之前主dns端即服务端desktop要cp -p /var/westos.com.zone /mnt/将
westos.com.zone文件拷贝到/mnt下,因为后面客户端会更新dns,其里面的内
容会改变,为不影响之后的实验操作,所以要将其拷贝一份
2. 服务端:
(1) chmod 770 /var/named/ ##给该目录权限
在这里插入图片描述
(2) getenforce查看一下selinux状态,如果是disabled则不用管,如果是enforcing,则需要
setsebool -P named_write_master_zones on开启这个功能
在这里插入图片描述
(3) vim /etc/named.rfc1912.zones ##编辑该文件,将allow-update括号里改为
172.25.64.11意思是允许172.25.64.11主机对我的westos.com.zone进行更新、
在这里插入图片描述
3. 客户端:
(1) 输入nsupdate命令进行更新
在这里插入图片描述
内容意思是对172.25.64.12主机进行更新,给其增加一个test域名,域名地址为172.25.64.200
(2) dig test.westos.com ##测试一下是否更新成功
在这里插入图片描述
成功
4. 更新后再服务端的/var/named下会生成westos.com.zone.jnl文件
在这里插入图片描述
当我们重启named服务后会发现westos.com.zone文件里的内容发生改变,因为每次改完named配置文
件都需要重启named服务,而重启之后其内容会发生改变,这就是之前我们为什么要拷贝该文件的原

在这里插入图片描述
###公钥私钥更新dns###
之前更新会导致westos.com.zone里的数据改变,所以要cp -p /mnt/westos.com.zone .
将该文件考备回/var/named/下(-p很重要),并要删除更新后的文件
在这里插入图片描述
1. 主dns端即服务端
(1) dnssec-keygen -a HMAC-MD5 -b 128 -n HOST westoskey ##生成公钥私钥
在这里插入图片描述
(2) cp -p /etc/rndc.key /etc/westos.key ##拷贝模板到westos.key文件中
vim /etc/westos.key ##编辑文件,将secret后引号里改为key的加密字符,再将key后面
引号里改为刚生成公钥私钥时的名字westoskey
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(3) vim /etc/named.conf ##编辑主配置文件
将在做多网解析时注释掉的50到57行还原,去掉注释符,再将58到74行添加的内容删掉
然后在43行加入include “/etc/westos.key”; 意思是当客户端通过钥匙询问域名解析地址时
我会去找这个文件查看它的钥匙是否正确,正确的话我才会告诉他解析地址,最后将28行
allow-update后面括号里改为key westoskey,意思是允许通过钥匙更新
在这里插入图片描述
在这里插入图片描述
(4) systemctl restart named重启named服务
scp Kwestoskey.+157+63982.* root@172.25.64.11:/mnt/ ##把钥匙给172.25.64.11主

在这里插入图片描述
2. 辅助dns端即客户端:
(1)查看是否拿到钥匙
在这里插入图片描述
(2) nsupdate -k Kwestoskey.+157+63982.private ##通过钥匙更新服务端dns
在这里插入图片描述
更新内容为删除www的域名解析
(3) dig www.westos.com ##若解析不到地址说明更新成功
在这里插入图片描述
###ddns动态解析###
做之前删掉westos.com.zone文件,再从/mnt下拷贝回来
在这里插入图片描述
1. 服务端:
(1) yum install dhcp ##安装dhcp服务
在这里插入图片描述
(2) cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf ##拷贝文件模板
vim /etc/dhcop/dhcpd.conf ##编辑dhcp配置文件
第8行servers后面改为172.25.64.12(本机ip)
再将第14行#号去掉,style后面改为interim;
第32行subnet后面改为172.25.64.0 netmask后面改为255.255.255.0 {
第33行range后面改为 172.25.64.55 172.25.64.59;
第34行routers后面改为172.25.64.59
这些更改内容都是为了可以分配给其他主机ip
在这里插入图片描述
在这里插入图片描述
接着在第35行到42行加入内容如下图
在这里插入图片描述
更改完后必须systemctl restart dhcpd重启dhcp服务
以上更改的内容总得意思就是当某一主机在我这获取ip后,我的主机的dhcp会告诉dns分配给某一主机一个ip和ip号,所以dns就知道了该主机域名对应的ip是什么,当本机或其他主机询问某一主机域名对应的ip是什么时,本机就会告诉他们某一主机域名对应的ip地址,当然前提是询问者必须要有钥匙
(3) vim /etc/resolv.conf ##编辑文件,将nameserver指向自己
在这里插入图片描述
2.客户端;
(1) vim /etc/sysconfig/network-scripts/ifcfg-eth0 ##编辑eth0配置文件,将其BOOTPROTO
的状态改为dhcp
在这里插入图片描述
(2) vim /etc/resolv.conf ##编辑文件,将nameserver指向服务端
在这里插入图片描述
(3)hostnamectl set-hostname game.westos.com ##将主机名改为game.westos.com
在这里插入图片描述
3.测试
(1)在客户端systemctl restart network重启网络,会获得一个由服务端分配的ip
在这里插入图片描述
(2) 在服务端dig game.westos.com 询问game.westos.com域名对应解析地址是否为刚分配的ip

在这里插入图片描述

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值