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 |
| 子域 | 二级域下所创建的各级域统称为子域,各个组织或用户可以自由申请注册自己的域名 | |
| 主机名 | 主机位于域名空间最下层,就是一台具体的计算机 |
结构为树状结构,树状结构最顶层称为根域,用“.” 表示,相应服务器称为根服务器,整个域名空间解析权都归根服务器所有,但根服务器无法承担庞大的负载,采用“委派”机制。
在根域下设置了一些项级域,然后将不同项级域解析权分别委派给相应的顶级域服务器,以后但凡根服务器收到以cm结尾的域名解析请求,都会转发给com域服务器。
同理,为了减轻顶级域的压力,又下设了若干二级域,二级域又下设三级域或主机。
DNS域名解析方式
正向解析
根据域名查找对应的IP地址
- 递归查询
过程:用户访问域名———>【本地缓存域名服务器】———>根域服务器———>顶级域服务器———>【二级域服务器】———>子域服务器———>通过主机名解析出IP地址———>再逐层返回
- 迭代查询
过程:用户访问域名———>【本地缓存域名服务器】———>根域服务器———>返回———>顶级域服务器———>返回———>【二级域服务器】———>返回———>子域服务器———>通过主机名解析出IP地址
反向解析
根据IP地址查找对应的域名
DNS服务器类型
- 主域名服务器:负责维护一个区域的所有域名信息,是特定的所有信息的权威信息源,数据可以修改。构建主域名服务器时,需要自行建立所负责区域的地址数据文件(主要放置域名与IP地址的对应关系)。
- 从域名服务器:当主域名服务器出现故障、关闭或负载过重时,从域名服务器作为各份服务提供域名解析服务。从域名服务器提供的解析结果不是由自己决定的,而是来自于主域名服务器。构建从域名服务器时,需要指定主域名服务器的位置,以便服务器能自动同步区域的地址数据库(相当于主域名服务器的备份服务器)。
- 缓存域名服务器:只提供域名解析结果的缓存功能,目的在于提高查询速度和效率,但没有域名数据库。它从某个远程服务器取得每次域名服务器查询的结果,并将它放在高速缓存中,以后查询相同的信息时用它予以响应。缓存域名服务器提供的所有信息都是间接信息。构建缓存域名服务器时,必须设置根域或指定其他DNS服务器作为解析来源。
- 转发域名服务器:负责所有非本地域名的本地查询。转发域名服务器接到查询请求后,在其缓存中查找,如找不到就将请求依次转发到指定的域名服务器,直到查找到结果为止,否则返回无法映射的结果(加速器就运用了转发域名服务器的性质)。
使用bind构建域名服务器
主机名:www
区域名:baidu.com
准备工作
- 安装bind软件包
- 关闭防火墙和selinux
本地IP地址和主机名映射
本地IP地址和主机名映射文件:/etc/hosts
Windows中hosts位于:C:\Windows\System32\drivers\etc\hosts
其优先级大于dns解析
- 加入了本机地址,并以myhost1作为域名
- 此时直接ping域名myhost1
构建DNS域名解析服务器
需要修改的配置文件所在路径
正向解析操作
-
修改主配置文件 /etc/named.conf(其中允许访问的网段要加子网掩码,如图二)
-
改区域配置文件,添加正向区域配置 /etc/named.rfc1912.zones
-
配置正向区域数据文件
-
开启服务,指定服务器名称
-
用hosts或nslookup进行解析
-
别的主机想要访问,需要更改网卡配置文件DNS配置,然后才能访问
反向解析操作
-
修改主配置文件 /etc/named.conf中,提供服务的本地IP和允许访问的网段
-
改区域配置文件 /etc/named.rfc1912.zones
-
配置反向区域数据文件
-
重新启动服务,在另一台主机访问IP地址
主从域名服务器
1.设置主域名服务器,改区域配置文件,正向反向都要配置,重启服务
-
再设置从服务器,修改主配置文件和区域配置文件
-
重新启动服务,在/var/named/slaves下发现文件已经备份过来,且从服务器53端口已开启
-
此时主服务器关闭,其他主机依然可以访问进行DNS解析,通过从域名服务器进行解析
分离解析
分离解析的域名服务器实际也是主域名服务器,这里主要是指根据不同的客户端提供不同的域名解析记录。如从内网和外网的不同网段地址的客户机请求解析同一域名时,提供不同的解析结果。
配置网关服务器搭建DNS分离解析
准备工作
-
给网关服务器新增一个网卡。且两张网卡,一张处于VMnet1,另一张处于VMnet2,即两张网卡不处于同一网段。
-
给新增网卡添加配置文件
-
对两个配置文件进行配置,重启网卡服务
-
若要连回XShell,对VMware虚拟网卡配置,修改一张VMware网卡即可
配置网关服务器搭建DNS分离解析操作过程
-
修改网关服务器主配置文件 /etc/named.conf
-
修改区域配置文件,其余的配置全删掉
注:一旦启用view,所有的zone必须都在view下,所以要把系统默认的自检用的zone也放在view下或者删除 -
修改区域数据配置文件,设置完后启动named服务
测试
-
用另一台主机,设为VMnet1
-
通过该主机访问
-
再用同一网段的另一台主机访问,也设为VMnet1
-
若要通过域名访问,需要在客户端设置dns配置,配置网卡并重启
-
再用另一台主机模拟外网访问,这里用的一台win7的主机,将网络适配器调成VMnet2
-
内网中解析的地址为192.168.6.100,外网中解析的地址为12.0.0.254
配置网关服务器搭建DNS分离解析并增加DHCP服务
-
在网关服务器中再安装DHCP
-
将DHCP配置样板文件复制过来
-
配置dhcp.conf文件
-
更改客户端网卡配置进行测试
-
查看/etc/resolv.conf发现已经自动配置,并且自动添加域名
-
再通过win7测试外网的dhcp,网络适配器中全都改成自动获取。获取成功后,发现以获取到所分配区间地址,网关也正确
-
且两台主机都能获取对应IP地址
总结
各服务端口:
- 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与完整域名的映射关系