DNS :Domain Name System
在linux下实现dns解析的方案有两种
  1. 使用/etc/hosts文件进行解析(windonws里也有),只适合用在小型网络里
  2. 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服务器类型:
  1. 主要DNS服务器    原始记录,可修改删除
  2. 辅助DNS服务器    副本,不能修改删除
  3. caching-only   
  4. 存根NDS     
DNS的区域类型
  1. 正向区域   名称---->地址
  2. 反向区域   地址---->名称  
记录类型
   正向区域的记录类型:
  1. SOA 起始授权  (主DNS服务器,管理员邮箱,刷新策略)
  2. NS 该区域的DNS服务器  (主DNS服务器,辅助DNS服务器)
  3. A   名称到地址的记录
  4. CNAME 别名    例如:smtp IN CNAME www   smtp为www的别名
  5. MX  邮件交换器  (一个区域的邮件服务器)  例如:abc.com.    IN MX 10 mail
   反向区域的记录类型:
  1. SOA 起始授权   [主dns服务器    管理员邮箱    刷新策略 ]
  2. NS 该区域dns服务器   [主dns服务器  辅助dns服务器
  3. PTR 指针     1.1.1.1   www.sina.com.cn