V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ceclinux
V2EX  ›  DNS

如何正确使用 smartdns 解析国外域名

  •  1
     
  •   ceclinux · 2020-02-29 18:14:43 +08:00 · 18819 次点击
    这是一个创建于 1729 天前的主题,其中的信息可能已经有所发展或是发生改变。
    这方面折腾小白,如果哪里理解有误,请多指教。

    最近试着折腾下 smartdns,在解析国内域名的时候比较简单,直接按照官方说明指定上游的几个 dns 服务器即可。按照官方说明 nslookup -querytype=ptr smartdns 返回正确。我用 tcpdump 专门抓了下 dns 包,发现确实在客户端请求一个域名的时候,smartdns 会向上游 dns 服务器都发送请求。符合我的预期。

    但是配置解析国外域名的时候我就迷糊了。因为国外域名我是通过 vps 建立隧道,间接通过 vps 来访问国外网站。那么我理解 smartdns 的 dns 查询也要转发到 vps 上,由 vps 来间接发送 dns 查询,来选择最快的 ip。但是我在梅林固件里面的插件发现的是 smartdns 运行在路由器本地,但是找不到把 dns 转发到 vps 的工具(没有发现 ss-tunnel,dns2socks 类似的工具)。我到我的 dns 上试着用 tcpdump 抓了下 dns 包,发现 dns 并没有发送请求给我指定的所有上游,而是只发一个请求给一个奇怪的 dns 服务器(然而这个 dns 服务器并不是我制定的上游)。

    所以很有可能我哪里理解或者配置错了。请问如何正确使用 smartdns 解析国外域名呢?
    6 条回复    2020-04-11 17:02:50 +08:00
    syuraking
        1
    syuraking  
       2020-02-29 20:18:58 +08:00
    server 221.7.92.98 -blacklist-ip
    server 221.5.203.98 -blacklist-ip
    server 58.20.127.170 -blacklist-ip
    server 58.20.127.238 -blacklist-ip
    server 114.114.114.114 -blacklist-ip
    server 119.29.29.29 -blacklist-ip
    server 223.5.5.5 -blacklist-ip
    server 1.1.1.1 -check-edns
    server 1.0.0.1 -check-edns
    server 8.8.8.8 -check-edns
    server 8.8.4.4 -check-edns
    server 4.2.2.2 -check-edns
    server 208.67.222.222 -check-edns
    server 80.80.80.80 -check-edns
    yujincheng08
        2
    yujincheng08  
       2020-02-29 23:04:36 +08:00
    最近搞好在配置这个,并且还顺便给 smartdns 提了个 PR。

    首先强行代理海外公共 dns,加到一个 group 里面,比如 oversea,然后 blacklist 一些经常用来污染的 ip。然后用某 list 生成如下规则:
    nameserver /google.com/oversea # 这样就用 oversea 里面的 dns 服务器来解析了。
    如果还需要用 ipset 分流,可以加上
    ipset /google.com/oversea_ipset
    ddzzhen
        3
    ddzzhen  
       2020-03-01 00:23:42 +08:00 via Android
    狗家的 tls 效果很好
    diggerdu
        4
    diggerdu  
       2020-03-01 03:55:42 +08:00 via iPhone
    恨不得让全世界都知道你在上什么网站的东西还是少用吧....
    LASER0007
        5
    LASER0007  
       2020-03-02 17:50:32 +08:00   ❤️ 1
    最近正好在折腾透明代理+DNS 解析

    如果透明代理配置正确,访问国外不使用 UDP 的 DNS 解析都会走透明代理进行解析( TPROXY 无法转发本机的 UDP 请求)
    将国内外的 DNS 服务器分为两个组,配合 GFWList 进行解析分流会有更好的效果
    生成 GFWList 的脚本可以参考我自己用的这一个
    https://github.com/LASER-Yi/Dockerfiles/blob/master/smartdns/rootfs/usr/bin/update-gfwlist.sh
    manfred4527
        6
    manfred4527  
       2020-04-11 17:02:50 +08:00
    @LASER0007 感谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1450 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 17:25 · PVG 01:25 · LAX 09:25 · JFK 12:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.