惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Hugging Face - Blog
Hugging Face - Blog
The Register - Security
The Register - Security
S
Secure Thoughts
有赞技术团队
有赞技术团队
Hacker News - Newest:
Hacker News - Newest: "LLM"
月光博客
月光博客
Engineering at Meta
Engineering at Meta
www.infosecurity-magazine.com
www.infosecurity-magazine.com
WordPress大学
WordPress大学
N
News | PayPal Newsroom
F
Fortinet All Blogs
Forbes - Security
Forbes - Security
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Y
Y Combinator Blog
L
LINUX DO - 最新话题
Google Online Security Blog
Google Online Security Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
阮一峰的网络日志
阮一峰的网络日志
Application and Cybersecurity Blog
Application and Cybersecurity Blog
V2EX - 技术
V2EX - 技术
H
Heimdal Security Blog
G
Google Developers Blog
Vercel News
Vercel News
Martin Fowler
Martin Fowler
TaoSecurity Blog
TaoSecurity Blog
腾讯CDC
Cyberwarzone
Cyberwarzone
罗磊的独立博客
S
Securelist
T
Tor Project blog
Recorded Future
Recorded Future
小众软件
小众软件
Attack and Defense Labs
Attack and Defense Labs
L
LINUX DO - 热门话题
The Cloudflare Blog
爱范儿
爱范儿
S
Security @ Cisco Blogs
雷峰网
雷峰网
Schneier on Security
Schneier on Security
T
The Blog of Author Tim Ferriss
Google DeepMind News
Google DeepMind News
S
Schneier on Security
大猫的无限游戏
大猫的无限游戏
Recent Announcements
Recent Announcements
Blog — PlanetScale
Blog — PlanetScale
D
Docker
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
酷 壳 – CoolShell
酷 壳 – CoolShell
Latest news
Latest news
M
MIT News - Artificial intelligence

WAYJAM

告别 NPM Token:迁移到 Trusted Publishing 全记录 Sing-box:IPv6 优先出站与 Netflix 强制 IPv6 分流 [All In One] HomeLab 虚拟化 iKuai + Mihomo - IPv6 支持 [All In One] HomeLab 虚拟化 iKuai + Mihomo LiteLLM 多模型 API 中转 MacOS Bootstrp with Nix Fluency Support Full Rss [All In One] PVE 中 OpenWrt LXC 重启问题 Tabby 终端配置以及配置全平台同步 Cloudflare Tunnel + Nginx Proxy Manager:服务穿透 PVE 7 升级 8 笔记 PVE 安装 Android x86 & 安装 Magisk Fly.io 部署 Artalk 评论系统 [All In One] HomeLab 2023 搭建总结 [All In One] 轻量的文件 & 媒体服务器配置 [All In One] R71s 主机散热改造 [All In One] PVE LXC 安装 OpenWrt 软路由以及网络规划 [All In One] 安装 Proxmox VE 7.4 从零开始配置Rime - 2023 Self Hosted Bitwarden + Cloudfare HTTPS Debian NFS Server 以及 MacOS Client 使用 Kind 部署 Prow 手记 BackBlaze B2 + Cloudfare Worker 图床 PicGo Amazon S3 插件 自动给模板生成 Inline-Svg Hugo Theme WeUI 发布! Hugo Theme Fluency 发布! Docker Clash 和 透明代理 有限状态机与分布式熔断器 「家庭娱乐」N1刷 EmuELEC 做游戏盒子 「家庭娱乐」N1刷 Armbian 做家庭服务器 分布式限流器之令牌桶实现 Kustomize 管理 Kubernetes 集群 Mixedpaper 主题发布到 Hugo 官方仓库 About 优化 Docker 构建时间 解决 etcd 与 grpc 不兼容问题 Kubernetes 部署 ElasticSearch7 集群 从零开始配置Rime - 2019 转移域名,更换评论系统,更换图床 搭建 NPM Proxy 之预编译包 搭建 NPM Proxy 美区Apple ID终于绑定PayPal成功 无可奈何的页面增强方案 LogStash的调试 GitLab Shell如何通过SSH工作 Python打开类 荒原 [Theme] Bitcron主题Mixedpaper发布! Ngrok端口转发 故事之五 - 柠檬茶 故事之四 - 我是天才 故事之一 Arch滚挂了怎么办? OpenWrt内网IPv6之二 某次更新后Primusrun不能启动Dota2 OpenWrt的DNS智能解析方案 替换Google CDN库 使用Privoxy将socks代理转化为http代理 ArchLinux之软件篇 再次安装ArchLinux手记 博客再次重生 搞了个Minecraft服务器 【LnV工作室荣誉出品】小苹果MV华农大版 雨梦 醉臥石中笑人間 路由器内网IPV6地址分配 OPENWRT安装软件的两个问题 路由器上进行锐捷认证 改了BIOS的LOGO Windows下搭建我的C/C++的开发环境 Linux下用Mentohust认证校园网 Archlinux+Windows 双系统安装手记(UEFI+GPT) Google-code-prettify代码高亮 《末世迷踪》 Hello Net World!
AdguardHome 和 Clash 透明代理配合使用
2021-04-17 · via WAYJAM

