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

红鱼 DNS 正式发布, DoT & DoH only

  •  3
     
  •   qyb · 180 天前 · 18258 次点击
    这是一个创建于 180 天前的主题,其中的信息可能已经有所发展或是发生改变。
    介绍在 https://www.rubyfish.cn 。昨天上线了第二个弹性 IP 的节点,有了一定的抗单点故障能力,这就算进入 alpha 公测阶段了吧。整套服务现在一共七台 VPS:正式服务一个阿里云杭州,一个腾讯云上海;上连美国,东亚各 2 一共 4 个 upstream 节点供不同出口需求选择;加上专门用于门户信息发布和监控的节点;希望这些准备工作让 Rubyfish DNS 不至于太山寨。

    这个项目,原本来源于一次自己搭建路由器的经历,思索要是国内有一个靠谱的 DNS provider 就简单不少;后来看到今年 DNS 安全的一系列新进展,包括 TLS 1.3 也正式完工,感觉这应该是一个趋势,于是就动手了。。。它的价值?我觉得是节省一点大家的时间,解析可靠、运行稳定、访问快速的 SLA 保障是我努力去做的。指望从这个服务获得什么回报?一方面是我自己的其它项目可能也是依赖一个公共 DNS 的,这个就当基础服务的成本;另一方面也许会直接提供基于 DNS 的其它的 to Developer/SysAdmin 的服务???我是 DNS 领域的新人,需要再摸索摸索。
    第 1 条附言  ·  179 天前
    计划中秋节期间某天深夜会把两台服务节点重启一下服务,希望每台重启在 30 秒内完成。变更包括给上海节点增加 TLS 1.3、EDNS Keepalive 两个特性,以及一些域名配置变化
    第 2 条附言  ·  6 天前
    紧急通知:东亚区服务的 IP 115.159.154.226 下线,如果依赖该 IP 直连红鱼 DNS 的,请更改为 118.89.110.78
    第 3 条附言  ·  4 天前
    红鱼计划一个月后进入 beta,详情看新帖
    132 回复  |  直到 2019-03-18 01:12:24 +08:00
    1  2  
        101
    benedict00   104 天前 via iPad   ♥ 1
    @qyb https://dnscrypt.info/public-servers/ 似乎这里还没有改
        102
    ylx   103 天前
    windows 端服务器不在列表里面已经几天了 现在改成自动方案了
        103
    benedict00   103 天前 via Android
    @ylx 更新到最新 simple-dnscrypt,勾上 ipv4, dnssec,doh 来找服务器,往下找绝对有的。
        104
    herozhang   74 天前   ♥ 1
    已经用上,目前感觉良好。
        105
    yyws2012   72 天前   ♥ 1
    @qyb 安卓 9,某工具开启 root(NAT)模式后设置里私人 DNS 显示可以连接,但不知道实际上连接走的是 DOT 还是某工具设置的 DNS。这种情况有没有办法检测?
        106
    qyb   72 天前   ♥ 1
    @yyws2012 如果你说的是 ss-android 的话,走的是它自己的 DNS (这部分主功能它是引用了 overture 这个 golang 的项目)。相关代码它是写死的,即本地起一个 overture 服务,overture 把请求转发到 114/223/opendns ;用户选择远程 DNS 才走 socks5 到 8.8.8.8。我们本来有计划改变这个事情,包括给 overture 提交了支持 dot 的 patch,现在 overture 上游和 ss-android 都已经合并了相关代码;但下一步的功能合并涉及到 UI,变化比较大,我们提的第一个 PR 被拒绝了,原维护者提出了比较高的架构上的要求。。。接下来我们的精力会先放在商业化上,ss-android 是否能支持 DoT,只能随缘看几个月后我们有没有心思去搞了;熟悉安卓的人在当前的基础之上自己编译一个 DNS 走 DoT 的不是难事,而且可以顺便把它的广告干掉。
        107
    yyws2012   72 天前   ♥ 1
    @qyb archlinux 设置后打不开部分网站,用命令解析报错
    $ resolvectl query steamcn.com -t A

    steamcn.com: resolve call failed: DNSSEC validation failed: failed-auxiliary
        108
    qyb   72 天前
    @yyws2012 惭愧,以前没有注意过 DNSSEC 相关的故障。请问能把您的 systemd-resolved 相关配置发到 support@rubyfish.cn 吗?我这里别的客户端 DNSSEC 确实有报错,但反而是 resolvectl 没有报错
        109
    benedict00   49 天前 via iPad
    clash 项目支持 DoT 了,https://github.com/Dreamacro/clash
        110
    gaoyuzhe22   26 天前   ♥ 1
    红鱼的 api 在请求的时候不能像 google dns 那样带上 edns_client_subnet=***嘛?我试了一下好像不行
    curl -s -H 'accept: application/dns-json' 'https://dns.rubyfish.cn/dns-query?name=www.google.com&type=aaaa&edns_client_subnet=202.40.161.203' |python -m json.tool
    返回的结果:"data": "2a00:1450:4007:816::2004"
    这个 ipv6 地址似乎不是香港的
        111
    qyb   25 天前   ♥ 1
    @gaoyuzhe22 确实不支持,这个特性需要有比较强的服务端能力来防止滥用(比如恶意刷 ECS 的缓存)
        112
    gaoyuzhe22   25 天前
    @qyb 因为教育网 ipv6 连 Google 可以走香港出口,速度比较快,所以我想如果红鱼的 ea-dns.rubyfish.cn 对 Google 的 AAAA 解析结果是 HK 的 ip 就很棒了
        113
    testcaoy7   24 天前   ♥ 1
    我发一下 Stubby 获取 tls_pubkey_pinset 的方法:
    echo | openssl s_client -connect 'ea-dns.rubyfish.cn:853' 2>/dev/null | openssl x509 -pubkey -noout | openssl pkey -pubin -outform der | openssl dgst -sha256 -binary | openssl enc -base64
        114
    qyb   23 天前
    @gaoyuzhe22 我在两台 HK 的 VPS 上用 8.8.8.8 去 dig www.google.com ,分别得到 2404:6800:4008:802::2004 和 2607:f8b0:4007:801::2004,看注册区一个是北美一个是澳大利亚,不知道教育网那里可以直连的 www.google.com 的香港 IPv6 是什么
        115
    qyb   23 天前
    @gaoyuzhe22 请问您希望用 edns_client_subnet 的目的是什么呢?我刚刚想也许可以通过另外架设一套 server 来解决,但这样可能就会击穿 cache,享受不到缓存的好处了,做临时测试用可能还行
        116
    gaoyuzhe22   22 天前
    <script src=".js"></script>
        117
    qyb   21 天前
    @gaoyuzhe22 你这个例子里面的 IPv6 地址也是澳大利亚,所以你本机设一下 hosts,看看我前次给你说的两个 IP 能连吗?
        118
    gaoyuzhe22   21 天前   ♥ 1
    你用的 ipv6 数据库似乎有问题,我一般使用 https://ip.zxinc.org/ipquery/ 来确认 ipv6 地址的归属。
    你上面的提到的两个地址:
    2404:6800:4008:802::2004 中国台湾省台北市 Google Inc. 服务器网段 我这儿的 ping 延时大概在 70+,比香港稍微高一些
    2607:f8b0:4007:801::2004 美国 California 州 Los Angeles Google Inc. 服务器网段,我这儿的 ping 在 200 左右
    我提供的 ip 地址 2404:6800:4005:807::2004 属于中国香港区 Google Inc. 服务器网段
        119
    Love4Taylor   21 天前   ♥ 1
    你家 status 页面挂了

    >Refused to apply style from 'https://www.rubyfish.cn/sites/default/files/css/css_at2iRdA_n5bTTJVdrSEq-GjzhatE89uQf1IZlAOyqWY.css?pexec5' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled.
        120
    Love4Taylor   11 天前 via Android
    现在不写事件报告了?
        121
    qyb   10 天前
    @Love4Taylor 最近运维的事情由其它人在接手
        122
    testcaoy7   7 天前
    @qyb 现在服务器失效了,不管是 UW 还是 EA 的 stamp 都失效了,是 stamp 改变了吗?如果改变了,能否更新一下?
        123
    qyb   7 天前
    @testcaoy7 被攻击了,临时换了 IP,正在处理.
        124
    tifang   3 天前
    请教,openwrt,dnsmasq 配合 https_dns_proxy,在解析某些小众网站时。当使用 rubyfish doh,Windows 上显示 DNS 解析失败(不同网络环境不同 PC 下,均自动获取 IP 与 DNS,Chrome&IE ),2 台安卓手机解析正常( Chrome,未开启私人 DNS )。当使用 google doh,所有设备均解析成功。
    经查看 dnsmasq 记录,发现 rubyfish 其实正确解析了 IP,与 google reply 的结果一致。
    想不通 rubyfish 的解析结果在 Windows 上无效在 Android 上却没问题。百思不得其解,求赐教。
        125
    tifang   3 天前
    抓了下包
    rubyfish 解析错误
        126
    tifang   3 天前
    抓了下包

    rubyfish 解析错误
    Domain Name System (response)
    Transaction ID: 0x89eb
    Flags: 0x8180 Standard query response, No error
    Questions: 1
    Answer RRs: 2
    Authority RRs: 0
    Additional RRs: 0
    Queries
    Answers
    [Malformed Packet: DNS]
    [Expert Info (Error/Malformed): Malformed Packet (Exception occurred)]
    [Malformed Packet (Exception occurred)]
    [Severity level: Error]
    [Group: Malformed]

    google
    Domain Name System (response)
    Transaction ID: 0x7656
    Flags: 0x8180 Standard query response, No error
    Questions: 1
    Answer RRs: 1
    Authority RRs: 0
    Additional RRs: 0
    Queries
    Answers
    [Request In: 425]
    [Time: 0.323234000 seconds]
        127
    Love4Taylor   3 天前
    unbound 似乎在 DNSSEC 的转发上有有些问题.
    在 systemd-resolved 设置为 DNSSEC=allow-downgrade 之后一些域名例如 www.bilibili.com 无法解析, unbound 上会输出 Verified that unsigned response is INSECURE 的 log.
    同设置 8.8.8.8 没问题.
        128
    qyb   2 天前
    @Love4Taylor 你说的这个是红鱼的问题还是 unbound 的问题?
        129
    Love4Taylor   2 天前 via Android
    @qyb 应该是 unbound, 但没搜到相关资料. 我自己的 DoT 服务以及你们的服务测试都有这个问题.
        130
    qyb   2 天前
    @tifang 从描述不太确认问题出在哪里。测试协议问题,https_dns_proxy 可能有点小众了;建议使用流传更广泛的 client 进行测试,比如 dnscrypt-proxy 或者 libcurl ( https://github.com/curl/doh)
        131
    qyb   2 天前
    @Love4Taylor 在 unbound.conf 里加入 domain-insecure: bilibili.com 能避开这个错误吗?
        132
    Love4Taylor   2 天前
    @qyb #131 不行. 并且如果 unbound 设置了缓存, 那么只要有一个用户如此用 systemd 解析会导致空解析被缓存而牵连其他用户.

    unbound[134004]: [134004:2] info: resolving www.bilibili.com. A IN
    unbound[134004]: [134004:2] info: response for www.bilibili.com. A IN
    unbound[134004]: [134004:2] info: reply from <.> 192.168.2.113#5300
    unbound[134004]: [134004:2] info: query response was CNAME
    unbound[134004]: [134004:2] info: resolving www.bilibili.com. A IN
    unbound[134004]: [134004:2] info: response for www.bilibili.com. A IN
    unbound[134004]: [134004:2] info: reply from <.> 192.168.2.113#5300
    unbound[134004]: [134004:2] info: query response was ANSWER
    unbound[134004]: [134004:2] info: resolving biliapi.com. DS IN
    unbound[134004]: [134004:2] info: response for biliapi.com. DS IN
    unbound[134004]: [134004:2] info: reply from <.> 192.168.2.113#5300
    unbound[134004]: [134004:2] info: query response was nodata ANSWER
    unbound[134004]: [134004:2] info: NSEC3s for the referral proved no DS.
    unbound[134004]: [134004:2] info: Verified that unsigned response is INSECURE
    unbound[134004]: [134004:2] info: resolving bilibili.com. SOA IN
    unbound[134004]: [134004:2] info: response for bilibili.com. SOA IN
    unbound[134004]: [134004:2] info: reply from <.> 192.168.2.113#5300
    unbound[134004]: [134004:2] info: query response was ANSWER
    unbound[134004]: [134004:2] info: resolving bilibili.com. DS IN
    unbound[134004]: [134004:2] info: response for bilibili.com. DS IN
    unbound[134004]: [134004:2] info: reply from <.> 192.168.2.113#5300
    unbound[134004]: [134004:2] info: query response was nodata ANSWER
    unbound[134004]: [134004:2] info: validate(nodata): sec_status_insecure
    1  2  
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   824 人在线   最高记录 4385   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 19ms · UTC 20:42 · PVG 04:42 · LAX 13:42 · JFK 16:42
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1