添加旁路由部署文档、赛里木湖旅行计划、CLAUDE.md 维护说明

This commit is contained in:
2026-06-04 10:15:34 +08:00
parent 0d10b42166
commit cec4050359
5 changed files with 212 additions and 1 deletions
+142
View File
@@ -0,0 +1,142 @@
# 旁路由 + 去广告 部署文档
> 部署日期:2026-06-02 | 服务器:香港 VPS | 旁路由:Ubuntu 24.04
## 架构总览
```
香港 VPS 本机 - 旁路由
┌──────────────────────┐ ┌──────────────────────────────┐
│ sing-box 服务端 │ VLESS │ sing-box 客户端 │
│ VLESS + Reality │←────────│ ├─ SOCKS5 :7890 → 本机+LAN翻墙│
│ 伪装 microsoft.com │ Reality │ ├─ TProxy :7895 → 透明代理 │
│ 端口: 8443 │ │ └─ 规则: 内网直连/其余走代理 │
└──────────────────────┘ │ │
│ AdGuard Home (Docker) │
│ ├─ DNS :53 → 全屋去广告 │
│ ├─ Web :8080 → 管理面板 │
│ └─ 45万条过滤规则 │
└──────────────────────────────┘
```
## 关键配置
### 1. 本机网络
- **IP**: 静态 IP(通过 NetworkManager 设置)
- **连接名**: `有线连接 1`
- **网关**: `192.168.31.1`(小米路由器 Redmi RM2100
- **IP 转发**: 已开启 (`net.ipv4.ip_forward=1`)
### 2. 端口清单
| 端口 | 服务 | 用途 |
|------|------|------|
| 7890 | sing-box mixed | SOCKS5/HTTP 代理(翻墙) |
| 7895 | sing-box tproxy | 透明代理(TProxy,回包有问题暂未用)|
| 53 | AdGuard Home | DNS(去广告) |
| 8080 | AdGuard Home | Web 管理面板 |
| 8443 | HK VPS | VLESS+Reality 服务端 |
### 3. 服务管理
```bash
# 本机
sudo systemctl restart sing-box # 重启翻墙客户端
docker restart adguardhome # 重启去广告
sudo journalctl -u sing-box -f # 查看翻墙日志
docker logs adguardhome -f # 查看去广告日志
# 香港 VPS
ssh -i ~/.ssh/hk_vps -p <SSH端口> root@<VPS IP>
systemctl restart sing-box
```
### 4. 配置文件路径
| 文件 | 说明 |
|------|------|
| `/etc/sing-box/config.json` | sing-box 客户端配置 |
| `/opt/adguard/conf/AdGuardHome.yaml` | AdGuard Home 配置 |
| `/opt/adguard/work/data/filters/` | 过滤规则文件 |
| `/etc/iptables/rules.v4` | iptables 持久化规则 |
| `/etc/systemd/system/sing-box.service` | sing-box systemd 服务 |
| `/etc/systemd/system/tproxy-route.service` | TProxy 路由(fwmark|
### 5. 广告过滤规则
当前 45 万条规则,来源:
1. AdGuard DNS filter (16万)
2. AdAway Default Blocklist (6500)
3. Malicious URL Blocklist (1.7万)
4. Peter Lowe's Blocklist (8.1万)
5. AdRules DNS Filter 中国广告 (18.5万)
自定义拦截:`wwads.cn`, `tanx.com`, `sdkclick.qq.com`, `byteimg.com`, `bytecdn.com`, `snssdk.com`, `toutiao.com`
## 各设备配置
### 本机 (Ubuntu)
- 系统代理: SOCKS5 `127.0.0.1:7890`GNOME 已配)
- DNS: 自动(走 AdGuard `127.0.0.1:53`
### Windows
- DNS: 手动设为旁路由 IP(去广告)
- 备用 DNS: `223.5.5.5`
- 翻墙: 系统代理 SOCKS5 `旁路由IP:7890`(需要时开)
- 关掉浏览器 DNS over HTTPSChrome/Edge 设置)
### 手机 - 在家(连 WiFi
- DNS: 设为旁路由 IP(去广告)
- 翻墙: WiFi 设置 → 代理 → 手动 → `旁路由IP:7890`
### 手机 - 出门(4G/5G
- App: Shadowrocket / Hiddify Next
- 协议: VLESS Reality,直连 HK VPS
- 配置参数与 VPS 一致
## 网络背景
- **路由器**: 小米 Redmi RM2100,固件 2.0.23
- **上游**: 电信大内网,光猫 `192.168.1.1` 由运营商管控
- **DNS 劫持**: 运营商强制接管 53 端口,所以路由器改 WAN DNS 无效
- **解决**: 各设备 DNS 手动设为旁路由 IP,绕过运营商劫持
- **AP 隔离**: 路由器重启后消失,设备互访正常
## 已知问题
1. **TProxy 透明代理不通**: 回包路径有问题,和 Docker 网络冲突。目前用 SOCKS5 代理替代,效果一样。
2. **路由器 DNS 劫持**: 小米路由器 + 电信大内网劫持所有 53 端口。Windows DNS 设成旁路由 IP 可以绕过。
3. **sing-box 配置用了废弃字段**: DNS 和 inbound 格式使用了 legacy 格式,需要环境变量 `ENABLE_DEPRECATED_LEGACY_DNS_SERVERS=true` 兼容,sing-box 1.14 之前需要迁移到新格式。
4. **AdGuard UDP 在 Docker bridge 模式下有问题**: 容器内 UDP 监听 `[::]:53`IPv6 dual-stack)导致本地回环 UDP DNS 偶尔超时。解决方法是 `--net host` 模式。
## 重启后恢复
```bash
# 大部分自动恢复。如果翻墙或去广告挂了,依次检查:
sudo systemctl status sing-box # 翻墙
docker ps | grep adguardhome # 去广告
ssh -i ~/.ssh/hk_vps -p <SSH端口> root@<VPS IP> 'systemctl status sing-box' # HK VPS
```
## 添加新的广告域名到拦截列表
```bash
sudo python3 << 'PYEOF'
import yaml
with open('/opt/adguard/conf/AdGuardHome.yaml') as f:
cfg = yaml.safe_load(f)
cfg['user_rules'].append('||新域名.com^')
with open('/opt/adguard/conf/AdGuardHome.yaml', 'w') as f:
yaml.dump(cfg, f, default_flow_style=False)
PYEOF
docker restart adguardhome
```