找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 26540|回复: 28

有需要解决DNS污染(洁癖)的同学可以进来看下!

[复制链接]
发表于 2016-10-9 22:31 | 显示全部楼层 |阅读模式
本帖最后由 a86913179 于 2016-10-24 20:52 编辑

参考我的V2EX的帖子:https://www.v2ex.com/t/308200  (这种比较强势的东西v2ex一般不给未注册用户看,所以没登陆的同学是看不了的,防和谐)

里面有详细方法,国内域名走TCP防运营商劫持(CDN正常不会乱跳,因为还是使用运营商的DNS),国外域名走非标端口5353防GFW干扰。

由于有朋友说V2访问不了,那我就稍微勤劳一点,复制一下:

由于 15.05.1 取消了 pdnsd ,不再对此讨论,试过 14.07 的包拿来直接用,有未知问题,延迟高,没有 unbound 流畅。
unbound 支持 TCP 支持非 53 端口支持向根域名服务器解析,又轻巧,真是没理由不用它。

我直接用的官方固件, opkg install unbound 和 wget 后由于 dnsmasq 占用 53 端口 unbound 安装会有提示无法启动,进 dhcp/dns ,把 local domain 里的 lan 删掉,再到高级选项,把 dns server port 设为 0 ,在接口 lan 的高级选项 dhcp-option 添加 6,192.168.1.1 。然后到启动项 startup 里运行 start unbound 或 /etc/init.d/unbound start 。然后打开 /etc/unbound/unbound.conf 修改如下:

tcp-upstream 去掉注释改为 yes ,直接用 UDP 向根域名服务器解析会遭到运营商的投毒和 GFW 的投毒。

2 个 access-control 后面的 allow 改为 allow_snoop ,为了能 dig +trace

注释掉 auto-trust-anchor-file ,运营商 DNS 不支持 DNSSEC 。 DNSSEC 只有域名和权威 NS 、递归 DNS 同时支持才有效果,而大部分域名和权威 NS 并没有。所以没什么用,我试过开启并关掉 TCP 向根域名服务器请求,还是被运营商污染投毒了。 GFW 更不用说。

由于直接向根域名服务器请求 TCP 会因为有些 NS 不支持 TCP 导致无法返回结果,同时也会由于 GFW RST 阻断无法解析被投毒的域名,根据 CNMAN 提供的代码精简后,获取国内域名走 TCP 53 运营商 DNS ,被 GFW 投毒污染的域名走 TCP 53 或者非标端口 5353 、 443 之类的。

在 unbound.conf 末尾添加

include: "/etc/unbound/unbound.forward-zone.China.conf"
forward-zone:
        name: "."
        forward-addr: 8.8.8.8
        forward-addr: 8.8.4.4
        forward-addr: 208.67.222.222@5353
        forward-addr: 208.67.220.220@5353
        forward-first: no

forward-first 设为 no 是无法向根域名服务器 TCP 解析的才会用这些来解析,设为 yes 就不向根域名服务器请求,直接用这些列表里的。

include 跟 forward 的顺序不能错。类似白名单的效果。

pppoe 联网启动脚本里 /etc/ppp/ip-up.d(此目录需要权限 755)目录下新建一个脚本,例如 ip-up(此文件需要权限 755):

#!/bin/sh

wget -N -P /etc/unbound ftp://ftp.internic.net/domain/named.cache
wget -N -P /tmp --no-check-certificate https://raw.githubusercontent.com/felixonmars/dnsmasq-china-list/master/accelerated-domains.china.conf
cat /tmp/accelerated-domains.china.conf|grep -v '^#server'|sed 's/server=\//forward-zone:\n\tname: "/g'|sed 's/\/114.114.114.114/"\n\tforward-addr: 211.140.13.188\n\tforward-addr: 211.140.188.188\n\tforward-first: no/g'>/etc/unbound/unbound.forward-zone.China.conf
/etc/init.d/unbound restart

搞定以后, sh /etc/ppp/ip-up.d/ip-up ,然后 dig 一下,是不是发现国内 CDN 和运营商的解析结果一致,国外的也正常了?哈哈!每次联网都会更新一遍根服务器和国内白名单。

第一条是更新根域名服务器地址,第二条是下载 dnsmasq-chinalist ,第三条是转换成 unbound 规则, 211.140.13.188 和 211.140.188.188 是我 pppoe 拨号自动获取的运营商 DNS ,支持 TCP 解析, UDP 解析有污染有投毒有劫持,你可以换成自己的运营商 DNS ,或者支持 TCP 的公共 DNS (只有运营商不支持 TCP 才使用,因为公共的 TCP 解析 CDN 有时会乱跑)。所以这个方案是全程 TCP 解析,外加非 53 端口解析。支持非 53 端口的 DNS 很多,好像 dnscrypt 那里有提供列表。

