一、DNS分离解析
有些时候,对不同网络中的计算机进行DNS解析时,需要进行"区别对待",不同的主机请求服务器解析相同的域名,得到的IP地址也会不同。比如来自内网和外网的不同网段地址的客户机请求解析同一域名时,为其提供不同的解析结果。
大致原理是通过配置/etc/named.conf文件,将来自不同网络中的解析请求分开处理。
在/var/named中创建两个文件,文件名与配置区域时指定的文件名保持一致:
两个文件配置过后,注意修改文件的属主或属组,且打开DNS服务,就可以使用客户机进行测试了。
注意DNS服务需要下载bind,且需要配置防火墙规则以允许DNS解析流量通过或直接关掉防火墙。
二、多域名解析
通常一个域名服务器会管理多个区域,每个区域都有自己的区域名、IP与域名的映射关系。设置多域名解析只需要在DNS服务的主配置文件中添加区域即可,需要多少个区域的域名就添加多少个。
三、DNS子域
域名是分层级的,顶级域、二级域、三级域等,顶级域为所有下级域的父域。若子域不能解析客户端发来的请求,则会通过一些方法找到自己的父域,并从父域获取解析后的结果,发送给客户端。
配置父域名服务器子域名服务器需要在/etc/named文件里添加区域配置,区域文件依然放在/var/named目录下,且关闭子域名服务器的dnssec-enable、dnssec-validation这两项,dnssec功能会对会对它接收到的DNS响应进行DNSSEC验证,包括来源验证、数据完整性验证、否定存在验证。
父域名解析器的区域配置:
子域名解析器的区域配置:
注意,只要是区域文件,其属主或属组必须为named,否则named服务无法访问该文件。
因为DNS服务器是从网卡接收域名解析请求的,注意修改named.conf文件中的listen-on项中监听的IP地址为本机的IP地址,allow-query为允许哪些网络中的主机可以向自己发送解析请求,因为是试验环境,可以修改为any。