前言

此教程适用于家里有台闲置的、可以长期开机的软路由或支持安装docker的系统使用,目前主流的教程都是bridge端口映射,但这种网络模式局限性非常大(需占用53、67…………等一系列重要的端口),所以才有现在这篇教程

安装docker

如果选择1panel来管理容器则不需要这一步(推荐)

国际

1
2
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh

国内(这里以清华源为例)

1
2
3
4
5
export DOWNLOAD_URL="https://mirrors.tuna.tsinghua.edu.cn/docker-ce"
# 如您使用 curl
curl -fsSL https://get.docker.com/ | sh
# 如您使用 wget
wget -O- https://get.docker.com/ | sh

检查是否安装成功

1
docker version

安装docker-compose

如果选择1panel来管理容器则不需要这一步(推荐)

1
curl -L "https://github.com/docker/compose/releases/download/v2.29.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
1
chmod +x /usr/local/bin/docker-compose
1
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

检查是否安装成功

1
docker-compose version

安装1panel(推荐)

在线安装 - 1Panel 文档

更换docker镜像源

配置 - 1Panel 文档

这里推荐https://docker.1panel.live

创建网络配置

登录1panel——容器——网络——创建网络
名称自定,网络模式选macvlan
剩下配置按你家实际网络环境填

创建容器

名称:adguardhome
镜像(手动输入):adguard/adguardhome
端口:暴露所有
网络:选择刚才创建的macvlan网络时填的名字
ipv4:你家的局域网空闲的IP,这里我填了192.168.3.254
挂载:

https://github.hqycloud.top/https://raw.githubusercontent.com/hqycloud/blog-images/main/hexo-images/24/8/image_893d93e970aac846f0f658d603657bbc.png
/opt/adguardhome/conf /opt/adguardhome/work

没提到的不要填

填完后点确认,等待1panel响应后访问容器IP:3000即可进入安装页

排障

容器启动后仍然无法访问
打开网卡混杂模式

1
ip link set <主网卡名称> promisc on

如果还是不行

可以建一个使用相同网络的容器(奇奇怪怪的bug用奇奇怪怪的方法解决😓 )

https://github.hqycloud.top/https://raw.githubusercontent.com/hqycloud/blog-images/main/hexo-images/24/8/image_9c7bdd7ab8df7f28d650105291a45283.png

这个容器不需要跑任何东西,让它保持开着就行,所以1panel创建该容器时可以选alpine容器Entrypoint项里填

1
'sleep' 'infinity'

推荐的上游DNS

https://dns.alidns.com/dns-query
https://cloudflare-dns.com/dns-query

  • 不要使用无任何加密的dns,例如直接使用8.8.8.8(中国大陆会搞DNS劫持,例如运营商DNS解析raw.githubusercontent.com就会返回0.0.0.0😓 )