X

coredns 泛域名解析

2022/2/3

感觉bind9不太好用 就换到coredns 用于解决一些被dns污染的域名访问

比如最近接触的instagram 整体大概摸索了一遍 不过不明白这app到底要怎么聊天 一直挂梯子体验不是很好 主要我那2000毫安电量的小手机经不起长期挂个耗电大户 所以比较绿色的就是解决下dns问题了

更高端一点的透明转发目前玩不转 也懒得去折腾 毕竟大多都是页面浏览 配个自动代理随时添加规则就能满足日常办公资料查询之类的了

原计划是在vps上挂个远端的dns 然后通过转发解析 但不知道转发有没有生效 解析不是在远端vps作为出发点进行的解析 本地获取的结果和直接在vps ping的结果不一样 所以决定还是手动本地写死记录好了

举个简单的栗子 也就是目前在用的配置 简单直观 一看就知道怎么抄作业:

.:53 {
        bind 0.0.0.0 127.0.0.1
        reload 10s
        erratic
        log
        cache {
                success 5000
                denial 2500
        }

        forward . 127.0.0.1:5301 127.0.0.1:5303 127.0.0.1:5301 127.0.0.1:5304

        template IN A instagram.com cdninstagram.com {
                answer          "{{ .Name }} 60 IN A 157.240.199.174"
                additional      "{{ .Name }} 60 IN A 157.240.11.174"
                additional      "{{ .Name }} 60 IN A 157.240.206.174"
                additional      "{{ .Name }} 60 IN A 31.13.75.174"
        }

        template IN A copymanga.com {
                answer          "{{ .Name }} 60 IN A 172.67.203.144"
                additional      "{{ .Name }} 60 IN A 104.21.60.251"
        }

        template IN A bing.com {
                answer          "{{ .Name }} 60 IN A  13.107.21.200"
                additional      "{{ .Name }} 60 IN A 204.79.197.200"
        }

        template IN A discord.com {
                answer          "{{ .Name }} 60 IN A  162.159.128.233"
                additional      "{{ .Name }} 60 IN A 162.159.128.233"
        }

        template IN A ssr.ltd {
                answer          "{{ .Name }} 60 IN A  10.0.0.120"
        }
}

.:5301 {
   forward . 8.8.8.8 {
        tls_servername google.com
   }
}

​

.:5302 {
   forward . 162.14.21.56 {
        tls_servername dot.pub
   }
}

.:5303 {
   forward . 223.5.5.5 223.6.6.6 {
        tls_servername dns.alidns.com
   }
}

​

.:5304 {
   forward . 1.0.0.1 1.1.1.1 {
        tls_servername cloudflare-dns.com
   }
}

具体使用说明参见 template 插件

我不太明白 template CLASS TYPE [ZONE...]

CLASS 目前我就知道一个IN

ZONE你可以理解为一级域名

这里的type作用 不知道是不是设置了A 里面match就只匹配A记录请求?

文档里对match有做说明

REGEX Go regexp that are matched against the incoming question name.

Specifying no regex matches everything (default: .*).

First matching regex wins.

但是 incoming question 是否受到type影响 其内容到底是说明 就不得而知了

Commit