n1-openwrt docker下安装 国内国外 双adguardhome的教程

发布时间:2021年08月26日 阅读:1011 次


1. 如果以前装过docker版的adg,先删除原有容器和相关配置,具体命令如下(以N1为例,贝壳云把 mmcblk1p3 换成 mmcblk0p4 即可):

  1. docker stop adguardhome

  2. docker rm adguardhome

  3. rm -rf /mnt/mmcblk1p3/adguardhome/confdir/*

  4. rm -rf /mnt/mmcblk1p3/adguardhome/workdir/*

  5. # 抓取最新版镜像(需要全局模式)(可选)

  6. docker pull adguard/adguardhome:arm64-latest

  7. # 清理镜像垃圾(可选)

  8. docker image prune -f

  9. # 启动容器(用hostnet)

  10. docker run --name adguardhome \

  11.         -v /mnt/mmcblk1p3/adguardhome/workdir:/opt/adguardhome/work \

  12.         -v /mnt/mmcblk1p3/adguardhome/confdir:/opt/adguardhome/conf \

  13.         --restart always \

  14.         --net host \

  15.         -d adguard/adguardhome:arm64-latest

  16.  

复制代码

2. 如果是第一次安装docker版adguardhome的,具体命令如下(以N1为例,贝壳云把 mmcblk1p3 换成 mmcblk0p4 即可):

  1. # 抓取镜像(需要全局模式)

  2. docker pull adguard/adguardhome:arm64-latest

  3. mkdir -p /mnt/mmcblk1p3/adguardhome/confdir

  4. mkdir -p /mnt/mmcblk1p3/adguardhome/workdir

  5. # 启动容器(用hostnet)

  6. docker run --name adguardhome \

  7.         -v /mnt/mmcblk1p3/adguardhome/workdir:/opt/adguardhome/work \

  8.         -v /mnt/mmcblk1p3/adguardhome/confdir:/opt/adguardhome/conf \

  9.         --restart always \

  10.         --net host \

  11.         -d adguard/adguardhome:arm64-latest

复制代码

之后进入 http://路由器ip:3000/ 初始化设置,设置时需要改两个端口:80(我改成1080),53(我改成1053)初始化完成后,用1080端口即可进入主界面

3. 把adg服务端口(1053)设置为dnsmasq的上游,具体方法:
打开openwrt的"网络“->"DHCP/DNS", "DNS转发"设为  127.0.0.1#1053

4. 双Adg容器用法:adg主要用于国内网站的去广告,至于国外网站, 梯 子软件一般是用pdnsd或基于5335端口的dns,总之,国内dns和国外dns是两套体系,最好不要混在一起(比如,再建一个adg容器专门用于国外dns处理,这样也是可行的)

  1. # 第1个(国内) 80改成1080,53改成1053

  2. mkdir -p /mnt/mmcblk1p3/adguardhome/confdir

  3. mkdir -p /mnt/mmcblk1p3/adguardhome/workdir

  4. # 启动容器(用hostnet)

  5. docker run --name adguardhome \

  6.         -v /mnt/mmcblk1p3/adguardhome/workdir:/opt/adguardhome/work \

  7.         -v /mnt/mmcblk1p3/adguardhome/confdir:/opt/adguardhome/conf \

  8.         --restart always \

  9.         --net host \

  10.         -d adguard/adguardhome:arm64-latest

  11. # 注:此adg的上游dns设成国内比较快的dns, 然后修改dnsmasq的上游dns为 127.0.0.1#1053

  12. #先配置好第1个,再运行第2个,否则3000端口会冲突

  13.  

  14. # 第2个(国外) 80改成1081,53改成5335(需要提前关闭占用5335端口的程序)

  15. mkdir -p /mnt/mmcblk1p3/adguardhome/confdir_gfw

  16. mkdir -p /mnt/mmcblk1p3/adguardhome/workdir_gfw

  17. # 启动容器(用hostnet)

  18. docker run --name adguardhome_gfw \

  19.         -v /mnt/mmcblk1p3/adguardhome/workdir_gfw:/opt/adguardhome/work \

  20.         -v /mnt/mmcblk1p3/adguardhome/confdir_gfw:/opt/adguardhome/conf \

  21.         --restart always \

  22.         --net host \

  23.         -d adguard/adguardhome:arm64-latest

  24. #注:此adg的上游dns设成  tcp://国外知名dns

  25.  

复制代码




5. 比较复杂的用法:另外,如果自己有vps的话,在vps上建一套adg也可以,当然同时也需要开启 dns over https或dns over tls ,并结合openwrt上的smartdns, 这种方案就比较高级了)
高级用法拓扑示例(必须拥有自己的vps):
dnsmasq-> adghome(1053)  (专门处理国内dns,上游dns不要设8888之类的)
梯 子软件 -> smartdns(5335) ---- 用https或tls协议  ---> adghome(在自己的vps上装, 同样采用docker方式,并开启dns加密)(专门处理国外dns, 用caddy申请ssl证书,证书给  caddy、trojan和adg共用)



Tag:
相关文章
发表评论

发表评论:取消回复