公网DNS服务器是直接服务于广大上网用户的,负责域名(域名记录)到IP地址之间的翻译工作。公网DNS通常是各个网络运营商按照自己的网络分 布规划DNS的分布,一般做法是按行政区域放置,如按省份放置。每个省份内也有细分在各地区放置的情况。
近几年来细心的网友会发现上网时如果打错了URL地址(或干脆莫名其妙)会访问到114网站或百度等网站。今天我画了一个简单的图表简要说明一 下原因。
如图所示,大方形框内为公网DNS网络基本构架,负责接收用户解析请求的是前端硬件设备如大家常常提到的F5(硬件设备功能单一,负载能力巨 大,故把它做为前端设备很合适,图中用A表示)。前端设备后面与递归服务器群连接(一般是LAN连接,也有WAN连接的)。当用户请求域名解析 时前端设备会把请求传递到其后的递归DNS处理,最后把结果告知用户。同时前端设备还有负载均衡,链路状态检查等功能。
近年来各个网络运营商如网通,电信等在利益驱使下推出了利用DNS技术实现的网络推广业务。原理很简单,就是当用户不小心打错URL地址或者由 于某种原因(如域名欠费)访问的域名不能解析时,公网DNS的前端设备会自动为用户解析到一个被推广的网站上,以此来获得网络推广收入(真 是无耻啊,根本不考虑用户感受)。
如果是这样的话,我们为什么不绕过前端设备直接向递归服务器群请求域名解析呢?恩,想法是好的,但这里有两个困难: 1.那些递归DNS的IP地址没有公布,大家不知道,没法用啊。 2.运营商限制了向递归服务器请求的IP地址,也没法用!! 权益之计: 1.使用国外的DNS。 2.自己架设递归DNS。