一、简单介绍
1、DNS系统类型
缓存域名服务器:
- 也称为高速缓存服务器,通过向其他域名服务器查询获得域名 -> IP地址记录
- 将域名查询结果缓存到本地
- 提高重复查询的速度
- 节省互联网的网络带宽
- 适用于公司人员多,访问流量大
主域名服务器:
- 特定 DNS 区域的官方服务器,具有唯一性
- 负责维护该区域内所有域名 -> IP 地址的映射记录
- 适用于访问公司内部网站
从域名服务器:
- 也称为辅助域名服务器(属于主服务器的备份)
- 其维护的 域名 -> IP 地址记录 来源于主域名服务器
简单来说,主服务器是用于管理域名和IP地址对应关系的真正服务器,从服务器帮助主服务器“打下手”,分散部署在各个国家、省市或地区,以便让用户就近查询域名,从而减轻主服务器的负载压力。缓存服务器不太常用,一般部署在企业内网的网关位置,用于加速用户的域名查询请求。
2、DNS服务器的基本概念
在线上工作的DNS服务器通常都是主辅结构。辅DNS用于分担查询请求,它的数据都是从主DNS同步,工作过程大概如下:
1、辅DNS根据配置文件中所设置的刷新间隔(refresh)来定期向主DNS进行数据同步
2、辅DNS根据主服务器上序列号(serial)作为标准决定是否需要执行同步
3、如果辅DNS无法连接主DNS,会根据设置的重试时间(retry)来重新与主DNS进行连接
4、如果重新连接了多次还是无法成功,那么达到过期时长(expire)的限制后辅DNS就会放弃获取数据,辅DNS也不会升级成主DNS,而是下线不再提供服务(因为辅DNS是没有办法写入新数据的)
@ IN S0A topsec.com admin.topsec.com ( 20190319172 #serial序列号,标识是第几个版本 3H #refresh刷新时间 15M #retry重试时间 1W #expire过期时间 1D #否定回答时间 )
3、DNS常用记录类型
区域解析库文件:每个域名都有一个自己的区域解析库文件(zone文件),由一条条资源记录来定义具体指向
SOA记录:起始授权记录,一个区域解析库只能有一个SOA记录,而且必须为第一条。打个比方,建了个海岛,需要对外宣布世界上多了一个海岛,这个事情就是SOA在做
NS记录:域名服务记录,一个区域解析库可以有多个NS记录,其中一个为主服务器。结合上面的例子,NS记录可以理解为用来宣布岛主是谁
A记录:地址记录,从域名解析为IP的记录
AAAA:IPv6的地址记录
PRT:反向解析记录,从IP解析为域名
MX:邮件交换记录。我们平时发邮件都是直接发到qq.com、163.com等域名上,但是这些域名肯定是有多台服务器的,MX记录就是指明了哪个服务器会负责邮件。MX服务可以存在多个,由优先级来区分先后,0-99,数字越小优先级越高
CNAME记录:给一个地址设置一个别名
4、了解bind服务
如今使用最广泛的DNS服务器软件是BIND,在Linux和Windows平台都是支持的。BIND相关软件包介绍如下:
bind:DNS主程序包
bind-utils:DNS客户端程序包,如nslookup,dig
bind-devel:DNS开发包,也可以叫做支持包
bind-libs:被bind和bind-utils共同用到的库文件
bind-chroot:chroot牢笼,伪装根目录,选装
/etc/named.conf:bind服务的主配置文件,通常只修改listen-on的地址为any即可。该文件可include其他配置文件,尤其是/etc/named.rfc1912.zones这个文件为主配置提供了很多有用的辅助性配置
/var/named/:bind服务的工作目录,该目录里保存了每个域的zone文件(就是详细的解析信息文件)。
5、安装部署DNS
- 部署环境:
DNS(主):202.100.10.2
DNS(从):202.100.10.10
Linux客户端:202.100.10.20
Win 7客户端:202.100.10.21
- 实验步骤:
实验准备:
1、分别对主从DNS的iptables和setenforce调整
2、设置两个客户端IP地址和DNS
Win 7
Linux 客户机
重启network,并查看DNS
3、设置主从DNS的eth1信息
DNS(主):
DNS(从):
配置结束后分别重启network
4、分别在主从DNS中安装BIND
DNS(主):
DNS(从):
DNS(主):
配置完成并检查(named-checkconf),无反应则为正确
2、配置topsec.com.zone,topsec.edu.zone
正向:
Topsec.com.zone:
测试区域数据文件:
Topsec.edu.zone:
逆向202.100.10.zone:
测试区域数据文件:
3、启动DNS(主)服务
DNS(从):
1、配置DNS(从)的named.conf
配置完成并检查(named-checkconf),无反应则为正确
2、启动DNS(从)服务
3、查看slaves目录下是否生成数据文件:
- 实验验证:
Linux客户机:
1、查看Linux客户机DNS
ping ns1.topsec.com:
nslookup www.topsec.edu:
nslookup 202.100.10.133:
Win 7客户机:
1、查看win 7客户机DNS
2、测试:
Ping ns2.topsec.com:
nslookup news.topsec.com
nslookup 202.100.10.133
3、交互式测试: