Skip to content

DNS方案

zfl9 edited this page May 29, 2023 · 21 revisions

分享一些 DNS 玩法,比如给内置 DNS 方案套上 DoH/DoT,以及自定义 DNS 方案的例子。

欢迎大家在 Discussions 页面分享自己的 DNS 方案,我会不定时的将它们整理到 wiki 页面。

给内置 DNS 套上 DoH/DoT

https://github.com/AdguardTeam/dnsproxy 为例,给 direct 和 remote DNS 套上 DoH:

dns_direct='127.0.0.1#65001' # 指向 dnsproxy
dns_direct_white='223.5.5.5 223.6.6.6' # 加入白名单

dns_remote='127.0.0.1#65002' # 指向 dnsproxy
dns_remote_black='8.8.8.8 8.8.4.4' # 加入黑名单

# 如果给 remote DNS 套了 DoH/DoT,则不必启用 dns2tcp
dns2tcp_enable='false'

pre_start() {
    # 设置所属 group、setgid 权限位 (只需执行一次)
    set_dns_group dnsproxy

    # 启动 dnsproxy 进程,用于 direct DNS
    (dnsproxy -l 127.0.0.1 -p 65001 \
        -u https://dns.alidns.com/dns-query \
        </dev/null &>>/var/log/dnsproxy.log &)

    # 启动 dnsproxy 进程,用于 remote DNS
    (dnsproxy -l 127.0.0.1 -p 65002 \
        -u https://dns.google/dns-query \
        </dev/null &>>/var/log/dnsproxy.log &)
}

post_stop() {
    # 关闭 dnsproxy
    kill -9 $(pidof dnsproxy) &>/dev/null
}

extra_status() {
    _status "doh/direct" udp_port_is_exists 65001
    _status "doh/remote" udp_port_is_exists 65002
}

// TODO

Clone this wiki locally