因为是虚拟机下使用,下载虚拟机专用的镜像
https://alpinelinux.org/downloads/ Virtual板块下载86_64镜像
当前 http://dl-cdn.alpinelinux.org/alpine/v3.12/releases/x86\_64/alpine-virt-3.12.1-x86\_64.iso
创建虚拟机 当前alpine内核是5.4,虚拟机创建及初始化过程略过
apk update && apk upgrade && apk add sudo nano
下载并安装smartdns from https://github.com/pymumu/smartdns
wget https://github.com/pymumu/smartdns/releases/download/Release33/smartdns.1.2020.09.08\-2235.x86\_64\-linux\-all.tar.gz
tar xvf smartdns.1.2020.09.08-2235.x86_64-linux-all.tar.gz && cd smartdns && chmod +x ./install && mkdir mkdir /etc/default && ./install -i
rc-service smartdns stop
mv /etc/smartdns/smartdns.conf /etc/smartdns/smartdns.conf.bak
nano /etc/smartdns/smartdns.conf
server-name smartdns
bind :53 bind-tcp :53 cache-size 1536 prefetch-domain yes
serve-expired yes
log-level info
server-tls 208.67.222.222:853
#server-https https://dns.twnic.tw/dns-query
server-tls 45.32.55.94:853 server-https https://cloudflare\-dns.com/dns\-query
server-https https://neatdns.ustclug.org/resolve
server-https https://doh.dns.sb/dns\-query
server-https https://public.dns.iij.jp/dns\-query
server-https https://dns.rubyfish.cn/dns\-query
server-https https://dns.dns\-over\-https.com/dns\-query
server-https https://jp.tiar.app/dns\-query
server-https https://i.233py.com/dns\-query
server 223.5.5.5:53 server 114.114.114.114:53 conf-file /tmp/whitelist.conf
conf-file /tmp/blacklist.conf
ipset /tracker.publicbt.com/block
ipset /tracker.publicbt.com/b- address /tracker.publicbt.com/- address /publicbt.com/- address /www.publicbt.com/- address /*.publicbt.com/-
取消DHCP DNS自动覆盖
nano /usr/share/udhcpc/default.script 用#注释RESOLV_CONF=“/etc/resolv.conf”
修改本地DNS为127.0.0.1
nano /etc/resolv.conf
nameserver 127.0.0.1
启动smartdns并测试
/usr/sbin/smartdns 测试 nslookup -querytype=ptr smartdns
开机启动,默认的服务没法启动,未知
/usr/sbin/smartdns
nano /etc/local.d/init_nextcloud.start #!/bin/sh
/usr/sbin/smartdns
chmod +x /etc/local.d/init_nextcloud.start
rc-update add local
添加守护
apk add monit
mv /etc/monitrc /etc/monitrc.bak
nano /etc/monitrc set daemon 10 #10s循环监控
set logfile syslog
check process smartdns with pidfile /var/run/smartdns.pid
start program = “/usr/sbin/smartdns” with timeout 10 seconds
stop program = “/usr/bin/killall smartdns” with timeout 10 seconds
chmod 0700 /etc/monitrc 测试守护配置 monit -t 启动 rc-service monit start
monit start all #忽略有个报错
添加启动 rc-update add monit