流氓运营商干扰 dns 解析, dnsmasq 如何进行多次解析,丢弃无效结果?

2015-10-15 16:11:53 +08:00
 crazyfengs

流氓运营商某动,为了节省流量费大量使用缓存服务,起初换一下别的公共 dns 就好了,
现在为了强制用户使用自已的 dns ,耍流氓,把 114 ,阿里的 dns 封了算了,现在放狠招,对一切非使用自家 dns 的解析进行干扰
cmd 执行
nslookup www.jd.com 180.76.76.76
(以京东为例、使用没被封掉的非运营商自家 dns ,上面的是百度 dns )
大约每 3-4 次返回 1-2 次无效结果
正常的结果:

服务器: public-dns-a.baidu.com
Address: 180.76.76.76

非权威应答:
名称: www.jdcdn.com
Address: 183.232.41.1
Aliases: www.jd.com

再执行一下上面的命令,获得了一个无效的 IP :

异常的结果:

服务器: public-dns-a.baidu.com
Address: 180.76.76.76

非权威应答:
名称: www.jd.com
Address: 10.10.100.31

如何使用路由器的 dnsmasq 解决呢?
开启防污染功能,或者直接 block 掉这个虚假 ip 会导致网页无法打开(不返回解析结果),
如何设置获得 IP 为 10.10.100.31 则丢弃并重试直到获得其它结果??

7050 次点击
所在节点    DNS
24 条回复
crazyfengs
2015-10-15 16:15:18 +08:00
114 等 dns 光荣被封:

nslookup whether.114dns.com 114.114.114.114
服务器: public1.114dns.com
Address: 114.114.114.114

非权威应答:
名称: whether.114dns.com
Address: 127.0.0.1
adrianzhang
2015-10-15 16:33:13 +08:00
可以采用 socks 代理方式出去,曾经做 SecDNS 的时候就是这么干的。
如果你不着急,可以关注一下我,未来会将这种服务与 v2 上某个跨栏的项目合并发布出来。
bazingaterry
2015-10-15 16:40:05 +08:00
首先你得知道是怎么封的,如果是 UDP 53 端口的封锁,用一个支持非 53 端口的 DNS 就可以了。
crazyfengs
2015-10-15 16:48:15 +08:00
@adrianzhang 很好,国内的运营商太流氓了,多次投诉都是爱用不用的态度。只要垄断一天在,这类问题都是无法解决的,只能用户自己想办法了。

这某动也是牛呀,要封就封得彻底,现在故意制造 dns 不稳定的假像。目前被迫用运营商自己的 dns 。用其它 dns 打开网页需要多按几次 F5 才能显示。 socks 要等入手 hk vps 才能用了。
crazyfengs
2015-10-15 16:52:08 +08:00
@bazingaterry 对的, 53 被封了,但 opendns 的解析不准确, dnspod 家也没提供非 53 端口的服务,自建的话目前暂时没条件。目前随机出现 10.10.100.31 ,设想是假定获得此 IP 则重新解析直至获得真实 IP 可以解决,不清楚 dnsmasq 是否有此功能。
lanlanlan
2015-10-15 17:00:47 +08:00
@crazyfengs 移动还直接 /32 把其他的公共 DNS 给劫持到自己的递归 DNS 上 仅仅 udp53 的话 用 tcp 查询就可以了
lanlanlan
2015-10-15 17:06:30 +08:00
oh 不对 刚没看你的回复 114 那个返回 127 说明你那边 114.114.114.114/32 已被移动给劫持到自家 DNS 上了 把 IP 都劫持了的 用 tcp 方式作用不大了。。。
zhanglp888
2015-10-15 17:09:03 +08:00
用 dnscrypt ,自己搭建一个 dns 服务器
yexm0
2015-10-15 17:13:22 +08:00
不如试试 @johnjiang85 的 dns 119.29.29.29
crazyfengs
2015-10-15 17:25:30 +08:00
@lanlanlan 晚点我测试一下 180.76.76.76,114 的确被劫了。。
crazyfengs
2015-10-15 17:27:05 +08:00
@yexm0 其实我就是在用 119.29.29.29 出现这个问题,怕某动看到了所以贴百度 dns 的 ip 。都一样,非移动自家的 dns 就会出现干扰
CRH
2015-10-15 18:34:36 +08:00
这种事,上工信部网站投诉应该还是有用的吧
ChangeTheWorld
2015-10-15 20:23:28 +08:00
Dnsspeeder
Daniel65536
2015-10-15 20:39:22 +08:00
用 pacp_dnsproxy 即可……
ericFork
2015-10-16 02:20:19 +08:00
http://www.thekelleys.org.uk/dnsmasq/CHANGELOG

version 2.73

[...]
Add --ignore-address option. Ignore replies to A-record
queries which include the specified address. No error is
generated, dnsmasq simply continues to listen for another
reply. This is useful to defeat blocking strategies which
rely on quickly supplying a forged answer to a DNS
request for certain domains, before the correct answer can
arrive. Thanks to Glen Huang for the patch.
ericFork
2015-10-16 02:21:52 +08:00
如果只是做了投毒,抢先返回投毒 IP ,则上述选项可治。根据你自己的推断,可以用这个解决。

然而估计运营商是做的劫持而非投毒,不一定有后续正确解析结果返回的。
johnjiang85
2015-10-16 10:21:43 +08:00
@crazyfengs 能测试下 http://119.29.29.29/d?dn=www.jd.com 的返回结果吗,目前 DNSPod 公共 DNS 对外提供服务的有 53 和 80 ( D+)端口,如果 80 未被劫持的话,我们看看提供的转换程序搭配 dnsmasq 使用。
另外我们正在考虑非 53 端口的支持。
还有楼主能反馈下哪个地区的移动运营商吗,我们通过线下关系找运营商沟通下,看能否解决。
crazyfengs
2015-10-16 15:38:27 +08:00
@johnjiang85 广东 FS , 80 端口一直正常,返回 183.232.41.1 正常结果

今天很神奇的发现它不再搞 119.29.29.29 了,使用 dnspod 家的 dns 不再跳出 10.10.100.31 这个假 ip 了。
追踪了路由,测试了不存在的域名,证明没有被劫持。
终于能愉快地上网了。持续两个多月的问题好了,难道是运营商良心发现?
但再测试百度的 180.76.76.76\以及 opendns 208.67.222.222 依旧跳出假 IP 。
只是担心 dnspod 的 dns 有一天跟 114 一样,被劫持到它自家的 dns 。。。


----------------------------------------------------------------------------
总结一下,小型网站的域名,无论尝试多少次都是正确的 IP 。
而类似:
nslookup www.jd.com 180.76.76.76
nslookup e.hiphotos.baidu.com 180.76.76.76
nslookup img1.gtimg.com 208.67.222.222
都是访问量大的网站及其二级 cdn 域名随机跳出 10.10.100.31 这个内网 IP ,这估计是一个已经挂掉的缓存服务器吧。
crazyfengs
2015-10-16 15:45:40 +08:00
@CRH 为了上个网还要投诉,活得真心累哈哈。。
crazyfengs
2015-10-16 15:47:48 +08:00
@ChangeTheWorld @Daniel65536 好工具,谢谢!!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/228299

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX