DNS域名解析服务

279 阅读8分钟

image.png


bind域名服务基础

DNS是指域名系统。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。
DNS服务使用TCP和UDP的53端口,TCP的53端口用于连接DNS服务器,UDP的53端口用于解析DNS
域名和IP地址间是多对一的关系,一个IP地址不一定只对应一个域名,且一个完整域名只可对应一个IP地址。

域名结构

http:// 主机名 . 子域 . 二级域 . 顶级域 根域/
每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。
完全合格域名:是指包含了所有域的主机名,其中包括根域,也是这台主机在域名中的全名

结构作用
根域做于城名空间最项层,一般用一个“.”表示
顶级域一般代表一种类型的组织机构或国家地区如:.net (网络供应商)、.com(工商企业)、.org (团体组织)、.edu(教育机构)、.gov(政府部门)、.cn (中国国家域名)
二级域用来标明顶级域内的一个特定的组织,国家顶级域下面的二级域名由国家网络部门统一管理如.cn顶级域名下面设置的二级域名:.com.cn. .net.cn、.edu . cn
子域二级域下所创建的各级域统称为子域,各个组织或用户可以自由申请注册自己的域名
主机名主机位于域名空间最下层,就是一台具体的计算机

d502db0bd6fb616e936aee7e459691c.png

结构为树状结构,树状结构最顶层称为根域,用“.” 表示,相应服务器称为根服务器,整个域名空间解析权都归根服务器所有,但根服务器无法承担庞大的负载,采用“委派”机制。
在根域下设置了一些项级域,然后将不同项级域解析权分别委派给相应的顶级域服务器,以后但凡根服务器收到以cm结尾的域名解析请求,都会转发给com域服务器。
同理,为了减轻顶级域的压力,又下设了若干二级域,二级域又下设三级域或主机。

DNS域名解析方式

正向解析

根据域名查找对应的IP地址

  • 递归查询
    image.png

过程:用户访问域名———>【本地缓存域名服务器】———>根域服务器———>顶级域服务器———>【二级域服务器】———>子域服务器———>通过主机名解析出IP地址———>再逐层返回

  • 迭代查询
    image.png

过程:用户访问域名———>【本地缓存域名服务器】———>根域服务器———>返回———>顶级域服务器———>返回———>【二级域服务器】———>返回———>子域服务器———>通过主机名解析出IP地址

反向解析

根据IP地址查找对应的域名 image.png

DNS服务器类型

  • 主域名服务器:负责维护一个区域的所有域名信息,是特定的所有信息的权威信息源,数据可以修改。构建主域名服务器时,需要自行建立所负责区域的地址数据文件(主要放置域名与IP地址的对应关系)。
  • 从域名服务器:当主域名服务器出现故障、关闭或负载过重时,从域名服务器作为各份服务提供域名解析服务。从域名服务器提供的解析结果不是由自己决定的,而是来自于主域名服务器。构建从域名服务器时,需要指定主域名服务器的位置,以便服务器能自动同步区域的地址数据库(相当于主域名服务器的备份服务器)。
  • 缓存域名服务器:只提供域名解析结果的缓存功能,目的在于提高查询速度和效率,但没有域名数据库。它从某个远程服务器取得每次域名服务器查询的结果,并将它放在高速缓存中,以后查询相同的信息时用它予以响应。缓存域名服务器提供的所有信息都是间接信息。构建缓存域名服务器时,必须设置根域或指定其他DNS服务器作为解析来源。
  • 转发域名服务器:负责所有非本地域名的本地查询。转发域名服务器接到查询请求后,在其缓存中查找,如找不到就将请求依次转发到指定的域名服务器,直到查找到结果为止,否则返回无法映射的结果(加速器就运用了转发域名服务器的性质)。

使用bind构建域名服务器

主机名:www
区域名:baidu.com
准备工作

  • 安装bind软件包 image.png
  • 关闭防火墙和selinux image.png

本地IP地址和主机名映射

本地IP地址和主机名映射文件:/etc/hosts
Windows中hosts位于:C:\Windows\System32\drivers\etc\hosts
其优先级大于dns解析

  1. 加入了本机地址,并以myhost1作为域名 image.png
  2. 此时直接ping域名myhost1 image.png

构建DNS域名解析服务器

需要修改的配置文件所在路径

image.png

正向解析操作

  1. 修改主配置文件 /etc/named.conf(其中允许访问的网段要加子网掩码,如图二) image.png image.png image.png image.png

  2. 改区域配置文件,添加正向区域配置 /etc/named.rfc1912.zones image.png

  3. 配置正向区域数据文件 image.png image.png image.png

  4. 开启服务,指定服务器名称 image.png image.png

  5. 用hosts或nslookup进行解析 image.png image.png

  6. 别的主机想要访问,需要更改网卡配置文件DNS配置,然后才能访问 image.png image.png image.png image.png

