DNS is a hierarchical decentralized naming system for computers, services, or other resources connected to the Internet or a private network. It associates various information with domain names assigned to each of the participating entities. Most prominently, it translates more readily memorized domain names to the numerical IP addressesneeded for locating and identifying computer services and devices with the underlying network protocols. By providing a worldwide, distributed directory service, the Domain Name System is an essential component of the functionality on the Internet, that has been in use since 1985
从上述的定义中可以看出DNS功能和特点如下:
/etc/hosts
%WINDIR%/system32/drivers/etc/hosts
122.10.117.2 www.magedu.com
93.46.8.89 www.google.com
如果事先知道IP和域名的关系,则可以在本地主机上直接配置IP和域名的对应关系,此时访问hosts里的域名是不需要经过DNS的解析。因为客户端云访问域名时,第一步是到本地的/hosts的文件时查找。但是互联网上的如此碰的域名和IP的解析关系通过配置本地的hosts文件是不可行的,还是需要依赖DNS。
53/udp, 53/tcp
主DNS服务器和从DNS服务器同步的工作机制:
“通知”机制:主服务器解析库发生变化时,会主动通知从服务器
对应在配置文件/var/named/linuxdevops.net.zone
0 serial (解析库版本号,只要有变化就要手动加1)
1D ; refresh (刷新时间)
1H ; retry(重试时间 )
1W ; expire(过期时间)
3H ) ; minimum(否定答案的TTL值:查找不到的缓存时间,如用户查找wwww.baidu.com,因为这是一个错误的查询,缓存DNS服务器会告诉用户这是一个错误查询,如果用户后几次的请求还是同样的错误,缓存DNS服务器会直接通知此用户结果查询错误,减少向主DNS服务器查询的负担)
一次完整的查询请求经过的流程:
Client -->hosts文件 -->DNS Service Local Cache --> DNS Server (recursion) --> Server Cache --> iteration(迭代) --> 根--> 顶级域名DNS-->二级域名DNS…
listen-on port 53 { localhost; };
allow-query { localhost; any; };
zone "linuxdevops.net" IN {
type master;
file "linuxdevops.net.zone";
};
$TTL 1D
@ IN SOA master.linuxdevops.net. admin.linuxdevops.net. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS master
master A 172.20.42.145
www A 172.20.103.43
$TTL 1D 全局TTL值,默认是秒为单位
@代表当前域名本身,在本例子中是linuxdevops.net,@也可以用精确的域名linuxdevops.net代替,但是必须加dot,如linuxdevops.net.
admin.linuxdevops.net. (邮件记录,应该是admin@linuxdevops.net,但是@在bind配置中有特殊意,所以用dot代替)
原文:https://www.cnblogs.com/liangjindong/p/9115472.html