image-20210417112325830

配置

我的方案如上图是 Adguard 作为 Clash 的上游 DNS。然后将路由的 DHCP 配置的 DNS 服务器改为 Clash 的 DNS 地址即可。

首先启动 Adguard:

docker run -d \
--name adguard \
--restart unless-stopped \
--log-opt max-size=1m \
-v /root/adguard/work:/opt/adguardhome/work \
-v /root/adguard/conf:/opt/adguardhome/conf \
-p 5656:53/tcp \
-p 5656:53/udp \
-p 3000:3000 \
-p 3001:80 \
adguard/adguardhome

然后 Clash 配置入口 DNS 为 5353 端口,然后设置 nameserver 上游 DNS 为 Adguard 地址。

dns:
  enable: true
  listen: "0.0.0.0:5353"
  ipv6: false
  nameserver:
    - "127.0.0.1:5656"

然后使用 iptables 将 53 端口流量转发到实际的 5353 端口:

iptables -t nat -I PREROUTING -p udp --dport 53 -j REDIRECT --to 5353

部分发行版 53 端口可能已被 systemd-resolved 占用,先改掉:

vi /etc/systemd/resolved.conf

DNSStubListener=no  #取消注释,把yes改为no

问题

但是发现 Clash 的 DNS 查询全部超时失败了,直接使用 AdguardHome 的 DNS 查询也超时。排查日志发现:

  1. Clash 代理流量需要连接代理服务器,我的代理服务器配置的是域名,然后 DNS 查询这个代理服务器的域名失败了
  2. AdguardHome 连接 DOT/DOH DNS 查询时连接失败

想了很久没有想出原因,后来尝试进入 AdguardHome 容器使用 nc 连接 IP 调试:

nc 1.2.3.4 80

# 然后在 clash 日志则出现连接日志
time="2020-11-01T05:59:39Z" level=info msg="[TCP] 172.17.0.3:38804 --> 1.2.3.4 match GeoIP(CN) using Domestic[DIRECT]"

由于我这台旁路由配置了透明代理(详细见Docker Clash 和 透明代理),使用iptables 规则接管了全部网络流量,导致 AdguardHome 容器也走了代理流量,但 Clash 代理服务器的域名解析又依赖 AdguardHome DNS才能初始化代理。解决方案是:

iptables -t nat -I PREROUTING -p udp --dport 53 -d 192.168.0.0/16 ! -i docker0 -j REDIRECT --to 5353 # 只有局域网流量以及非 docker0 网卡的流量才重定向 53 端口

# 流量转发排除 docker0 网卡,即旁路由的所有 docker 容器都不再经过 clash
iptables -t nat -A PREROUTING -p tcp ! -i docker0 -j CLASH
iptables -t mangle -A PREROUTING -p udp ! -i docker0 -j CLASH
iptables -t nat -I CLASH -i docker0 -j RETURN
iptables -t mangle -I CLASH -i docker0 -j RETURN

使用效果

当然只用 Clash 也可以做到去污染、去广告等效果,但配置比 Adguard 麻烦且应用配置需重启服务。以下是 Adguard 使用效果。

image-20210417110255625