Skip to content

CoreDNS高级篇

# ========================================================
# 1. DoH: 电信解析块 (拦截 AS4134 和 AS4809)
# ========================================================
https://.:443 {
    # 证书路径 (默认 Certbot 申请后在 Let's Encrypt 目录下)
    tls cert.pem key.pem
    
    metadata
    geoip /etc/coredns/GeoLite2-ASN.mmdb
    
    view telecom {
        expr metadata('geoip/asn/number') == '4134' || metadata('geoip/asn/number') == '4809'
    }
    
    import rules/telecom.conf
    forward . 8.8.8.8
    cache 30
}

# ========================================================
# 2. DoH: 联通解析块 (拦截 AS4837 和 AS9929)
# ========================================================
https://.:443 {
    tls cert.pem key.pem
    
    metadata
    geoip /etc/coredns/GeoLite2-ASN.mmdb
    
    view unicom {
        expr metadata('geoip/asn/number') == '4837' || metadata('geoip/asn/number') == '9929'
    }
    
    import rules/unicom.conf
    forward . 8.8.8.8
    cache 30
}

# ========================================================
# 3. DoH: 移动解析块 (拦截 AS9808)
# ========================================================
https://.:443 {
    tls cert.pem key.pem
    
    metadata
    geoip /etc/coredns/GeoLite2-ASN.mmdb
    
    view mobile {
        expr metadata('geoip/asn/number') == '9808'
    }
    
    import rules/mobile.conf
    forward . 8.8.8.8
    cache 30
}

# ========================================================
# 4. DoH: 默认兜底块 (未命中上述 ASN 的通用流量)
# ========================================================
https://.:443 {
    tls cert.pem key.pem

    import rules/mappings.conf
    forward . 8.8.8.8
    cache 30
}