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

没人考虑自建 DNS 服务器?

  •  
  •   tony601818 · 2019-04-05 10:15:06 +08:00 · 19927 次点击
    这是一个创建于 1819 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近 DNS 老出问题,有人考虑过自建 DNS 服务器吗? 之前在 TP-LINK Archer A7 上刷了 OpenWRT trunk 版,发现现在已经允许在Unbounddnsmasq中二选一当局域网的 DNS 了。

    OpenWRT 的文档:https://openwrt.org/docs/guide-user/services/dns/unbound

    官方的一句话说明:

    Unbound is a validating, recursive, and caching DNS resolver

    而且 Unbound 的操作模式是从根 DNS 里递归向上查,还有 dnssec 之类的一系列功能。

    从此再也不用担心公共 DNS 挂掉或者隐私泄露了,多好。

    38 条回复    2019-04-29 16:50:08 +08:00
    unixeno
        1
    unixeno  
       2019-04-05 10:28:36 +08:00 via Android
    你是不是没试过递归 DNS 有多慢
    之前配的一个日常百度都打不开
    nothunderchat
        2
    nothunderchat  
       2019-04-05 10:28:59 +08:00 via Android
    pi-hole ?
    ferock
        3
    ferock  
       2019-04-05 10:34:44 +08:00 via iPhone
    一般自建 dns 代理
    bokchoys
        4
    bokchoys  
       2019-04-05 10:38:42 +08:00 via iPhone
    自建过一次,cpu 老是突然飙升
    arfaWong
        5
    arfaWong  
       2019-04-05 10:46:09 +08:00 via Android
    smartdns
    weyou
        6
    weyou  
       2019-04-05 10:49:49 +08:00 via Android
    纠正下,dns server 是接收递归查询请求,但它自己的这种从 roo dns 开始的查询模式是迭代查询,不是递归查询。另外确实要比公共 dns 慢得多,unbound 支持 cache 也仅能加快访问过的域名查询。
    cpdyj0
        7
    cpdyj0  
       2019-04-05 11:13:25 +08:00 via Android
    这玩意儿是迭代查询吧,递归查询不就是传统方案
    EIlenZe
        8
    EIlenZe  
       2019-04-05 11:46:13 +08:00
    前段时间 Adguard 出了一个可以特别用于家庭的自建 DNS 的教程...
    还有控制面板 做得也挺精致
    除了有点慢 其他都还好
    lhx2008
        9
    lhx2008  
       2019-04-05 12:00:09 +08:00 via Android
    然而并没有什么卵用?去根 dns 查起也是可能被运营商投毒的,反正都是抢答
    hpj
        10
    hpj  
       2019-04-05 12:42:48 +08:00
    自建域名解析用的 DNS 服务器倒是有考虑...
    hugee
        11
    hugee  
       2019-04-05 12:57:47 +08:00 via Android
    考虑?都自建好多年了
    tony601818
        12
    tony601818  
    OP
       2019-04-05 13:05:21 +08:00
    @unixeno 是不是没开缓存?我这递归查询缓存数上来以后比 dns-over-https 快得多。
    tony601818
        13
    tony601818  
    OP
       2019-04-05 13:11:31 +08:00
    @hpj 可以啊,unbound 或者 bind9 都行。
    tony601818
        14
    tony601818  
    OP
       2019-04-05 13:15:49 +08:00
    @lhx2008 unbound 附带根域名服务器的签名,dnssec 怎么投毒?只能干扰到用不了。
    tony601818
        15
    tony601818  
    OP
       2019-04-05 13:17:02 +08:00
    @hugee 之前看 114 挂了一次,结果好多人都说网用不了,所以想到了这事……
    tyzrj766
        16
    tyzrj766  
       2019-04-05 13:47:05 +08:00
    自用就行,分享出来的我这几年看到的无一例外都凉了
    HaoLan
        17
    HaoLan  
       2019-04-05 14:21:10 +08:00 via Android
    自建确实可以考虑。不过没必要建在路由器上。可以建在树莓派上
    evegod
        18
    evegod  
       2019-04-05 15:00:14 +08:00
    你直接挂个代理一般不就没事了嘛,自建 dns 干啥啊,常用的网址直接添加到 hosts 不就好了嘛。
    mygoare
        19
    mygoare  
       2019-04-05 15:04:53 +08:00 via iPhone
    用的自建无污染,只是一直不公开而已

    也可以在局域网内自建,这样更安全
    flynaj
        20
    flynaj  
       2019-04-05 15:08:53 +08:00
    dnsmasq 分流一下就行。那些功能 dnsmasq-full 就有了,
    emeab
        21
    emeab  
       2019-04-05 15:10:29 +08:00
    @evegod 去广告... 拦截收集数据的 api
    lzxgh621
        22
    lzxgh621  
       2019-04-05 15:14:50 +08:00 via iPhone
    自建的技术不够就是个累赘
    evegod
        23
    evegod  
       2019-04-05 15:17:31 +08:00
    @emeab 我是配插件,用脚本什么的清除,或者上一个软路由也行,我家里直接把路由的 dns 改成了 8.8.8.8 和 1.1.1.1,还挺好用的,都是外国的 dns 但是链接速度都还挺快的,我都怀疑是不是家里的联通宽带忘了 ban 这些 dns 服务器了( dog 脸)
    2010
        24
    2010  
       2019-04-05 15:36:00 +08:00
    taobibi
        25
    taobibi  
       2019-04-05 16:26:15 +08:00
    我的自建 DNS,是 dnsmasq+代理的方案。国内域名走公共百度解析,国外的用非标准端口查询 opendns


    另外觉得下面这个方案不错,但是还没测试,仅作研究使用了
    https://github.com/lbp0200/prc-dns
    unixeno
        26
    unixeno  
       2019-04-05 17:59:35 +08:00 via Android
    @tony601818 开了,但是一段时间不用过期了再访问就会爆炸,淘宝这些基本上得刷三四次才能加载全
    edsheeran
        27
    edsheeran  
       2019-04-05 18:06:48 +08:00 via iPhone
    adguard
    celeron533
        28
    celeron533  
       2019-04-05 18:08:21 +08:00
    而且有可能会被利用作为反弹型 DDos
    miaomiao888
        29
    miaomiao888  
       2019-04-05 18:56:37 +08:00
    自建,10 个 DNS 同时解析,返回延迟最低的 IP
    除非断网,否则不影响 DNS
    SingeeKing
        30
    SingeeKing  
       2019-04-05 19:02:39 +08:00
    看了 #29 的回复,想到了一个方案:由于 Surge 是并发向所有 DNS 请求的,所以似乎可以配置多个「权威 DNS 」给 Surge,然后 Surge 就会自动选择最快的了
    bclerdx
        31
    bclerdx  
       2019-04-05 23:33:17 +08:00
    试试用运营商默认分配的 2 个 DNS ?
    SharkIng
        32
    SharkIng  
       2019-04-06 01:28:23 +08:00
    @tony601818 #13 Unbond 不能做 Authoritative 吧?
    mingl0280
        33
    mingl0280  
       2019-04-06 03:27:37 +08:00
    首先,自建 DNS 不能暴露于外网,这就断绝了作为授权 DNS 服务器的可能性。
    其次,自己家里弄一个缓存完全没问题,可以极大加速常访问域名的解析速度,可以自己做一些 dns 污染(比方说把 linux 源重定向到本地的镜像服务器以加速下载),我家里就弄了个在 WinServer 上的 DNS 解析,蛮好用的。
    tony601818
        34
    tony601818  
    OP
       2019-04-06 03:32:57 +08:00
    @celeron533 怪我标题没起好,应该是自建局域网内的 dns。
    如果是公网还是建议用非 53 口,或者设 rate-limit。
    Belmode
        35
    Belmode  
       2019-04-06 10:41:04 +08:00 via Android
    曾经用,maradns 建过
    ttimasdf
        36
    ttimasdf  
       2019-04-28 23:00:19 +08:00
    其实这个方案非常好,我自己搭了一个以后,现在完全不考虑别的方案了,,
    直接无脑 pi-hole,然后 apt install unbound,把 pi-hole 文档里的 unbound 配置文件一粘,systemctl 启动,非常完美,还附赠一个 DNS 日志的 dashboard。
    有些人说慢,确实首次访问非常慢。但之后就没问题了呀,dnsmasq 和 unbound 都有缓存,慢不下去的。

    而且重点是,没有投毒!没有污染!完全分地域解析!不需任何配置!想做到这个效果,自己再套个 chinadns 外面再套个 sstunnel,解析速度也不过如此吧?
    xxx.googleapi.cn 返回的是正确的美国 google 节点,国内的 CDN 返回的都是国内的 IP。万一以后运营商真有抢答了,unbound 配置再一改,上游关键走 dns over tls,别的都不用改。简直不能太舒服。
    ttimasdf
        37
    ttimasdf  
       2019-04-28 23:02:44 +08:00
    对了,所有自建 DNS 都只能在内网自己弄着玩,DNS 服务加固不是一般人很方便能搞定的,而且被黑产扫到了或者运营商监控到了那肯定就是律师函警告了
    Sekai
        38
    Sekai  
       2019-04-29 16:50:08 +08:00
    @ttimasdf 运营商警告?为啥?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1275 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 17:49 · PVG 01:49 · LAX 10:49 · JFK 13:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.