关于防止 DNS 出问题的一个想法,不知是否可行

2015-07-30 09:57:32 +08:00
 mactaew
目前使用精子家的SS,很好用,感谢他的付出!

基于我们的网络环境DNS劫持和污染问题长期存在,突然想到一种思路,不知是否可行。

放狗一轮没搜出个所以然,希望跟大家讨论讨论。

思路是这样的:

1、将Google DNS的IP加入到SS的翻墙列表
2、将系统DNS设置为Google DNS
3、打开SS自动模式

理想状态:

1、访问Web
2、查询本地DNS缓存
3、如无纪录,则向Google DNS请求
4、SS判定IP为需要翻墙,通过SS服务器进行请求
5、SS服务器返回正确的解析纪录
6、正常访问WEB

目前问题:

1、不能确定SS是否能够支持IP地址过滤
2、不具备“检测当前访问具体使用了哪个DNS”的知识

以上,不知各位有什么见解呢?
790 次点击
所在节点    问与答
12 条回复
eirk2004
2015-07-30 10:07:22 +08:00
shadowsocks默认就支持远程DNS解析啊,难道你的不是?
mactaew
2015-07-30 10:12:46 +08:00
@eirk2004 远程DNS解析难道不是针对“通过SS翻墙访问的网站”吗?不知道我的理解有没有错。如果是这样的话,当我使用自动模式的话如果某网站不在自动翻墙列表中,那么这个域名就不能使用“远程DNS解析”了。也就是说,不能自翻网站,其实还是应对不了DNS劫持和污染的。
Exin
2015-07-30 10:24:06 +08:00
chinadns就是用ss解析的
eirk2004
2015-07-30 10:42:18 +08:00
@mactaew 不在列表的域名,一般默认没问题吧?因为DNS污染就是其中一种表现啊。你想要单独添加某个域名,可以用浏览器扩展进行控制(SwitchyOmega)
Tink
2015-07-30 10:45:35 +08:00
这样会慢死的
kfll
2015-07-30 13:29:08 +08:00
你需要一个四层方案,或是 DNS 相关的七层方案
mactaew
2015-07-30 14:09:32 +08:00
@kfll 是指OSI吗?这个部分的知识没有学好,得补。
xiejianxing
2015-07-30 14:11:17 +08:00
@Exin 😜😜😉😉😉
jasontse
2015-07-30 14:12:10 +08:00
逻辑有问题,判断 IP 是否需要通过 SS 访问,那你如何确定 DNS 返回的 IP 是正确无污染的?
gamexg
2015-07-30 15:23:44 +08:00
当一下小白鼠吧
https://github.com/GameXG/TcpRoute

会自动屏蔽污染及域名纠错。
datocp
2015-07-30 19:57:13 +08:00
这个天天有人问。网上比较好的就是flora pac这是个根据国内外路由表进行选择,一刀切所有的国外ip都用代理。
android下一直找不到类似兼容实现,在路由器或者windows安装privoxy,网上有个proxy.action的例子,实现根据域名黑白名单进行选择性代理。然后可以安装smartproxy proxydroid想代理就代理。这些都不关心dns问题,所有代理的解析都将通过远程socks5代理服务器进行解析。
pdnsd也可以通过设置一国内一国外dns服务器通过reject所有的国内服务器ip进行轮询解决cdn问题,不喜欢全局翻,网络容易掉。
mactaew
2015-07-31 10:46:23 +08:00
@jasontse 想表达的仅仅是Google DNS的IP通过SS访问,用来确保域名解析的正确性。其他全部靠8888来解析。上面大家给了几个方案,研究一下先~

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

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

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

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

© 2021 V2EX