Docker安装AdGuard Home,接入路由器,过滤局域网广告

先说一下情况,猫桥接,主路由拨号。我主路由用的京东云亚瑟,装不了插件,所以就想在N1上装AdGuard Home,然后让主路由的DNS指向N1,实现广告过滤。
可以在N1里面直接docker安装的,但是N1里面装了东西,一些端口被占用了,就想换个ip,还用53端口做DNS。为了docker也能直接在主路由网段中,这就需要设置macvlan了,这里也是主要记录的这个。
host模式下,aguardhome获取不到客户端ip
桥接模式下,需要把端口映射出来,53端口还要接触占用,换成adguardhome,ipv6需要另外配置。我弄的时候显示客户端ip出了点错误,就放弃了。
桥接模式,容器语句

docker run -d 
    --name adguardhome 
    -v /opt/soft/adguardhome/work:/opt/adguardhome/work 
    -v /opt/soft/adguardhome/conf:/opt/adguardhome/conf 
    -p 53:53/tcp 
    -p 53:53/udp 
    -p 3000:3000/tcp 
    adguard/adguardhome
# 这是最基本的,要用其他功能还得映射其他端口,有点不方便。所以就不用这个了。

1. 开启macvlan,新建网络

1.1 打开网卡混杂模式

ip link set eth0 promisc on

这个 eth0 就是N1的物理网卡名称,可以用 ifconfig命令或者ip a查看自己的。

1.2 创建macvlan

docker network create -d macvlan --subnet=192.168.68.0/24 --gateway=192.168.68.1 -o parent=eth0 adnet

  • 192.168.68.0是路由器的网段,自己是多少就写多少,列如:192.168.1.0/24
  • 192.168.68.1就是网关,一般就是路由器的ip地址
  • adnet创建的网络的名字
    到这里网络就好了,docker创建容器的时候,用这个新建的网络就行。
    若是有IPV6网络,在创建时要加上 ipv6,参考Docker设置IPV6地址 – 简书进行创建。
    注意:1个物理网卡一般只能创建一个macvlan,要想创建多个,就要先对物理网卡做Vlan,然后对Vlan网卡做macvlan。

2. 安装AdGuard Home并使用

2.1 docker安装AdGuard Home

docker run -d --name adguardhome --hostname=adguardhome --restart=always --network adnet --ip 192.168.68.110 --mac-address 20:80:3f:60:ab:70 -v /opt/soft/adguardhome/work:/opt/adguardhome/work -v  /opt/soft/adguardhome/conf/:/opt/adguardhome/conf adguard/adguardhome
# 即便开启了ipv6,也是这么弄,不用写ipv6,容器会自动获取的。

使用了新建的网络,并指定了IP。

2.2 AdGuard Home设置

主要是3个方面:设置中的常规设置DNS设置以及过滤器中的DNS黑名单

1. 常规设置

仪表盘数据来源。主要是日志设置和统计设置,这些都是要占内存的。路由器硬件配置好的,可以设置30天、90天,配置一般的设置7天就行了,7天数据仪表盘看着也行。

2. DNS设置

这个就比较重大了,直接影响你电脑联网的延迟响应时间。
上游 DNS 服务器
家用的话,填几个国内有代表性的DNS服务商就行。(若有SmartDns,就填你SmartDns地址就行了)

  • 宽带服务商的DNS服务IP,这个我这是延迟最小的。一般有主从2个,若开启了IPV6,IPV6对应的那2个也填进来。
  • 阿里的DNS
  • 百度的DNS
  • 腾讯的DNS
  • 114DNS
    我的:

    Docker安装AdGuard Home,接入路由器,过滤局域网广告

223.6.6.6
https://doh.pub/dns-query
https://doh-pure.onedns.net/dns-query
208.67.222.222
202.99.166.4
123.123.123.123
114.114.114.114
223.5.5.5
tls://dns.alidns.com
https://223.6.6.6/dns-query
119.29.29.29
180.76.76.76
https://doh.360.cn
202.99.160.68
1.2.4.8
114.215.126.16
198.153.192.50
8.8.8.8
1.1.1.1
https://chrome.cloudflare-dns.com/dns-query
123.125.81.6
2408:8888::8
2408:8899::8
2400:3200::1
2001:4860:4860::8888
2606:4700:4700::1111
2620:fe::fe
2620:0:ccc::2

自己那能ping通哪个,选延迟小的填就行
Bootstrap DNS 服务器
填2、3个就行,宽带服务商的、阿里的、114的。还是选自己那延迟低的。
页面其他
DNS 服务配置和缓存默认就行。其中EDNS那可以勾上,这个没感觉有什么不同。
禁用IPV6解析 看自己需求要不要勾,如果做bt下载,最好别勾选,看自己思考了。

Docker安装AdGuard Home,接入路由器,过滤局域网广告

3. DNS黑名单

自带有2个,应该是适用国外的。可以在添加黑名单中,从列表中选择 中国区域的。

  • CHN: AdRules DNS List
  • CHN: anti-AD
    还可以添加其他的,效果也挺好。
  • AWAvenue 秋风广告规则
  • 217heidai

所有规则都是其他大神维护的,可能会失效,如果失效了,记得自己找新的。

2.3 主路由设置DNS为AdGuard Home

第一你要知道AdGuard Home的地址是多少。AdGuard Home设置指导页面中能看到。
在路由器的 DHCP服务中设置DNS指向AdGuard Home。

Docker安装AdGuard Home,接入路由器,过滤局域网广告

还填了另一个,必选AdGuard Home连不上时上不了网。

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
竹抑筏的头像 - 宋马
评论 抢沙发

请登录后发表评论

    暂无评论内容