反向解析操作

  1. 修改主配置文件 /etc/named.conf中,提供服务的本地IP和允许访问的网段 image.png

  2. 改区域配置文件 /etc/named.rfc1912.zones image.png

  3. 配置反向区域数据文件 image.png image.png

  4. 重新启动服务,在另一台主机访问IP地址 image.png image.png

主从域名服务器

1.设置主域名服务器,改区域配置文件,正向反向都要配置,重启服务 image.png image.png image.png

  1. 再设置从服务器,修改主配置文件和区域配置文件 image.png image.png image.png

  2. 重新启动服务,在/var/named/slaves下发现文件已经备份过来,且从服务器53端口已开启 image.png image.png

  3. 此时主服务器关闭,其他主机依然可以访问进行DNS解析,通过从域名服务器进行解析

分离解析

分离解析的域名服务器实际也是主域名服务器,这里主要是指根据不同的客户端提供不同的域名解析记录。如从内网和外网的不同网段地址的客户机请求解析同一域名时,提供不同的解析结果。

配置网关服务器搭建DNS分离解析

准备工作

  1. 给网关服务器新增一个网卡。且两张网卡,一张处于VMnet1,另一张处于VMnet2,即两张网卡不处于同一网段。 image.png image.png

  2. 给新增网卡添加配置文件 image.png

  3. 对两个配置文件进行配置,重启网卡服务 image.png image.png image.png

  4. 若要连回XShell,对VMware虚拟网卡配置,修改一张VMware网卡即可 image.png image.png image.png

配置网关服务器搭建DNS分离解析操作过程
  1. 修改网关服务器主配置文件 /etc/named.conf image.png

  2. 修改区域配置文件,其余的配置全删掉
    :一旦启用view,所有的zone必须都在view下,所以要把系统默认的自检用的zone也放在view下或者删除 image.png image.png

  3. 修改区域数据配置文件,设置完后启动named服务 image.png image.png image.png image.png

测试

  1. 用另一台主机,设为VMnet1 image.png image.png image.png

  2. 通过该主机访问 image.png

  3. 再用同一网段的另一台主机访问,也设为VMnet1 image.png

  4. 若要通过域名访问,需要在客户端设置dns配置,配置网卡并重启 image.png image.png

  5. 再用另一台主机模拟外网访问,这里用的一台win7的主机,将网络适配器调成VMnet2 image.png image.png image.png

  6. 内网中解析的地址为192.168.6.100,外网中解析的地址为12.0.0.254 image.png image.png

配置网关服务器搭建DNS分离解析并增加DHCP服务
  1. 在网关服务器中再安装DHCP image.png

  2. 将DHCP配置样板文件复制过来 image.png

  3. 配置dhcp.conf文件 image.png

  4. 更改客户端网卡配置进行测试 image.png image.png

  5. 查看/etc/resolv.conf发现已经自动配置,并且自动添加域名 image.png

  6. 再通过win7测试外网的dhcp,网络适配器中全都改成自动获取。获取成功后,发现以获取到所分配区间地址,网关也正确 image.png image.png

  7. 且两台主机都能获取对应IP地址 image.png image.png

总结

各服务端口

  • http:tcp 80
  • https:tcp 443
  • dhcp:udp 67(服务端)、68(客户端)
  • ftp:tcp 20(传输文件数据)、21(传输控制指令)
  • dns:tcp 53(连接dns服务器)、udp 53(解析dns)

域名结构:http:// 主机名 . 子域 . 二级域 . 顶级域 根域/

递归查询过程:用户访问域名———>【本地缓存域名服务器】———>根域服务器———>顶级域服务器———>【二级域服务器】———>子域服务器———>通过主机名解析出IP地址———>再逐层返回

迭代查询过程:用户访问域名———>【本地缓存域名服务器】———>根域服务器———>返回———>顶级域服务器———>返回———>【二级域服务器】———>返回———>子域服务器———>通过主机名解析出IP地址

bind软件

  • /etc/named.conf:主配置文件,配置 监听地址和端口,允许访问的客户端地址,数据文件默认目录,根域区域配置
  • /etc/named.rfc1912.zones:区域配置文件,配置 正向解析/方向解析的区域配置,主/备域名服务器配置
  • /var/named/named.localhost:区域数据文件,配置 正向解析的主机名和IP的映射关系,反向解析的IP与完整域名的映射关系