1. DNS(Domain Name System)
DNS(Domain Name System), 也叫网域名称系统,是互联网的一项服务。它实质上是一个 域名 和 IP 相互映射的分布式数据库.
DNS(Domain Name Server,域名服务器)是进行域名(domain name)和与之相对应的IP地址 (IP address)转换的服务器。
DNS 有以下特点:
分布式的
协议支持 TCP 和 UDP,常用端口是 53
每一级域名的长度限制是 63
域名总长度限制是 253
1.1 DNS 解析流程
1.2 域名注册商
一般我们要注册域名,都要需要找域名注册商,比如说我想注册 hello.com,那么我需要找com域名注册商注册hello域名。com的域名注册商不止一家, 这些域名注册商也是从ICANN 拿到的注册权, 参见如何申请成为.com域名注册商
那么,域名注册商 和 权威域名解析服务器 有什么关系呢?
域名注册商都会自建权威域名解析服务器,比如你在狗爹上申请一个.com下的二级域名,你并不需要搭建nameserver, 直接在godaddy控制中心里管理你的域名指向就可以了, 原因就是你新域名的权威域名服务器默认由域名注册商提供。当然你也可以更换,比如从godaddy申请的境外域名,把权威域名服务器改成DNSPod,一方面加快国内解析速度,另一方面还能享受DNSPod 提供的智能解析功能
2. DNS污染、DNS劫持
两者最大的区别,DNS 污染是阻断你访问网站,目的是不让你访问;DNS 劫持则是让你访问一个虚假的李鬼网站,或者在你访问的网站上擅自插入自己的广告,以及私自增加 DNS 缓存时间等。
2.1 DNS 污染
又称域名服务器缓存投毒(DNS cache poisoning),是指把域名指往不正确的 IP 地址。比如张三的手机号明明是 11 位的中国电信手机号码,通讯录却写的是 10 位数的美国人赫本的手机号,跨国长途自然是打不通或者打通了也不是张三的结果。
2.2 DNS 劫持
DNS 劫持一般是提供上网服务的运营商所为,用户查询 DNS 时,返回修改后的指定 IP 地址,网页无法打开或者打开的是一个假网站,或插入自己的广告。
比如张三是卖茶叶的,你找张三想买一些茶叶,通过通讯录打过去,结果通讯录从中使坏,将手机号写成了也是卖茶叶的李四,最终你以为买的茶叶是张三的,实际上茶叶是李四。
3. DNS 加密方式:DoH/DoT
3.1 DoH 和 DoT
传统 DNS 查询数据以明文方式传输,容易被污染和劫持,非常的不安全;使用加密 DNS 可以避免运营商的劫持,以及使用大数据分析你所有访问的网站详情。
DoH 全称 DNS Over HTTPS,使用 HTTPS 应用层协议代替传统的无连接无加密的 UDP 模式,保护 DNS 数据传输安全,可有效避免域名被运营商劫持、DNS 缓存投毒等域名安全问题。
DoT 全称 DNS over TLS,安全原理与 DoH 一样都是使用 TLS 协议来传输 DNS 协议;采用固定的 853 端口,特征明显;比 DOH 少了一层 HTTP,理论上性能略高于 DOH。
3.2 公共加密 DNS 服务
目前已有多个国内外公共 DNS 提供加密 DNS 服务,如:
国内的:只能保证不劫持 国家地方联合工程研究中心的 IPv6 公共 DNS、腾讯 DNS (DNSPod)、阿里 DNS (Alidns)云、360 安全 DNS ;
国外的:多数国内不可用 Google Public DNS、Cloudflare DNS、Quad9 DNS、OpenDNS 等;
Reference
https://www.ruanyifeng.com/blog/2016/06/dns.html
一文搞懂 DNS 基础知识,收藏起来有备无患
DNS解析过程详解