DNS :Domain Name System
在linux下实现dns解析的方案有两种
- 使用/etc/hosts文件进行解析(windonws里也有),只适合用在小型网络里
- DNS服务器
DNS服务器实现方法
- bind (Berkeley internet name daemon) :目前主要使用的dns
- powerdns :功能没有bind多,但是速度快
- mydns :利用数据库,可以动态更新
DNS解析原理
首先需要了解DNS的结构,如下图:
解析原理:
1.注意看自己的dns缓存 windows下(ifconfig /displaydns)
2.[1无]----向dns服务器发出请求
3.dns服务器也看自己的缓存
4.[3无]迭代查询 首先将请求交给根,然后逐级查询
5.dns服务器得到结果后,缓存,然后返回结果给客户机
6.客户机进行缓存
客户机---服务器 递归查询
服务器---服务器 迭代查询
DNS服务器类型:
- 主要DNS服务器 原始记录,可修改删除
- 辅助DNS服务器 副本,不能修改删除
- caching-only
- 存根NDS
- 正向区域 名称---->地址
- 反向区域 地址---->名称
正向区域的记录类型:
- SOA 起始授权 (主DNS服务器,管理员邮箱,刷新策略)
- NS 该区域的DNS服务器 (主DNS服务器,辅助DNS服务器)
- A 名称到地址的记录
- CNAME 别名 例如:smtp IN CNAME www smtp为www的别名
- MX 邮件交换器 (一个区域的邮件服务器) 例如:abc.com. IN MX 10 mail
反向区域的记录类型:
- SOA 起始授权 [主dns服务器 管理员邮箱 刷新策略 ]
- NS 该区域dns服务器 [主dns服务器 辅助dns服务器
- PTR 指针 1.1.1.1 www.sina.com.cn