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

问:如何解决 DNS 污染。。

  •  
  •   martianden · 96 天前 · 5476 次点击
    这是一个创建于 96 天前的主题,其中的信息可能已经有所发展或是发生改变。

    业余人员问,,请分享你们的方案,谢谢。。

    27 条回复    2022-10-28 12:24:20 +08:00
    superkkk
        1
    superkkk  
       96 天前 via Android
    高情商 分享方案
    低情商 快来自首
    Kasumi20
        2
    Kasumi20  
       96 天前
    了解一下原理就知道怎么解决了,有这么难吗?

    请看: https://github.com/develon2015/dnsd
    bug123
        3
    bug123  
       96 天前
    除非你的用户都能使用干净的 dns 服务器,否则无解。
    beholder
        4
    beholder  
       96 天前 via iPhone
    2333……业余地回答:润
    retrace
        5
    retrace  
       96 天前
    能看懂的自己就能搞懂,看不懂的解释了也是不懂。
    XiLingHost
        6
    XiLingHost  
       96 天前
    我目前是用 mosdns 做分流
    mrzx
        7
    mrzx  
       96 天前   ❤️ 1
    doh,好了,谷歌吧。
    我们公司就是这套方案。
    hcwhan
        8
    hcwhan  
       96 天前
    mosdns + 分流 + doh
    hcwhan
        9
    hcwhan  
       96 天前
    log:
    level: info
    file: ./log.log

    include: []

    data_providers:
    - tag: geoip.dat
    file: ./geoip.dat

    # - tag: oisd_dbl_basic
    # file: ./oisd_dbl_basic.txt

    servers:
    - exec: main_sequence # 本服务器运行插件的 tag 。
    timeout: 5 # 请求处理超时时间。单位: 秒。默认: 5 。
    listeners: # 监听设置
    - protocol: udp
    addr: :53

    - protocol: tcp
    addr: :53

    - protocol: dot
    addr: :853
    cert: '/ssl-cert/XXXXXX.com/cert.pem' # `dot`, `doh` 必需。PEM 格式的证书文件。
    key: '/ssl-cert/XXXXXX.com/key.pem' # `dot`, `doh` 必需。PEM 格式的密钥文件。

    - protocol: doh
    addr: :443
    cert: '/ssl-cert/XXXXXX.com/cert.pem' # `dot`, `doh` 必需。PEM 格式的证书文件。
    key: '/ssl-cert/XXXXXX.com/key.pem' # `dot`, `doh` 必需。PEM 格式的密钥文件。
    url_path: '/dns-query' # url 路径。适用于 `doh`, `http`。如果为空,则任意路径的请求都能被处理。
    get_user_ip_from_header: 'X-Forwarded-For' # 适用于 `doh`, `http`。尝试从反向代理的 HTTP 头获取用户 IP 。

    plugins:
    - tag: mem_cache
    type: cache
    args:
    size: 10240 # 内存缓存大小。单位: 条。默认: 1024 。
    lazy_cache_ttl: 86400 # lazy cache 生存时间。单位: 秒。默认: 0 (禁用 lazy cache)。
    # RFC 8767 的建议值 86400 (1 天) ~ 259200 (3 天)
    lazy_cache_reply_ttl: 30 # 返回过期应答的 TTL 。默认 30 (RFC 8767 的建议值)。

    - tag: query_is_ad_domain
    type: query_matcher
    args:
    domain:
    - 'provider:oisd_dbl_basic'

    - tag: forward_china
    type: fast_forward
    args:
    upstream:
    - addr: https://1.12.12.12/dns-query
    trusted: true

    - addr: https://223.5.5.5/dns-query
    trusted: true

    - tag: forward_overseas
    type: fast_forward
    args:
    upstream:
    - addr: https://doh.opendns.com/dns-query
    trusted: true

    - addr: https://dns.quad9.net/dns-query
    trusted: true

    - addr: https://dns.google/dns-query
    trusted: true
    enable_pipeline: true
    enable_http3: true

    - addr: https://cloudflare-dns.com/dns-query
    trusted: true
    enable_pipeline: true
    enable_http3: true

    - tag: response_has_china_ip
    type: response_matcher
    args:
    ip:
    - 'provider:geoip.dat:cn'

    - tag: main_sequence
    type: sequence
    args:
    exec:
    # - _no_ecs # 删除请求和应答中的 ECS

    - mem_cache # 运行缓存插件

    # - if: query_is_ad_domain
    # exec:
    # - _new_nxdomain_response # 生成 NXDOMAIN 应答
    # - _return

    - _prefer_ipv4 # 优先使用 ipv4

    # 域名用 IP 分流。原理类似 ChinaDNS ,但更稳定。
    - primary:
    - forward_china # 获取 china 服务器应答。
    - if: "! response_has_china_ip" # 返回 非国内 ip 则丢弃
    exec:
    - _drop_response
    secondary:
    - forward_overseas # 获取 overseas 服务器应答。

    fast_fallback: 1000 # 快速 fallback 触发阈值。单位: 毫秒。默认: 0 ,禁用快速 fallback 。可省略。
    always_standby: true # 快速 fallback secondary 始终待命。可省略。
    ZE3kr
        10
    ZE3kr  
       96 天前 via iPhone
    在递归服务器上开启 dnssec ,导入跟域名公钥并校验就行了。当然这样如果遇到了被污染的情况返回的是报错而不是没污染的结果。
    woctordho
        11
    woctordho  
       96 天前 via Android
    我用的是 dnscrypt
    0o0O0o0O0o
        12
    0o0O0o0O0o  
       96 天前 via iPhone
    adguardhome 配合 DoT/DoQ/DoH 这些基于 tls 的
    martianden
        13
    martianden  
    OP
       96 天前
    @0o0O0o0O0o 这个是要付费吗?
    lakehylia
        14
    lakehylia  
       96 天前
    DNS over http
    0o0O0o0O0o
        15
    0o0O0o0O0o  
       96 天前 via iPhone
    @martianden #13 不需要,开源软件
    ByteCat
        16
    ByteCat  
       96 天前
    看你的用途,如果只是科学的话,我用的是 Clash/V2Ray 都能通过规则或 fake-ip 解决
    c332030
        17
    c332030  
       96 天前
    httpdns 不行吗?腾讯是这么干的
    yyysuo
        18
    yyysuo  
       96 天前
    你们是认真的吗? dns 分流的重点在于规则,不管是 gfwlist 还是 geoip ,白名单黑名单,都是各有优点缺点,技术方案只要没 bug ,都是没问题的。另外主流的科学方案,都自带了 dns 分流和防污染,我试过 ssrp 和 passwall ,默认的就好用,没什么需要调整的,你们折腾啥?特别是用 mosdns 和科学软件配合的,除非你们能把科学软件自带的 dns 方案废掉,要不然肯定是以科学软件的 dns 分流为准的,mosdns 只是分了个寂寞,没什么用。
    jujusama
        19
    jujusama  
       96 天前
    doh
    martianden
        20
    martianden  
    OP
       96 天前
    @0o0O0o0O0o 我弄好了,谢谢
    PMkol
        21
    PMkol  
       95 天前
    @yyysuo 只有在白名单模式才是你说的这样,如果使用 gfwlist 模式,因为 gfwlist 列表与 DNS 污染列表并不相同,所以还是有用的,另外 mosdns 一类软件的分流,也不是你理解的简单区分国内海外域名,不同域名指向不同的公共 DNS ,会获取更好的访问体验,这些都是科学软件自带 DNS 分流做不到的。只能说如果只是偶尔用下科学,没必要单独配置 DNS 分流而已。
    martianden
        22
    martianden  
    OP
       93 天前
    @all 各位 目前我找到最有效的方法就是 adguard 付费版
    gggccc44
        23
    gggccc44  
       92 天前
    自己上网的话,难道不是设置一个干净的 dns 就行了么?
    Sekai
        24
    Sekai  
       79 天前
    自己搭 dns 服务器
    PMkol
        25
    PMkol  
       75 天前   ❤️ 1
    https://www.v2ex.com/t/864322
    用这个自建,也可以直接用里面提供的 DOH
    yyysuo
        26
    yyysuo  
       71 天前
    @PMkol 感谢大佬,这几天才弄明白你的回复。您说的对,ssrp 即使在大陆白名单下,dns 解析也是 gfwlist 模式,这样一些不在 gfwlist 清单中的域名就有可能被污染,passwall 有 chinadns-ng ,还可以兜底。目前已经在套娃中增加了 mosdns ,目前的 dns 流向是 Adguard Home (总)->mosdns ( geosite 分流)->smartdns (开 2 个端口承接 mosdns 分流)-Adguard Home ( 2 个,分国内国外)
    https://www.right.com.cn/forum/thread-8247205-1-1.html
    qianbi321
        27
    qianbi321  
       40 天前
    @superkkk https://www.dns.com/speed.html 大公司也有这业务
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4955 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 02:02 · PVG 10:02 · LAX 18:02 · JFK 21:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.