标签:use 表示 image forward 传输 网络服务 irb baidu clu
(一)了解DNS整个工作流程(二)配置unbound作为DNS服务器
(2.1)我们使用unbound软件来进行DNS服务的配置,首先在vms001主机上安装unbound软件。
(2.2)在我们的系统中通常会使用如下的DNS服务系统架构,有两台DNS服务器,分别是主DNS:master和辅DNS:slave,其中主DNS服务器上的数据都会定期同步到辅DNS上,在进行主辅信息同步的时候使用的是tcp的53端口;而客户端一般会设置两个DNS地址用于查询请求,当客户端PC向主DNS或者辅DNS查询的时候使用的是UDP的53端口。所以我们一般也是要在防火墙中设置开放DNS服务。
(2.3)进入到/etc/unbound/目录中,编辑unbound.conf配置文件。
(2.4)整个unbound.conf的框架主要包括server,local-zone,remote-control,stub-zone,forward-zone五个部分。
(2.5)在unbound.conf配置文件中的server框架下有一个参数为interface,需要进行设置,将其服务对外开放。
(2.6)但是我们设置interface为0.0.0.0后发现unbound服务重启失败了,这是由于我们的系统中有虚拟化环境存在,装过了虚拟化环境后默认会有一个dnsmasq存在,这也是一个DNS服务,也是运行监听在virbr0网卡的53端口。而我们设置interface时指定运行在所有网卡上,这和虚拟化环境中的dnsmasq产生了冲突,才会导致我们配置完后服务重启失败。
(2.7)我们可以将interface设置为本机IP地址192.168.26.101,这样DNS服务就可以正常的重启了。
(2.8)接着在server框架中我们设置access-control即unbound服务器的访问控制列表也是允许所有主机可以访问。
(2.9)然后在server框架中我们设置username的值为空即可,一般username是做认证使用的。
(2.10)在server框架中我们常用到的配置就包含interface、access-control和username这三个。接下来include: /etc/unbound/local.d/*.conf表明在unbound.conf配置文件默认是会包含/etc/unbound/local.d/目录下的所有后缀为conf的文件的,一般我们的local-zone的信息就是通过这样的方式提供的。配置完成后记得需要将unbound服务重启一下。
(2.11)配置完成后我们可以检查一下配置是否有错误:# unbound-checkconf
(2.12)我们使用vms002主机进行测试,我们将vms002主机的DNS服务器IP地址设置为192.168.26.101
(2.13)接着我们在vms002主机上进行测试。
(2.14)我们继续对local-zone中的存在于/etc/unbound/local.d/目录下的aa.conf的配置文件中第二行进行配置。SOA(Start of Authority)表示验证的开始。
(2.15)最后我们将vms001主机的DNS服务器的IP地址也指向192.168.26.101,并重启网络服务。至此我们便完成了配置unbound作为DNS服务器。
(三)配置仅转发DNS服务器
有时候我们在家里上网的时候,会使用家庭版的路由器,这个时候家庭路由器通过WAN口将PC客户端的请求和互联网进行连接,家庭PC地址会设置在一个网段内,例如192.168.26.0网段,PC的IP地址为192.168.26.10,网关的地址为192.168.26.1。我们发现家里的路由器中并没有配置DNS的相关local-zone的条目,但是我们PC客户端配置了DNS指向这个家庭路由器后仍然可以为我们解析IP地址。这种类型其实就是一种仅转发DNS服务器,当它接收到客户端的域名解析的请求时,它是不会做解析的,它会连接到当地的互联网运营商的DNS服务器,将接收到请求转发到互联网运营商的DNS服务器处理。
(3.1)我们将vms002主机配置为仅转发DNS服务器,安装unbound软件。
(3.2)在vms002主机上的/etc/unbound/目录下,配置unbound.conf文件,设置vms002主机监听IP地址为192.168.26.102的53端口。
(3.3)设置access-control允许所有主机进行查询的请求。
(3.4)然后在我们设置username的值为空即可,一般username是做认证使用的。
(3.5)进入到/etc/unbound/目录中,找到unbound.conf文件,使用forward-zone的模板信息,接着我们进入到/etc/unbound/local.d/目录中,创建一个aa.conf的配置文件。
(3.6)在vms002主机的aa.conf配置文件中设置转发的域名为“example.com”,表示当外部客户端只有在请求解析example.com域名时才做转发服务,其他情况例如查询“baidu.com”,则不作任何的操作。转发的地址设置为vms001主机地址:192.168.26.101
(3.7)在vms002主机上需要设置防火墙规则,允许DNS服务的通信,并将设置在防火墙中写入持久态。并将unbound服务启动起来。
(3.8)接着我们启动一台测试DNS效果的DNSClient客户端,设置IP地址为192.168.26.23
(3.9)然后我们在vms001主机和vms002主机执行抓包命令,在DNSClient主机执行请求解析的命令。可以看到vms001和vms002主机都有如下的抓包结果(图3-13)
(3.10)以vms002提取的抓包结果为例,首先DNSClient会向vms002主机询问example.com的IP地址是多少,vms002主机会将询问转发到vms001主机进行查询,vms001主机回复了vms002主机的查询结果为192.168.26.101,此时因为有DNSKEY的问题,所以vms002主机并不信任vms001主机的回复结果。
(3.11)此时我们需要取消vms002主机向vms001主机回复结果后的密钥验证步骤,可以进入vms001主机和vms002主机的/etc/unbound/目录,编辑unbound.conf配置文件。
(3.12)此时vms002主机作为一台仅转发的DNS服务器,便实现了正常的解析DNSClient客户端的查询请求了。
(3.13)如果我们希望这台仅转发DNS服务器可以解析所有的主机名解析请求,那么就可以将name参数设置为“.”即可,并将转发的DNS地址设置为一台已经配置好DNS服务的主机上,这样就可以建立起一个实用的仅转发DNS服务器了。
小技巧:有时候我们也可以使用# dig +trace www.baidu.com 命令查询DNS地址解析的过程。
标签:use 表示 image forward 传输 网络服务 irb baidu clu
原文地址:https://blog.51cto.com/13613726/2435842