V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
mactaew
V2EX  ›  问与答

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

  •  
  •   mactaew · 2015-07-30 09:57:32 +08:00 · 786 次点击
    这是一个创建于 3403 天前的主题,其中的信息可能已经有所发展或是发生改变。
    目前使用精子家的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”的知识

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

    会自动屏蔽污染及域名纠错。
    datocp
        11
    datocp  
       2015-07-30 19:57:13 +08:00 via Android
    这个天天有人问。网上比较好的就是flora pac这是个根据国内外路由表进行选择,一刀切所有的国外ip都用代理。
    android下一直找不到类似兼容实现,在路由器或者windows安装privoxy,网上有个proxy.action的例子,实现根据域名黑白名单进行选择性代理。然后可以安装smartproxy proxydroid想代理就代理。这些都不关心dns问题,所有代理的解析都将通过远程socks5代理服务器进行解析。
    pdnsd也可以通过设置一国内一国外dns服务器通过reject所有的国内服务器ip进行轮询解决cdn问题,不喜欢全局翻,网络容易掉。
    mactaew
        12
    mactaew  
    OP
       2015-07-31 10:46:23 +08:00 via iPhone
    @jasontse 想表达的仅仅是Google DNS的IP通过SS访问,用来确保域名解析的正确性。其他全部靠8888来解析。上面大家给了几个方案,研究一下先~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   922 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 21:03 · PVG 05:03 · LAX 13:03 · JFK 16:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.