为了避免GFW对国外DNS的劫持,在一台Linux虚拟机上安装了pdnsd 1.2.9a,用起来还不错。
为了方便在Windows上使用,用Cygwin重新编译了下,下载地址为 点击打开链接
基本原理:
pdnsd是一个dns server,同时也是一个dns cache。当收到一个dns解析的请求时,会在本地cache中进行查找,如果没有,再向配置的dns服务器进行查找。
目前,GFW只能劫持UDP协议的DNS请求,而不能劫持TCP的DNS请求。所以,在配置pdnsd的时候,指定使用TCP协议对上级dns进行查找。查找后,在本地缓存起来。