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
}