文章目录- 什么是DNS
- DNS解析:
- 解析过程:
- 反向代理水平扩展
- DNS进阶之新玩法
- DNS劫持
毕设中一直接触到这个东西,想用,但是不熟。今天看到一篇文章:DNS nginx 的妙用,是得熟悉一下 DNS 了。
什么是DNS
域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用UDP端口53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。
DNS解析:
- 根域名服务器(Root DNS Server),大哥,管理顶级域名服务并放回顶级域名服务器IP,比如"com",“cn”
- 顶级域名服务器(Top-level DNS Server),每个顶级域名服务器管理各自下属,比如com可以返回baidu.com域名服务器的IP
- 权威域名服务器(Authoritative DNS Server),管理当前域名下的IP地址,比如Tencent.com可以返回www.tencent.com的IP地址
解析过程:
目前全世界13组根域名服务器还有上百太镜像,但是为了让它能力更强,处理任务效率更高,尽量减少域名解析的压力,通常会加一层"缓存",意思是如果访问过了,就缓存,下一次再访问就直接取出,也就是咱么经常配置的"8.8.8.8"等
操作系统中同样也对DND解析做缓存,比如说曾访问过"www.google.com",
其次,还有我们熟知的hosts文件,当在操作系统中没有命中则会在hosts中寻找。
这样依赖,相当于有了DNS服务器,操作系统的缓存和hosts文件,能就近(缓存)完成解析就好,不用每次都跑到很远的地方去解析,这样大大减轻的DNS服务器的压力。
反向代理水平扩展
具体做法是:在dns-server对于同一个域名可以配置多个nginx的外网ip,每次dns解析请求,轮询返回不同的ip,这样就能实现nginx的水平扩展,这个方法叫“dns轮询”。
DNS进阶之新玩法
不是所有的互联网服务都适用于GSLB。
全局负载均衡采用的主要技术是智能DNS,它综合多种不同的策略(比如根据地理位置或者根据繁忙程度的权重)将客户访问的域名解析到不同的线路上。
DNS劫持
保护域名/尽量避免攻击
代码语言:javascript复制备份策略。一般至少会使用两个域名,一旦其中一个被攻击,用户可以通过另一个访问
随时留意域名注册中的电子邮件
保存好所有权信息(比如账单记录,注册信息等)
随时关注安全补丁