部署在路由器上 - Yee2/dns GitHub Wiki

以部署到Pandovan为例。

编译

根据自己的路由器CPU,选择合适的编译参数,然后复制到路由器上/opt/bin/my-dns

GOOS=linux GOARCH=mipsle go build

创建配置文件/opt/etc/my-dns/config.toml,添加下面内容:

[listen](/Yee2/dns/wiki/listen)
type = "tcp"
address = "0.0.0.0:53"

[listen](/Yee2/dns/wiki/listen)
type = "udp"
address = "0.0.0.0:53"

[upstreams](/Yee2/dns/wiki/upstreams)
name = "TUNA-DNS666"
address = "101.6.6.6:53"
method = "tcp"

[rules](/Yee2/dns/wiki/rules)
name = "other"
upstream = "TUNA-DNS666"

创建启动自启动脚本/opt/etc/init.d/S53my-dns,添加下面内容:

#!/bin/sh

ENABLED=yes
PROCS=my-dns
ARGS="--config /opt/etc/my-dns/config.toml"
PREARGS=""
DESC=$PROCS
PATH=/opt/sbin:/opt/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

. /opt/etc/init.d/rc.func

屏蔽自带的dnsmasq,在控制面板高级设置>内部网络(LAN)>DHCP服务器下面的自定义配置文件 "dnsmasq.conf"末尾添加下面参数:

port=0

执行下面命令

/opt/etc/init.d/S53my-dns start
netstat -lnp |grep :53

可以看到53端口已经被my-dns这个进程占用。

tcp        0      0 :::53                   :::*                    LISTEN      1824/my-dns
udp        0      0 :::53                   :::*                                1824/my-dns