网件 3800 刷入OpenWrt 后使用 dnsmasq+pdnsd 防止域名污染呈接上次标题
dnsmasq+pdnsd 域名防污染
内容更新:2016-08-18
该方案没有必要折腾(对于只翻墙看网页来说)。原因?
我做测试时翻墙方案是: 本地主机开翻墙客户端使用pac模式翻墙。上级路由拥有dnsmasq+pdnsd域名解析方案防污染。在测试时发现所有在pac列表内的域名在pdnsd内都没有解析记录。所以需要翻墙的域名dns解析根本不经过本地DNS防污染方案,因此没必要折腾这个,如果你想缓存DNS结果那就另当别论了。
内容更新:2016-03-09
更新:再次更新pdnsd.conf已在谷歌云更新。注:下次介绍直接使用pdnsd过滤污染(其实去掉dnsmasq的缓存/转发请求这层还是很简单的,都是在openwrt上设置。为啥要去掉dnsmasq这层?因为dnsmasq会缓存解析结果,这将导致在pdnsd清除缓存后。解析先前解析过的域名时,是不经过清理缓存后的pdnsd。这就导致清除pdnsd缓存时是必须同时清除dnsmasq缓存的尴尬。)
2016-03-04
更新:犯了逻辑上的错误。以前的配置文件中 是 国外dns server 区排第一,这样会导致国内网站在海外有cdn时拿到国外ip,纠正的方式也很简单。将国内dns server 区排第一,就解决了。这样估计也没几个国外网站在国内有cdn。都是需要翻墙的国外ip所以这样就解决了。部分域名解析成功而访问缓慢的问题。而第三个国内dns server区没有做任何结果筛选。这样就能解决前两组没法解析的域名去第三组dns查找。第三个sever区可多添加几个dns ,dns之间以 逗号“,”分隔,以分号“;”结束。
pdnsd配置文件已在谷歌云更新请自行下载(该配置文件只是配置框架,部分内容可自行添加修改)
pdnsd配置文件已在谷歌云更新请自行下载(该配置文件只是配置框架,部分内容可自行添加修改)
2016-03-03
更新:更改pdnsd.conf文件配置。另增加一个server区(不对解析结果做任何筛选的区),以解决上面两server(一个是筛选国外ip,一个筛选国内ip)无法解析得到结果。理论上两个足够但实际上也没有解决。所以另增加了一个server区。似乎要好点(不知道是不是心里作用)。
1. 总述
这种方式因该不会比chinaDNS逊色多少。但是没注意内存占用和cpu占用。有兴趣的可以测试后留言。
接上次的题目 这里 如何使用 dnsmasq+pdnsd 防止域名受污染 。
本次介绍的设置可能需要对刷 openwrt 的硬件有要求(主要是在找资料的过程中看到有人说:pdnsd配置文件过多的规则导致路由卡死至死机。好吧至少我使用的 网件 3800 没有出现。)
主要讲如何在openwrt 路由上使用 tcp查询防 域名 污染。
使用平台: 网件 3800_16M 版 刷 明月固件。
2、配置 (文字描述下算了)
这次就简要说明下。
pdnsd配置
因配置文件 pdnsd.conf 内容有2.5MB 所以不列出内容了。这次将pdnsd.conf 挂在谷歌云盘里自行下载并进行修改。使用 putty 套件中的 psftp.exe 上传至 openwrt 目目录 /etc/ 下。(无需改名。至于psftp如何使用自行百度、谷歌都可。原谅我的偷懒!)注:a、如果你使用psftp 链接路由输入用户名、密码后,突然psftp就结束运行。那么恭喜你,需要安装sftp-server 服务端 。去openwrt源下载 openssh-sftp_xxx.ipk 比如我的是 c c 版 硬件是 网件 3800 此时到链接下载即可:https://downloads.openwrt.org/chaos_calmer/15.05/ar71xx/generic/packages/packages/openssh-sftp-server_7.1p2-1_ar71xx.ipk
b、先启动pdnsd。无论配置文件内容是什么。 之后直接使用配置pdnsd.conf文件覆盖后,重启路由pdnsd进程 即可获得新配置文件的内容。正常运行。
pdnsd.conf 下载:谷歌云
1、获得dns地址
同样使用全局翻墙后打开后 打开链接:https://www.opennicproject.org/
此时稍等即可获得与你使用的vps最近的dns解析器(至于对该机构的疑问自行google)。
2、找到可用的与本地isp 的ping值低的dns地址
打开地址:https://servers.opennicproject.org/在浏览器中使用 ctrl+F 查找可用的dns(注:为什么说可用?因为上篇提到有部分dns有白名单机制,若你使用开启白名单的dns将无法获得解析结果。具体请看上篇测试图片1:这里)
注:别忘了 使用本地网络 ping 下这4台dns。尽量选取 ping 低的。
3、将找到的dns填写至pdnsd.conf文件中国外server区域的ip字段内
1、使用notepad++ 打开下载的pdnsd.conf 将ip填写至固定区域即可。(看图)notepad++下载:谷歌云
dnsmasq配置
1、浏览器登录路由器 进入 网络>DHCP/DNS>HOSTS和解析文件 选项 勾选 忽略解析文件 和忽略HOSTS文件
2、进入 网络>DHCP/DNS>常规设置 选项 在 DNS转发中填写:127.0.0.1#1053
此时dnsmasq配置完成
谷歌云文件打不开
回复删除请检查你的梯子。我这是正常的,谢谢!
删除文件不适合我的路由…不知道为什么!可能文件太大
删除确实文件非常大,因为它涵盖了整个互联网路由表。不过你可以使用 dnsmasq+chinaDNS+pdnsd的方式解决。其实你只是用pc ss 翻墙客户端 pac 访问翻墙网站没必要折腾无污染的dns,因为所有域名都在翻墙服务器完成解析,就连安卓ss 官版客户端也是这样。最近我也才发现。
删除