docker搭建Dnsmasq配合55过滤广告,支持web编辑管理

原创 楚盟  2018-01-31 18:10  阅读 617 views 次

55它用的是远程服务器DNS解析,所以需要在远程服务器上安装一个Dnsmasq服务器,这篇笔记用的Docker搭建,基于debian9系统;为了这个DNS不被扫描和谐到,安全起见53端口不对公网开放;因为我只是让它来为55解析域名;

一、以下内容写入/etc/dnsmasq.conf配置文件中:

dnsmasq配置,完整的例子,请参阅:http://oss.segetech.com/intra/srv/dnsmasq.conf


log-queries
no-resolv
server=8.8.4.4
server=8.8.8.8
conf-dir=/etc/dnsmasq.d 

log-queries #记录所有的DNS查询
no-resolv #nameservers不要使用hosts名称
server=8.8.4.4
server=8.8.8.8 #使用谷歌作为默认名称服务器
conf-dir=/etc/dnsmasq.d # 我们的解析规则都写到这个目录下,比如去广告规则什么的

二、Dnsmasq去除广告方法:

请看这篇笔记的详细记录:https://www.5yun.org/15257.html

三、Docker运行Dnsmasq命令:


docker run \
    --name dnsmasq \
    -d \
    -p 53:53/udp \
    -p 5380:8080 \
    -v /etc/dnsmasq.conf:/etc/dnsmasq.conf \
        -v /etc/dnsmasq.d:/etc/dnsmasq.d  \
    -e "HTTP_USER=用户名" \
    -e "HTTP_PASS=用户密码" \
    --restart always \
    jpillora/dnsmasq

四、访问http://VPS_ip:5380管理Dnsmasq配置

这个web管理界面可以编辑、关闭、启动Dnsmasq的配置文件,还能实时查看DNS解析记录;
标题栏显示绿色图标表示Dnsmasq工作正常,红色表示失败错误信息会在旁边的信息栏中显示出来;
dnsmasq去广告

五、找到Dnsmasq Docker容器IP地址:

输入下面命令后,它列出所有正在运行的docker容器ip出来,根据名称找到对应的就是了,例如我的ip是:172.17.0.10,这个就刚刚通过Dnsmasq是搭建好的DNS服务器了;


docker inspect -f '{{.Name}} - {{.NetworkSettings.IPAddress }}' $(docker ps -aq)

六、配合55使用自建DNS

上面的步骤搭建出来了一个内网私有DNS,地址为172.17.0.10

通过--dns指派指定的DNS让55工作
说明:下面运行命令中的5hadow5ock5,替换成s


docker run  --dns 172.17.0.10 -dt --name 55 -p 6443:6443 mritd/5hadow5ock5 -s "-s 0.0.0.0 -p 6443 -m aes-256-cfb -k mima --fast-open"

参考资料:
hub.docker.com中的5hadow5ock5项目
https://github.com/jpillora/docker-dnsmasq

本文地址:https://www.5yun.org/15315.html
关注我们:请关注一下我们的微信公众号:扫描二维码楚盟网的公众号,公众号:chubin5yun
版权声明:本文为原创文章,版权归 楚盟 所有,欢迎分享本文,转载请保留出处!