From fef11d3b95065cf30ea5be3e6a4df470d67b1c09 Mon Sep 17 00:00:00 2001 From: Yaojia Wang Date: Sun, 15 Mar 2026 17:43:57 +0100 Subject: [PATCH] =?UTF-8?q?vault:=20add=20VLESS-Reality=20=E7=BF=BB?= =?UTF-8?q?=E5=A2=99=E5=9B=9E=E5=9B=BD=20project=20with=20setup=20guides?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .obsidian/community-plugins.json | 3 +- .obsidian/plugins/calendar/data.json | 10 + .../VLESS-REALITY-Client-macOS.md | 302 ++++++++++++++++++ .../VLESS-REALITY-Router-iStoreOS.md | 218 +++++++++++++ .../VLESS-REALITY-Setup-Guide.md | 203 ++++++++++++ .../VLESS-Reality/VLESS-Reality 翻墙回国.md | 60 ++++ 6 files changed, 795 insertions(+), 1 deletion(-) create mode 100644 .obsidian/plugins/calendar/data.json create mode 100644 2 - Projects/VLESS-Reality/VLESS-REALITY-Client-macOS.md create mode 100644 2 - Projects/VLESS-Reality/VLESS-REALITY-Router-iStoreOS.md create mode 100644 2 - Projects/VLESS-Reality/VLESS-REALITY-Setup-Guide.md create mode 100644 2 - Projects/VLESS-Reality/VLESS-Reality 翻墙回国.md diff --git a/.obsidian/community-plugins.json b/.obsidian/community-plugins.json index 13ed932..7de20eb 100644 --- a/.obsidian/community-plugins.json +++ b/.obsidian/community-plugins.json @@ -1,3 +1,4 @@ [ - "obsidian-checklist-plugin" + "obsidian-checklist-plugin", + "calendar" ] \ No newline at end of file diff --git a/.obsidian/plugins/calendar/data.json b/.obsidian/plugins/calendar/data.json new file mode 100644 index 0000000..b03e21d --- /dev/null +++ b/.obsidian/plugins/calendar/data.json @@ -0,0 +1,10 @@ +{ + "shouldConfirmBeforeCreate": true, + "weekStart": "locale", + "wordsPerDot": 250, + "showWeeklyNote": false, + "weeklyNoteFormat": "", + "weeklyNoteTemplate": "", + "weeklyNoteFolder": "", + "localeOverride": "system-default" +} \ No newline at end of file diff --git a/2 - Projects/VLESS-Reality/VLESS-REALITY-Client-macOS.md b/2 - Projects/VLESS-Reality/VLESS-REALITY-Client-macOS.md new file mode 100644 index 0000000..af94f51 --- /dev/null +++ b/2 - Projects/VLESS-Reality/VLESS-REALITY-Client-macOS.md @@ -0,0 +1,302 @@ +# VLESS + REALITY macOS 客户端连接指南(翻墙回国) + +> 服务器:`8.138.1.192`(阿里云国内) | 部署日期:2026-03-14 +> 用途:从海外通过国内代理访问国内资源(B站、抖音、淘宝等) + +--- + +## 0. 两种使用方式 + +| 方式 | 说明 | 适合场景 | +|------|------|---------| +| **方式 A:旁路由代理(推荐)** | Mac 网关指向旁路由,无需装客户端 | 在家,旁路由运行中 | +| **方式 B:ClashX Meta 客户端** | Mac 上独立运行代理 | 外出,不在家 | + +### 方式 A:旁路由代理 + +系统设置 → Wi-Fi → 详细信息 → TCP/IP → 手动: +- IP 地址:保持当前 +- 子网掩码:`255.255.252.0` +- 路由器:`192.168.68.63` +- DNS 标签页:`192.168.68.63` + +设置后无需装任何客户端,旁路由的 OpenClash 自动处理代理。详见 [旁路由文档](./VLESS-REALITY-Router-iStoreOS.md)。 + +### 方式 B:ClashX Meta 客户端(以下章节) + +--- + +## 1. 客户端选择 + +ClashX Pro **不支持** VLESS + REALITY,需使用基于 mihomo 内核的客户端: + +| 客户端 | 说明 | 下载 | +|--------|------|------| +| **ClashX.Meta**(推荐) | 界面与 ClashX Pro 一致,切换无感 | https://github.com/MetaCubeX/ClashX.Meta/releases | +| Clash Verge Rev | 跨平台,功能更丰富 | https://github.com/clash-verge-rev/clash-verge-rev/releases | + +### 安装 ClashX.Meta + +1. 从 Releases 页面下载最新的 `.dmg` 文件 +2. 拖入 Applications +3. 首次打开:右键 → 打开(绕过 Gatekeeper) +4. 可卸载 ClashX Pro(两者不冲突,但不要同时运行) + +--- + +## 2. 配置文件 + +配置文件路径:`~/.config/clash.meta/config.yaml`(已自动写入) + +**手动修改方法:** 菜单栏点击 ClashX.Meta 图标 → Config → Open config folder → 编辑 `config.yaml` + +```yaml +# ============================================================ +# VLESS + XTLS-Vision + REALITY(翻墙回国) +# 服务器: 8.138.1.192(阿里云国内) +# 用途: 海外访问国内资源 +# 生成日期: 2026-03-14 +# ============================================================ + +mixed-port: 7890 +allow-lan: false +mode: rule +log-level: warning +unified-delay: true + +dns: + enable: true + listen: 0.0.0.0:53 + enhanced-mode: fake-ip + fake-ip-range: 198.18.0.1/16 + fake-ip-filter: + - "*.lan" + - "*.local" + - "time.*.com" + - "ntp.*.com" + default-nameserver: + - 8.8.8.8 + - 1.1.1.1 + nameserver: + - https://dns.google/dns-query + - https://cloudflare-dns.com/dns-query + fallback: + - https://dns.alidns.com/dns-query + - https://doh.pub/dns-query + fallback-filter: + geoip: true + geoip-code: CN + +proxies: + - name: "CN-Proxy" + type: vless + server: 8.138.1.192 + port: 443 + uuid: 04a7cfe3-10f6-4e38-8319-22a604e24018 + network: tcp + udp: true + tls: true + flow: xtls-rprx-vision + servername: www.microsoft.com + reality-opts: + public-key: RTO_UOk5ncr3DAAYR08g08L0fo5ax9pmGFj8c8lXWgk + short-id: "" + client-fingerprint: chrome + +proxy-groups: + - name: "Proxy" + type: select + proxies: + - CN-Proxy + - DIRECT + +rules: + # 私有网络直连 + - IP-CIDR,127.0.0.0/8,DIRECT + - IP-CIDR,10.0.0.0/8,DIRECT + - IP-CIDR,172.16.0.0/12,DIRECT + - IP-CIDR,192.168.0.0/16,DIRECT + + # 国内视频/流媒体 → 走代理回国 + - DOMAIN-SUFFIX,bilibili.com,Proxy + - DOMAIN-SUFFIX,bilivideo.com,Proxy + - DOMAIN-SUFFIX,bilivideo.cn,Proxy + - DOMAIN-SUFFIX,biliapi.net,Proxy + - DOMAIN-SUFFIX,hdslb.com,Proxy + - DOMAIN-SUFFIX,acgvideo.com,Proxy + - DOMAIN-SUFFIX,iqiyi.com,Proxy + - DOMAIN-SUFFIX,iqiyipic.com,Proxy + - DOMAIN-SUFFIX,youku.com,Proxy + - DOMAIN-SUFFIX,mgtv.com,Proxy + - DOMAIN-SUFFIX,sohu.com,Proxy + - DOMAIN-SUFFIX,qq.com,Proxy + - DOMAIN-SUFFIX,gtimg.cn,Proxy + - DOMAIN-SUFFIX,music.163.com,Proxy + - DOMAIN-SUFFIX,163yun.com,Proxy + - DOMAIN-SUFFIX,126.net,Proxy + - DOMAIN-SUFFIX,netease.com,Proxy + - DOMAIN-SUFFIX,kugou.com,Proxy + - DOMAIN-SUFFIX,kuwo.cn,Proxy + - DOMAIN-SUFFIX,douyin.com,Proxy + - DOMAIN-SUFFIX,douyinpic.com,Proxy + - DOMAIN-SUFFIX,douyincdn.com,Proxy + - DOMAIN-SUFFIX,douyinstatic.com,Proxy + - DOMAIN-SUFFIX,snssdk.com,Proxy + - DOMAIN-SUFFIX,amemv.com,Proxy + - DOMAIN-SUFFIX,ixigua.com,Proxy + - DOMAIN-SUFFIX,pstatp.com,Proxy + - DOMAIN-SUFFIX,bytedance.com,Proxy + - DOMAIN-SUFFIX,byteimg.com,Proxy + - DOMAIN-SUFFIX,xiaohongshu.com,Proxy + - DOMAIN-SUFFIX,xhscdn.com,Proxy + - DOMAIN-SUFFIX,xhslink.com,Proxy + + # 国内常用服务 → 走代理回国 + - DOMAIN-SUFFIX,taobao.com,Proxy + - DOMAIN-SUFFIX,tmall.com,Proxy + - DOMAIN-SUFFIX,alicdn.com,Proxy + - DOMAIN-SUFFIX,alipay.com,Proxy + - DOMAIN-SUFFIX,alipayobjects.com,Proxy + - DOMAIN-SUFFIX,alibaba.com,Proxy + - DOMAIN-SUFFIX,1688.com,Proxy + - DOMAIN-SUFFIX,jd.com,Proxy + - DOMAIN-SUFFIX,360buyimg.com,Proxy + - DOMAIN-SUFFIX,pinduoduo.com,Proxy + - DOMAIN-SUFFIX,yangkeduo.com,Proxy + - DOMAIN-SUFFIX,weibo.com,Proxy + - DOMAIN-SUFFIX,weibo.cn,Proxy + - DOMAIN-SUFFIX,sinaimg.cn,Proxy + - DOMAIN-SUFFIX,zhihu.com,Proxy + - DOMAIN-SUFFIX,zhimg.com,Proxy + - DOMAIN-SUFFIX,baidu.com,Proxy + - DOMAIN-SUFFIX,bdstatic.com,Proxy + - DOMAIN-SUFFIX,bdimg.com,Proxy + - DOMAIN-SUFFIX,douban.com,Proxy + - DOMAIN-SUFFIX,doubanio.com,Proxy + - DOMAIN-SUFFIX,wechat.com,Proxy + - DOMAIN-SUFFIX,weixin.qq.com,Proxy + - DOMAIN-SUFFIX,meituan.com,Proxy + - DOMAIN-SUFFIX,dianping.com,Proxy + - DOMAIN-SUFFIX,ctrip.com,Proxy + - DOMAIN-SUFFIX,eleme.cn,Proxy + + # 国内银行/支付 → 走代理回国 + - DOMAIN-SUFFIX,icbc.com.cn,Proxy + - DOMAIN-SUFFIX,ccb.com,Proxy + - DOMAIN-SUFFIX,boc.cn,Proxy + - DOMAIN-SUFFIX,abchina.com,Proxy + - DOMAIN-SUFFIX,cmbchina.com,Proxy + - DOMAIN-SUFFIX,unionpay.com,Proxy + + # 国内 GeoIP → 走代理回国 + - GEOSITE,cn,Proxy + - GEOIP,CN,Proxy + + # 其他流量直连(海外网站本地直接访问) + - MATCH,DIRECT +``` + +--- + +## 3. 使用步骤 + +### 3.1 导入配置 + +1. 点击菜单栏 ClashX.Meta 图标 +2. **Config** → **Open config folder** +3. 将上面的 `config.yaml` 复制到打开的目录中 +4. 回到菜单 → **Config** → 选择刚才的配置文件 +5. 点击 **Set as system proxy** 开启系统代理 + +### 3.2 验证连接 + +打开终端,运行: + +```bash +# 测试代理是否回国(ClashX Meta 实际端口为 7891) +curl -x http://127.0.0.1:7891 http://cip.cc +``` + +预期输出 IP 为 `8.138.1.192`(阿里云广州),说明国内流量在走代理。 + +也可以直接打开浏览器访问 https://v.qq.com 或 https://bilibili.com 验证。 + +> **注意:** 如果网站显示地区限制,用无痕窗口(`Command + Shift + N`)重试,清除缓存。 + +### 3.3 切换模式 + +菜单栏点击 ClashX.Meta 图标,可切换: + +| 模式 | 说明 | +|------|------| +| **Rule** | 按规则分流(推荐日常使用) | +| **Global** | 所有流量走代理 | +| **Direct** | 所有流量直连(关闭代理) | + +--- + +## 4. 分流规则说明 + +当前配置采用**翻墙回国**策略(国内走代理、海外直连): + +| 流量类型 | 走向 | 说明 | +|----------|------|------| +| B站/抖音/爱奇艺/优酷/腾讯视频 | Proxy(回国) | 解除海外地区限制 | +| 网易云音乐/QQ音乐/酷狗 | Proxy(回国) | 解除版权地区限制 | +| 淘宝/京东/拼多多/美团 | Proxy(回国) | 正常访问国内电商 | +| 微博/知乎/百度/豆瓣/小红书 | Proxy(回国) | 正常访问国内社交平台 | +| 支付宝/微信/国内银行 | Proxy(回国) | 正常使用支付和银行 | +| 所有 GEOIP:CN 的 IP | Proxy(回国) | 兜底匹配国内流量 | +| Google/YouTube 等海外网站 | DIRECT(直连) | 本地直接访问,无需代理 | + +如需修改,编辑 `~/.config/clash.meta/config.yaml` 的 `rules` 部分。 + +--- + +## 5. 常见问题 + +### Q: 连不上代理? + +1. 确认 ClashX.Meta 已开启(菜单栏有图标) +2. 确认选择了正确的配置文件 +3. 确认 "Set as system proxy" 已勾选 +4. 检查 Dashboard(菜单 → Dashboard)中节点是否显示延迟 + +### Q: 网速慢? + +- 菜单 → Dashboard → 点击节点测速 +- 如果延迟 >300ms,可能是服务器线路问题 + +### Q: 海外网站变慢了? + +- 确认使用 **Rule** 模式(不要用 Global) +- Rule 模式下海外流量直连,不受代理影响 + +### Q: 如何与 ClashX Pro 切换? + +- 两个 App 可以共存,但**不要同时运行** +- 退出一个再打开另一个即可 + +### Q: macOS Gatekeeper 提示无法验证? + +```bash +sudo xattr -rd com.apple.quarantine "/Applications/ClashX Meta.app" +``` + +--- + +## 6. 连接参数速查 + +| 参数 | 值 | +|------|-----| +| 协议 | VLESS | +| 地址 | `8.138.1.192` | +| 端口 | `443` | +| UUID | `04a7cfe3-10f6-4e38-8319-22a604e24018` | +| Flow | `xtls-rprx-vision` | +| 安全 | reality | +| SNI | `www.microsoft.com` | +| Public Key | `RTO_UOk5ncr3DAAYR08g08L0fo5ax9pmGFj8c8lXWgk` | +| ShortId | 留空 | +| Fingerprint | `chrome` | +| 本地代理端口 | `7890`(HTTP/SOCKS5 混合) | diff --git a/2 - Projects/VLESS-Reality/VLESS-REALITY-Router-iStoreOS.md b/2 - Projects/VLESS-Reality/VLESS-REALITY-Router-iStoreOS.md new file mode 100644 index 0000000..8997ca6 --- /dev/null +++ b/2 - Projects/VLESS-Reality/VLESS-REALITY-Router-iStoreOS.md @@ -0,0 +1,218 @@ +# iStoreOS 主网关配置文档 + +> 主网关:`192.168.68.63` (iStoreOS 24.10.2, aarch64, EasePi Pro) +> WiFi:Deco BE65(AP 模式) +> 服务器:`8.138.1.192`(阿里云广州) +> 用途:翻墙回国 + 全家广告拦截 + 内网 DNS +> 状态:**已完成,正常工作** (2026-03-15) + +--- + +## 1. 网络拓扑 + +``` +光猫 (拨号, Dynamic IP) + │ + ▼ WAN (eth0, DHCP) +iStoreOS (192.168.68.63) ← 主网关 + ├── dnsmasq (:53) → 内网 DNS + 转发到 OpenClash + ├── OpenClash / mihomo (:7874) → fake-ip + TUN → 翻墙回国 + 广告拦截 + ├── 端口映射 (2200, 443, 51888) + ├── DHCP (网关=.63, DNS=.63) + │ + ▼ LAN (eth1/eth2/eth3) + ├── Deco BE65 (AP) → WiFi → 手机/平板/笔记本 + └── 交换机 (2楼) → PVE + NAS +``` + +### DNS 解析链路 + +``` +设备 → dnsmasq (:53) + ├─ 内网域名 (*.colacoder.com, *.k8s.home) → 直接返回真实 IP + └─ 外部域名 → OpenClash (:7874, fake-ip) + ├─ fake-ip-filter 匹配 → 返回真实 IP + ├─ 广告域名 → REJECT + ├─ 国内域名 → fake-ip → VLESS 代理回国 + └─ 海外域名 → fake-ip → 直连 +``` + +--- + +## 2. OpenClash 配置 + +### LuCI 后台设置 + +| 设置 | 值 | +|------|-----| +| 运行模式 | Fake-IP (TUN) | +| 代理模式 | Rule 策略代理 | +| 区域绕过 | **停用** | +| 域名嗅探 | 启用 | +| DNS 代理 | 停用 | +| 本地 DNS 劫持 | 使用 Dnsmasq 转发 | + +### 覆写设置 → DNS + +| 设置 | 值 | +|------|-----| +| Default-NameServer | `8.8.8.8`, `1.1.1.1` | +| NameServer | `8.8.8.8`, `1.1.1.1` | +| Fallback | `dns.google`, `cloudflare-dns.com` | + +> **重要:** NameServer 必须用海外 DNS,不能用国内 DNS(114、119、223 等), +> 否则会产生 DNS 环路(国内 DNS IP 匹配 GEOIP,CN → 走代理 → 代理需要 DNS → 死循环)。 + +### 配置文件 + +- 源配置:`/etc/openclash/config/vless-reality.yaml` +- 运行配置:`/etc/openclash/vless-reality.yaml`(自动生成,勿手动改) +- API Secret:`Dc7jZkmO` +- Dashboard:http://192.168.68.63:9090 + +### 自定义文件(持久化,不被覆盖) + +| 文件 | 用途 | +|------|------| +| `/etc/openclash/custom/openclash_custom_hosts.list` | 内网 DNS 映射 | +| `/etc/openclash/custom/openclash_custom_fake_filter.list` | fake-ip 排除域名 | + +--- + +## 3. 内网 DNS + +双重保障:dnsmasq 和 OpenClash hosts 都配了内网记录。 + +### dnsmasq 配置 + +文件:`/etc/dnsmasq.d/internal-dns.conf` + +``` +address=/k8s.home/192.168.68.70 +address=/nas.colacoder.com/192.168.68.70 +address=/pve.colacoder.com/192.168.68.70 +address=/npm.colacoder.com/192.168.68.70 +address=/router.colacoder.com/192.168.68.63 +address=/adguard.colacoder.com/192.168.68.63 +address=/claw.colacoder.com/192.168.68.70 +address=/openvas.colacoder.com/192.168.68.70 +address=/invest-api.k8s.home/192.168.68.240 +``` + +### OpenClash 自定义 hosts + +文件:`/etc/openclash/custom/openclash_custom_hosts.list` + +```yaml +nas.colacoder.com: 192.168.68.70 +pve.colacoder.com: 192.168.68.70 +npm.colacoder.com: 192.168.68.70 +router.colacoder.com: 192.168.68.63 +adguard.colacoder.com: 192.168.68.63 +claw.colacoder.com: 192.168.68.70 +openvas.colacoder.com: 192.168.68.70 +invest-api.k8s.home: 192.168.68.240 +``` + +### fake-ip 排除列表 + +文件:`/etc/openclash/custom/openclash_custom_fake_filter.list` + +``` +*.colacoder.com ++.colacoder.com +*.k8s.home ++.k8s.home +*.lan +*.local +*.localdomain +*.home.arpa +``` + +--- + +## 4. 端口映射 + +| 规则名 | 外部端口 | 目标 | +|--------|---------|------| +| NAS-SSH-2200 | 2200 | 192.168.68.70:2200 | +| NAS-HTTPS-443 | 443 | 192.168.68.70:443 | +| Device-51888 | 51888 | 192.168.68.107:51888 | + +--- + +## 5. DHCP 静态绑定(19 台设备) + +| 名称 | IP | MAC | +|------|-----|-----| +| pve-docker | 192.168.68.102 | BC:24:11:3B:9C:8A | +| wireguard | 192.168.68.107 | BC:24:11:00:4D:D2 | +| Yaojia-ipad | 192.168.68.77 | 64:0B:D7:F0:D0:4C | +| Yaojias-iPhone | 192.168.68.73 | 68:EF:DC:B7:36:40 | +| Yiukai | 192.168.68.89 | 10:FF:E0:CC:1D:00 | +| Yiukai-Asus-wifi | 192.168.68.79 | 08:3A:88:59:1F:A6 | +| Yiukai-Asus-lan | 192.168.68.60 | 44:E5:17:DD:26:01 | +| yiukai-ubuntu | 192.168.68.108 | 1C:79:2D:5C:2C:C4 | +| YIUKAINAS | 192.168.68.70 | 24:5E:BE:5F:ED:38 | +| Yiukais-MBP | 192.168.68.87 | 5C:E9:1E:B2:56:79 | +| android-8fbbfff | 192.168.68.111 | 6C:2D:24:F8:F3:0C | +| easepi | 192.168.68.63 | EE:61:98:11:AD:C4 | +| homeassistant | 192.168.68.97 | BC:24:11:63:40:1E | +| kai-desktop-jetson | 192.168.68.104 | 3C:6D:66:1E:D7:62 | +| kuangxideiPhone | 192.168.68.88 | C4:C1:7D:7B:76:CC | +| lingke | 192.168.68.69 | 84:47:09:20:70:DA | +| network-scanner | 192.168.68.84 | BC:24:11:09:F1:9E | +| pc | 192.168.68.176 | 12:D0:5B:A3:8B:4F | +| adguard-vm | 192.168.68.112 | BC:24:11:C9:58:CB | + +--- + +## 6. 踩坑记录 + +### DNS 环路(最关键) + +OpenClash 的 nameserver 不能用国内 DNS(114.114.114.114、119.29.29.29 等), +因为这些 IP 匹配 GEOIP,CN 规则 → 走代理 → 代理需要 DNS → 死循环。 +**必须用海外 DNS(8.8.8.8、1.1.1.1)。** + +### OpenClash 配置覆盖 + +OpenClash 每次重启都会从源配置重新生成运行配置。 +自定义 hosts 和 fake-ip-filter 必须放在 `/etc/openclash/custom/` 目录下的专用文件里。 +直接改 yaml 文件会被覆盖。 +DNS 相关设置必须在 LuCI 覆写设置里改,不能改 yaml。 + +### 区域绕过必须停用 + +翻墙回国场景下,"大陆"和"海外"绕过都不合适,必须选"停用", +让配置文件里的分流规则来决定。 + +--- + +## 7. 紧急恢复 + +```bash +SSH_AUTH_SOCK="$HOME/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock" ssh root@192.168.68.63 + +# 停止 OpenClash(恢复直连上网) +/etc/init.d/openclash stop + +# 如果 DNS 也断了,临时用 8.8.8.8 +echo "nameserver 8.8.8.8" > /etc/resolv.conf +``` + +--- + +## 8. 更新维护 + +```bash +# 更新 mihomo 内核 +cd /tmp +curl -L -o mihomo.gz "https://github.com/MetaCubeX/mihomo/releases/latest/download/mihomo-linux-arm64.gz" +gunzip -f mihomo.gz && chmod +x mihomo +mv mihomo /etc/openclash/core/clash_meta +/etc/init.d/openclash restart + +# 更新 OpenClash 插件 +opkg install /tmp/luci-app-openclash_*.ipk +``` diff --git a/2 - Projects/VLESS-Reality/VLESS-REALITY-Setup-Guide.md b/2 - Projects/VLESS-Reality/VLESS-REALITY-Setup-Guide.md new file mode 100644 index 0000000..615bba6 --- /dev/null +++ b/2 - Projects/VLESS-Reality/VLESS-REALITY-Setup-Guide.md @@ -0,0 +1,203 @@ +# VLESS + XTLS-Vision + REALITY 搭建文档 + +> 基于 Xray-core 官方仓库,当前最推荐的代理方案。 +> 无需域名、无需 TLS 证书,流量伪装为正常 HTTPS 访问。 + +**部署状态:已完成** | 初始部署:2026-03-14 | Xray 版本:v26.2.6 +**用途:翻墙回国** — 从瑞典通过国内代理访问国内资源 + +--- + +## 当前状态总览 + +### 已完成 + +- [x] 阿里云服务器 Xray-core 部署 +- [x] iStoreOS 从旁路由升级为主网关 +- [x] Deco BE65 切换为 AP 模式 +- [x] DHCP 静态绑定(19 台设备) +- [x] 端口映射迁移(3 条规则) +- [x] OpenClash + mihomo 安装配置 +- [x] 内网 DNS(dnsmasq + OpenClash hosts) +- [x] 广告拦截(OpenClash GEOSITE 规则) +- [x] 翻墙回国验证(v.qq.com 正常播放) +- [x] AdGuard Home 移除(由 OpenClash 接管广告拦截和 DNS) + +### 最终方案 + +不使用 AdGuard Home,全部由 OpenClash + dnsmasq 处理: +- dnsmasq(:53) 负责内网 DNS + 转发到 OpenClash +- OpenClash(:7874) 负责 fake-ip 分流 + 广告拦截 + 翻墙回国 +- NameServer 必须用海外 DNS(8.8.8.8),不能用国内 DNS(避免环路) + +--- + +## 服务器信息 + +| 项目 | 值 | +|------|-----| +| 服务器 | `8.138.1.192` (Ubuntu 24.04 LTS, 阿里云广州) | +| 端口 | `443` | +| UUID | `04a7cfe3-10f6-4e38-8319-22a604e24018` | +| Private Key | `mLQp0G0_yYYBNeviVJ674UmaYLimx9vbixVQhlESTWU` | +| Public Key | `RTO_UOk5ncr3DAAYR08g08L0fo5ax9pmGFj8c8lXWgk` | +| 伪装目标 | `www.microsoft.com` | + +### 分享链接 + +``` +vless://04a7cfe3-10f6-4e38-8319-22a604e24018@8.138.1.192:443?encryption=none&flow=xtls-rprx-vision&security=reality&sni=www.microsoft.com&fp=chrome&pbk=RTO_UOk5ncr3DAAYR08g08L0fo5ax9pmGFj8c8lXWgk&type=tcp#VLESS-Reality +``` + +--- + +## 网络拓扑 + +### 当前状态 + +``` +光猫 (拨号, 瑞典 ISP) + │ + ▼ WAN (eth0, DHCP, 公网 IP) +iStoreOS / EasePi (192.168.68.63) ← 主网关 + ├── DHCP 服务器 (网关=.63, DNS=.63) + ├── AdGuard Home Docker (:53) ← 临时,待迁出 + ├── OpenClash (已安装,未启用,与 AGH 冲突) + ├── 端口映射 (2200, 443, 51888) + │ + ▼ LAN (eth1/eth2/eth3) + ├── Deco BE65 (AP 模式) → mesh WiFi → 手机/平板/笔记本 + └── 交换机 (2楼) → PVE + NAS + 其他有线设备 +``` + +### 目标架构 + +``` +光猫 → iStoreOS (192.168.68.63, 主网关) + ├── DHCP (网关=.63, DNS=AGH的IP) + ├── OpenClash (:7874, fake-ip + DNS劫持) + ├── 端口映射 + │ + ├── Deco BE65 (AP) → WiFi 设备 + └── 交换机 (2楼) + ├── PVE (192.168.68.69) → VM 跑 AdGuard Home + └── NAS (192.168.68.70) + +DNS 链路: +设备 → AdGuard Home (PVE VM:53, 广告过滤+内网重写) + └→ 上游: OpenClash (192.168.68.63:7874, fake-ip) + ├→ 国内域名 → VLESS 代理回国 + └→ 海外域名 → 直连 +``` + +--- + +## 物理布局 + +``` +1楼: 光猫 → iStoreOS (EasePi) → Deco BE65 主机 +2楼: 交换机 ← 网线连接 Deco → PVE 服务器 + NAS +``` + +注意:2楼设备通过 Deco AP 桥接到 iStoreOS,不是直连。 + +--- + +## 相关文档 + +| 文档 | 说明 | +|------|------| +| [主网关配置](./VLESS-REALITY-Router-iStoreOS.md) | iStoreOS 网络/DHCP/端口映射/OpenClash 配置 | +| [macOS 客户端](./VLESS-REALITY-Client-macOS.md) | ClashX Meta 客户端配置(外出时使用) | +| [AdGuard Home 备份](./adguardhome-backup-20260315.tar.gz) | 完整备份(配置+数据,89MB) | + +--- + +## PVE 虚拟机列表 + +| VMID | 名称 | IP | 状态 | 说明 | +|------|------|-----|------|------| +| 100 | HA (Home Assistant) | - | running | 智能家居 | +| 101 | k8s-cp1 | - | running | K8s 控制面 | +| 102 | Wireguard | 192.168.68.107 | running | VPN | +| 103 | k8s-w1 | - | running | K8s 工作节点 | +| 104 | k8s-w2 | - | running | K8s 工作节点 | +| 105 | pg-01 | - | running | PostgreSQL | +| 106 | network-scanner | 192.168.68.84 | running | 网络扫描 | +| 110 | adguard-home (LXC) | 192.168.68.110 | running | AdGuard Home(网络不稳定,待修复) | + +--- + +## 踩坑记录 + +### 1. OpenClash + AdGuard Home 53 端口冲突 + +OpenClash fake-ip 模式需要 DNS 劫持(占 53 端口),与 AdGuard Home 冲突。 +尝试的方案: +- 关闭 DNS 劫持 → fake-ip 不生效,无法代理 +- 开启防火墙转发 → dnsmasq 不运行,DNS 全断 +- AdGuard Home 上游指向 OpenClash → 其他设备(旁路由模式下)拿到 fake-ip 断网 + +**结论:必须分开部署在不同机器上。** + +### 2. Deco BE65 不支持自定义 DHCP 网关/DNS + +Deco 系列路由器的 DHCP 设置完全封闭,无法自定义下发网关和 DNS。 +**解决方案:** Deco 切 AP 模式,iStoreOS 接管 DHCP。 + +### 3. PVE LXC 容器网络延迟不稳定 + +Ubuntu 25.04 LXC 容器 eth0 不能自动启动,需要手动 `ip link set eth0 up`。 +即使手动配置后,ping 延迟在 9ms~200ms 之间波动。 +PVE 主机和 NAS 延迟正常(3-7ms),说明是 LXC 网络栈的问题。 +**待解决:改用完整 VM 或修复 LXC 网络。** + +### 4. 旁路由模式 bypass_gateway_compatible + +OpenClash 旁路由模式下必须开启 `bypass_gateway_compatible=1`,否则转发流量不通。 +同时必须关闭 `enable_redirect_dns=0`,否则会劫持所有设备 DNS 导致断网。 + +### 5. 1Password SSH Agent + +SSH 到新 IP 时需要在 `~/.ssh/config` 中添加 `IdentityAgent` 配置指向 1Password socket。 +不能用 `IdentitiesOnly=yes`,否则会阻止 1Password agent。 + +--- + +## 服务器管理 + +### 阿里云服务器 (8.138.1.192) + +```bash +ssh admin@8.138.1.192 + +# Xray 管理 +systemctl status xray +systemctl restart xray +journalctl -u xray -f + +# 更新 +bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install +``` + +### iStoreOS 主网关 (192.168.68.63) + +```bash +SSH_AUTH_SOCK="$HOME/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock" ssh root@192.168.68.63 + +# 紧急恢复(如果 OpenClash 搞坏了网络) +/etc/init.d/openclash stop +nft -a list chain inet fw4 dstnat | grep 'DNS Hijack' | grep -o 'handle [0-9]*' | while read h; do nft delete rule inet fw4 dstnat $h; done +nft -a list chain inet fw4 nat_output | grep 'DNS Hijack' | grep -o 'handle [0-9]*' | while read h; do nft delete rule inet fw4 nat_output $h; done +``` + +### PVE (192.168.68.69) + +```bash +SSH_AUTH_SOCK="$HOME/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock" ssh root@192.168.68.69 + +# LXC 管理 +pct list +pct start/stop/restart 110 +pct exec 110 -- bash +``` diff --git a/2 - Projects/VLESS-Reality/VLESS-Reality 翻墙回国.md b/2 - Projects/VLESS-Reality/VLESS-Reality 翻墙回国.md new file mode 100644 index 0000000..dc41fae --- /dev/null +++ b/2 - Projects/VLESS-Reality/VLESS-Reality 翻墙回国.md @@ -0,0 +1,60 @@ +--- +created: "2026-03-15" +type: project +status: active +deadline: "" +--- + +# VLESS-Reality 翻墙回国 + +## 目标 + +从瑞典通过阿里云国内服务器代理,访问国内地区限制内容(B站、腾讯视频、抖音、小红书等)。 + +## 架构 + +``` +光猫(拨号) → iStoreOS(192.168.68.63, 主网关) → Deco BE65(AP) → 所有设备 + ├── dnsmasq(:53) → 内网DNS + 转发到 OpenClash + ├── OpenClash(:7874) → fake-ip + TUN → 翻墙回国 + 广告拦截 + └── 端口映射 (2200, 443, 51888) +``` + +## 关键组件 + +| 组件 | 位置 | 版本 | +|------|------|------| +| Xray-core | `8.138.1.192` (阿里云广州) | v26.2.6 | +| OpenClash | iStoreOS `192.168.68.63` | v0.47.071 | +| mihomo | iStoreOS | v1.19.21 | +| dnsmasq | iStoreOS | 内置 | + +## 详细文档 + +- [[VLESS-REALITY-Setup-Guide|总览文档]] +- [[VLESS-REALITY-Router-iStoreOS|主网关配置]] +- [[VLESS-REALITY-Client-macOS|macOS 客户端(外出用)]] + +## 核心踩坑 + +1. **DNS 环路**:OpenClash nameserver 不能用国内 DNS,否则匹配 GEOIP,CN → 走代理 → 代理需要 DNS → 死循环 +2. **OpenClash + AdGuard Home 冲突**:fake-ip 模式的 DNS 劫持与 AGH 抢 53 端口,最终去掉 AGH,由 OpenClash + dnsmasq 接管 +3. **OpenClash 配置覆盖**:自定义 hosts/fake-ip-filter 必须放在 `/etc/openclash/custom/` 专用文件里,直接改 yaml 会被覆盖 +4. **区域绕过必须停用**:翻墙回国场景下 "大陆" 和 "海外" 都不对,选 "停用" +5. **Deco BE65 限制**:不支持自定义 DHCP 网关/DNS,必须切 AP 模式让 iStoreOS 接管 + +## 服务器连接信息 + +| 参数 | 值 | +|------|-----| +| 协议 | VLESS | +| 地址 | `8.138.1.192` | +| 端口 | `443` | +| UUID | `04a7cfe3-10f6-4e38-8319-22a604e24018` | +| Public Key | `RTO_UOk5ncr3DAAYR08g08L0fo5ax9pmGFj8c8lXWgk` | +| 伪装目标 | `www.microsoft.com` | +| Flow | `xtls-rprx-vision` | + +## 相关 + +- [[PVE Security Scanner]]