白天上班,每天晚上回家弄测试到半夜,真是给搞得欲仙欲死。

要是哪天所有非 53 端口的 DNS 也被封了,估计又要折腾。


更新:
自动转换成 pppoe 获取的 DNS1,DNS2

cat /tmp/accelerated-domains.china.conf|grep -v '^#server'|sed 's/server=\//forward-zone:\n\tname: "/g'|sed 's/\/114.114.114.114/"\n\tforward-addr: '$(awk 'NR==1{print$2}' /etc/ppp/resolv.conf)'\n\tforward-addr: '$(awk 'NR==2{print$2}' /etc/ppp/resolv.conf)'\n\tforward-first: no/g'>/etc/unbound/unbound.forward-zone.China.conf
我的恩山、我的无线 The best wifi forum is right here.
发表于 2016-10-9 22:32 来自手机 | 显示全部楼层
也可看下新轮子 https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=196419&extra=page%3D2&mobile=2

点评

没多大意义,只能当作国外域名解析用,就是拿来当dnsmasq和chinadns、unbound的上游用  详情 回复 发表于 2016-10-9 22:42
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2016-10-9 22:42 | 显示全部楼层
test0x01 发表于 2016-10-9 22:32
也可看下新轮子 https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=196419&extra=page%3D2&mobi ...

没多大意义,只能当作国外域名解析用,就是拿来当dnsmasq和chinadns、unbound的上游用

点评

pdnsd好奇怪,我在ar71xx 15.05 op上也遇到了解析慢甚至无法解析的问题(pdnsd是用15.05 ar71xx sdk编译的),然而在潘多拉上却没问题,不知道楼主说的pdnsd未知问题跟我这个是不是同一个  详情 回复 发表于 2016-10-22 16:45
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2016-10-9 22:51 | 显示全部楼层
网址打不开?

点评

需要登陆,因为防止给查到和谐  详情 回复 发表于 2016-10-9 23:24
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2016-10-9 23:24 | 显示全部楼层

需要登陆,因为防止给查到和谐

点评

登录也打不开,是不是要什么权限才行?  详情 回复 发表于 2016-10-11 09:58
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2016-10-10 14:10 来自手机 | 显示全部楼层
关键字 LUG防污染DNS。教育电信移动三线,支持5353端口,支持TCP。

点评

CDN有问题,全是武汉的。  详情 回复 发表于 2016-10-10 23:45
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2016-10-10 23:45 | 显示全部楼层
davi1989 发表于 2016-10-10 14:10
关键字 LUG防污染DNS。教育电信移动三线,支持5353端口,支持TCP。

CDN有问题,全是武汉的。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2016-10-11 09:58 | 显示全部楼层
a86913179 发表于 2016-10-9 23:24
需要登陆,因为防止给查到和谐

登录也打不开,是不是要什么权限才行?

点评

或者你登录后直接到DNS板块就能看到我的帖子了  详情 回复 发表于 2016-10-11 15:42
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2016-10-11 14:31 | 显示全部楼层
就目前来说,防止域名污染,最简单的办法是用ipset加载域名列表,然后ipset中的域名通过ss-tunnel解析即可。

点评

这样都算简单?那我这个不是算超级简单?ss-tunnel不需要服务器?  详情 回复 发表于 2016-10-11 15:41
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2016-10-11 15:04 来自手机 | 显示全部楼层
我去看看。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2016-10-11 15:04 来自手机 | 显示全部楼层
我要灌水。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2016-10-11 15:41 | 显示全部楼层
tedaz 发表于 2016-10-11 14:31
就目前来说,防止域名污染,最简单的办法是用ipset加载域名列表,然后ipset中的域名通过ss-tunnel解析即可 ...

这样都算简单?那我这个不是算超级简单?ss-tunnel不需要服务器?
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2016-10-11 15:42 | 显示全部楼层
梦剧院 发表于 2016-10-11 09:58
登录也打不开,是不是要什么权限才行?

或者你登录后直接到DNS板块就能看到我的帖子了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2016-10-14 10:42 | 显示全部楼层
你的链接 注册了也打不开

点评

试下这个https://www.v2ex.com/t/308200#reply22  详情 回复 发表于 2016-10-18 19:05
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2016-10-18 19:05 | 显示全部楼层

点评

注册了点开链接 自动跳到首页https://www.v2ex.com/#reply22  详情 回复 发表于 2016-10-18 20:34
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-3-29 07:52

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表