diff --git a/doc/04-infra.html b/doc/04-infra.html index 46bd2c7..fd66708 100644 --- a/doc/04-infra.html +++ b/doc/04-infra.html @@ -5,6 +5,89 @@
目标:弹性可变的网络拓扑——所有节点可一键更换或自动更换,IP 可随时轮换;任何单点被识别、被阻断都不影响整体服务。设计核心是「节点是牲口不是宠物」:节点无状态、可丢弃、分钟级重建。
+本章分两层描述拓扑:§0 是现网实际在跑的 EC2 单机部署(具体到端口与容器),§1–§5 是目标弹性多节点架构。两者均严格区分「数据面」(用户 VPN 流量)与「控制面」(API / 管理 / 运维流量),数据面与控制面在物理路径上彻底分离。
+网络请求流向总览 · Network Request Flow
+ +当前所有服务共用 一台 EC2(ap-southeast-1,18.136.60.128,ec2-user)。Pangolin 数据面容器(edge / singbox)与现网已有服务(marzban / jiu / blog / billing)并存;Marzban REALITY 提供线上代理,绝不能中断。
+ +| 服务 | 容器/进程 | 监听地址:端口 | 网络模式 | 流量类型 | 所属 |
|---|---|---|---|---|---|
| pangolin-edge | +Docker · pangolin-edge:local |
+ :80/tcp :443/tcp |
+ host | +数据面 控制面 | +Pangolin | +
| pangolin-singbox | +Docker · sing-box:v1.13.12 |
+ :443/udp |
+ host | +数据面 Hysteria2 | +Pangolin | +
| Marzban REALITY | +marzban 服务(宿主) | +127.0.0.1:10443 |
+ loopback | +数据面 VLESS+REALITY | +现有(勿动) | +
| Marzban 面板 | +marzban 服务(宿主) | +127.0.0.1:8899 |
+ loopback | +控制面 Web UI | +现有(勿动) | +
| jiu.service | +systemd(Go 二进制) | +127.0.0.1:8080 |
+ loopback | +控制面 电商 API | +现有(勿动) | +
| blog(Next.js) | +Docker / pm2 | +127.0.0.1:3000 |
+ loopback | +控制面 Blog | +现有(勿动) | +
| Umami 统计 | +Docker | +127.0.0.1:3001 |
+ loopback | +控制面 统计后台 | +现有(勿动) | +
| billing.service | +systemd | +:18080/tcp |
+ host(独立,不经 edge) | +控制面 计费 | +现有(勿动) | +
pangolin-edge 以 host 网络绑定 :443/tcp,在 TCP 层(ssl_preread)读取 SNI,不解密,直接按域名把连接 proxy_pass 到不同后端:
| SNI(客户端发送的域名) | → 后端(容器内 127.0.0.1) | 再经 nginx http vhost | 最终落点 | 类型 |
|---|---|---|---|---|
www.cloudflare.com |
+ 127.0.0.1:10443 |
+ ——(直通) | +Marzban REALITY 数据面 → 互联网 | +数据面 | +
default(其他 SNI) |
+ 127.0.0.1:10443 |
+ ——(直通) | +同上(兜底) | +数据面 | +
vpn.51yanmei.com |
+ 127.0.0.1:8443 |
+ SSL 终止 → :8899 |
+ Marzban 管理面板 | +控制面 | +
blog.51yanmei.com |
+ 127.0.0.1:8444 |
+ SSL 终止 → :3000 / :3001 |
+ Next.js 博客 + Umami 统计 | +控制面 | +
jiu.51yanmei.com |
+ 127.0.0.1:8445 |
+ SSL 终止 → :8080 |
+ jiu.service API + 静态 | +控制面 | +
vpn/blog/jiu.51yanmei.com 的 HTTPS 流量才在 edge 内部做 SSL 终止(TLS → 明文 → 反代后端)。:443/tcp· 公网 IP 18.136.60.128127.0.0.1:10443· Marzban REALITY(宿主进程,loopback):443/udp· TCP 与 UDP 共用 443,互不干扰所有 Web 流量(Marzban 面板、jiu 管理端、博客)均经 Cloudflare CDN 前置隐藏源站 IP,到 EC2 后再由 pangolin-edge 做 SNI 分流 + SSL 终止 + HTTP 反代:
+ +:443/tcp· CF→EC2 段为 HTTPS(CF Origin Certificate)127.0.0.1:8443 nginx http vhost· SSL 终止(Let's Encrypt 证书)· X-Real-IP=$http_cf_connecting_ip127.0.0.1:8899 Marzban 面板· HTTP 反代 · 宿主进程 · loopback:80(default_server)。所有业务域名均配置了 return 301 https:// 跳转;未匹配域名直接返回 404。不存在明文 HTTP 落地的业务路由。证书覆盖:vpn.51yanmei.com、blog.51yanmei.com、jiu.51yanmei.com(Let's Encrypt · DNS-01 / Cloudflare)。Hysteria2 用自签证书(secrets/hy2/),与 LE 无关。
§0 是单机现状;§1 开始描述 Pangolin 自有节点架构的目标形态。核心原则:入口 IP 是唯一公网暴露面(消耗品);落地 IP 只对隧道内部可见(精品);控制面独立部署,完全不跑用户流量。
+ +| 角色 | 暴露面 | IP 等级 | 更换频率 | 跑什么 |
|---|---|---|---|---|
| 角色 | 暴露面 | IP 等级 | 更换频率 | 运行内容 |
| entry 入口 | 直面用户与审查(唯一公网暴露) | 消耗品池:冷门小厂、便宜、可隐私购买 | 被封即换;常态每 2–4 周主动轮换 | sing-box(REALITY + Hy2 端口跳跃)+ agent |
| relay 中转 | 仅入口可见 | 低价大带宽 | 低频 | 内部隧道转发 + agent |
| exit 落地 | 仅中转/入口可见 | 精品池:稳定厂商、原生 IP、解锁好 | 极低频 | 出口 + agent |
| probe 探针 | — | 境内多 ISP 拨测点 + 境外对照点 | — | 探测脚本,结果回报控制面 |
| entry 入口 | +直面用户与 GFW(唯一公网暴露) | +消耗品池:冷门小厂 · 便宜 · 可隐私购买 | +被封即换;常态每 2–4 周主动轮换 | +sing-box(REALITY + Hy2)+ agent | +
| relay 中转 | +仅入口节点可见 | +低价大带宽 | +低频 | +内部隧道转发 + agent | +
| exit 落地 | +仅中转/入口节点可见 | +精品池:稳定厂商 · 原生 IP · 解锁好 | +极低频 | +出口 + agent | +
| probe 探针 | +—— | +境内多 ISP 拨测点 + 境外对照点 | +—— | +探测脚本 · 结果回报控制面 | +
cloud-init 一段脚本拉起:装 agent → agent 持引导 token 向控制面 mTLS 注册 → 控制面下发完整配置。重建一台 = 开机 + 等注册,约 3–5 分钟。cloud-init 一段脚本拉起:装 agent → agent 持引导 token 向控制面 mTLS 注册 → 控制面下发完整配置。重建一台 ≈ 开机 + 等注册,约 3–5 分钟。nodes 任何变更 bump 全局 version;客户端带 if_version 轮询(在线连接中收到目录推送可平滑迁移);客户端缓存最后一份可用目录兜底。blocked_suspect,节点降权(weight→10),加密探测频率。blocked_confirmed → 立即 down 出目录 + 自动触发 §4.1 补新流程。数据来源:各厂商官网 + LowEndTalk / VPSBenchmarks 社区实测,调研日期 2026-06。价格以美元计,¥ 人民币标注为国内商家。
+| 厂商 | 最低月价 | 亚洲节点 | Crypto / 匿名 | API 自动开退机 | 中国网络 | KYC | 推荐场景 |
|---|---|---|---|---|---|---|---|
| HostHatch | +~$2.4/月 | +HK · SG · TYO | +BTC;接近匿名 | +✓ REST API 支持创建/删除实例 |
+ 普通 BGP,无 CN2 | +无需 | +API 自动化首选;三亚洲节点全覆盖;NVMe 性能好;适合批量消耗自动轮换 | +
| Servury | +$3.99/月$0.55/天 |
+ 新加坡 · 欧洲 | +BTC / XMR / ETH;完全零 KYC(无需邮箱,32 位随机凭证) | +✗ | +普通 BGP | +完全无需 | +极匿名消耗品;按日计费便于快速轮换;凭证无账号体系,极隐私 | +
| ExtraVM | +$4.5/月 | +SG · TYO · LAX · AMS | +50+ 币种(BTC/XMR/USDT等);零 KYC | +✗ | +普通 BGP | +无需(仅邮箱) | +多区域同时部署;币种最全;AMD Ryzen/EPYC NVMe 高性能 | +
| RackNerd | +$1.88/月 年付特惠 |
+ 新加坡 · LA(DC-02) | +BTC 等 30+ 种;接近匿名 | +✗ 仅管理已有机 | +LA-DC02 部分 CN2;SG 普通 BGP | +无需 | +价格最低($1.88);无 API 开退机,需手动;适合预算极紧且愿意手动维护的场景 | +
| Vultr | +$6/月 | +HK · SG · TYO · Osaka | +BTC via BitPay | +✓ REST API v2 Terraform provider |
+ 普通 BGP;HK 走 163 骨干,晚高峰丢包 5–15% | +信用卡或 BTC | +API 完整成熟;覆盖 HK/JP/SG;IP 段曝光度高,需频繁换;不适合做长期精品节点 | +
| AkileCloud HK Lite 系列 |
+ ¥9/月 ≈ $1.3 |
+ HK · JP | +USDT;无 KYC | +✗ | +NTT/PCCW,非大陆优化线路 | +无需 | +国内 USDT 付款最方便;HK Lite 延迟低适合消耗接入;Pro 系列升精品池 | +
| Hetzner 通过 Caasify/BitLaunch |
+ €3.99/月小时计费 |
+ 新加坡(唯一亚洲) | +官方不接受;需 Caasify 等第三方 BTC 购买 | +✓ 行业最强 API Terraform/Pulumi |
+ 普通 BGP;SG 无中国优化 | +第三方付款可绕过 | +API 能力最强 + 真正小时计费;SG 无 CN2 是缺点;适合工程化自动化程度高的场景 | +
| 厂商 | 月价范围 | 推荐节点 | 线路类型 | 延迟→大陆 | IP 质量 / 解锁 | 支付方式 | 推荐场景 |
|---|---|---|---|---|---|---|---|
| DMIT Pro 系列 |
+ TYO: $21.9/月 HK: $39.9/月 LAX: $36.9/年起 |
+ TYO · HKG · LAX | +CN2 GIA 三网全向CN2 + AS9929 + CMIN2 |
+ HK: 30–60ms TYO: ~80ms LAX: 150ms |
+ DC IP;HK/TYO 部分解锁 Netflix 港/日区;换 IP:每 15 天免费 1 次 | +BTC + 支付宝 + WeChat;无 KYC | +精品落地首选;CN2 GIA 行业口碑最佳;晚高峰稳定无抖动;TYO Pro 性价比最高 | +
| Misaka Network | +$4.75/月起 | +HK · TYO · SG | +自有 AS + Equinix 接入 高质量 IP Transit |
+ HK: 10–30ms TYO: 50–80ms |
+ 原生 IP;Equinix HK2 顶级机房;流媒体解锁能力强(Netflix / YouTube Premium) | +Alipay / Visa;无 KYC | +原生 IP 精品;对 IP 纯净度和解锁效果要求最高的落地场景;价格较低 | +
| AkileCloud HK Pro 系列 |
+ ¥35/月 ≈ $4.9 |
+ HK | +电信 CN2 联通 CUG 移动 CMI |
+ 广州: 8–15ms 上海: 30–70ms 三网全优化 |
+ 香港原生 IP;Netflix 港区可解锁;B 站 / YouTube Premium | +USDT + 支付宝;无 KYC | +性价比最高精品;CN2+CUG+CMI 三网全覆盖;价格仅 DMIT HK 的 1/8 | +
| 搬瓦工 BandwagonHost |
+ LAX: $17/月 HK: $90/月 Osaka: $50/月 |
+ HK · LAX · Osaka | +CN2 GIA-E 三网 (KiwiVM 可一键迁机房 = 换 IP) |
+ HK: 55ms LAX: 140–160ms |
+ 原生 IP;各区域解锁对应区 Netflix;换 IP 可迁机房(免费) | +信用卡 / PayPal;无 KYC;未明确 Crypto | +行业稳定性标杆;HK 价格贵但质量天花板;换 IP 有机房迁移机制;适合预算充足场景 | +
| V.PS TYO Focus 系列 |
+ €25/月 | +TYO | +CN2 GIA + AS9929 三网回程双优化 |
+ ~80ms | +DC IP;解锁能力未明确;需实测 | +Crypto / PayPal;无 KYC | +东京 CN2+AS9929 备选;库存受限,需关注补货;价格适中 | +
| GreenCloudVPS HK CN2 GIA |
+ $15/月起 | +HK · SG · TYO | +HK: CN2 GIA / GT SG: 普通 BGP |
+ HK: ~50ms | +DC IP;流媒体解锁弱;⚠ HK 中国直连限速 10 Mbps | +BTC;无 KYC | +预算受限备选;HK 带宽上限 10 Mbps 是硬伤,大流量不适合;BTC 支付方便 | +
数据来源:各注册商官网 + KYCnot.me 隐私评级 + 社区实测,调研日期 2026-06。
+ +| 注册商 | .COM 年价 | 加密货币支付 | WHOIS 隐私 | API 自动化 | KYC 要求 | 管辖地 | 推荐场景 |
|---|---|---|---|---|---|---|---|
| Porkbun | +$9.73 注册 $10.91 续费 |
+ BTC / BCH / ETH / LTC / USDC | +✓ 永久免费 | +✓ REST API 注册/删除/DNS 全支持 |
+ 标准(美国 ICANN) | +美国(俄勒冈) | +消耗品首选;价格最低 + 多 Crypto + API 齐全;轮换成本约 $10/域/年 | +
| Dynadot | +~$10.88 续费 | +BTC / ETH / LTC 等多种 | +✓ 永久免费 | +✓ REST API 含 dropcatch(抢注到期域名) |
+ 标准(美国 ICANN) | +美国(加州) | +API 含抢注 + 后市场功能;适合需要回收旧域名的场景;400+ TLD | +
| Namecheap | +$8.99 注册 $18.48 续费 |
+ BTC / BCH via Cryptomus | +⚠ 首年免费,次年 $2.88/年 | +✓ XML API 功能最全但续费价涨幅大 |
+ 标准(美国 ICANN) | +美国 | +注册价最低 $8.99;续费涨价严重($18.48),批量长期使用需注意成本 | +
| 注册商 | .COM 年价 | 加密货币 / 匿名 | WHOIS 隐私 | API | KYC | 管辖地 | 推荐场景 |
|---|---|---|---|---|---|---|---|
Njallanjal.la |
+ $17.47/域/年 | +XMR(Monero)主要支付;最匿名;可 Tor 登录 | +✓ 最强 Njalla 是法律上的域名所有人,你持使用权 |
+ ✓ JSON-RPC 2.0 | +完全零 KYC;支持 XMPP 注册无邮箱 | +瑞典(Pirate Bay 创始人 Peter Sunde 创立) | +控制面首选;域名所有权法律隔离 + XMR + 零KYC + Tor,身份隔离最彻底 | +
| 1984.is | +请直接询价 冰岛注册商 |
+ BTC + XMR | +✓ 免费保护 | +✗ 无公开 API | +低 KYC;隐私优先 | +冰岛(非 14 眼联盟成员) | +管辖地多样化备选;BTC+XMR;冰岛法律体系与美国/EU 独立;适合备用控制面域名 | +
| OrangeWebsite | +请直接询价 | +BTC;匿名注册 | +✓ 免费保护 | +✗ 无公开 API | +Level 2 KYC(Crypto 付款时) | +冰岛(2009 年创立,自由言论导向) | +冰岛第三选;不推荐主力,API 缺失 + 部分 Crypto 需 KYC | +
| Gandi | +$11 注册 ⚠ $38 续费(高!) |
+ 无 Crypto;信用卡/转账 | +✓ GDPR 强制保护 | +✓ REST API | +EU 标准 GDPR | +法国(EU) | +EU 司法管辖备选;续费 $38 价格贵;无 Crypto 是硬伤;不推荐为首选 | +
| 服务 | 价格 | 特点 | 注意事项 |
|---|---|---|---|
| Cloudflare DNS(免费版) | +免费 | +最快 anycast 解析;全球 TTFB 最低;API 完整;支持 Proxy 模式(CDN + 源站 IP 隐藏) | +⚠ 必须使用与个人 EC2 完全独立的 Cloudflare 账号——两个账号一旦被关联(同邮箱/支付方式),VPN 域名被封会连累 51yanmei.com 个人账号 | +
| Cloudflare DNS(付费 $20/月) | +$20/月起 | +DDoS 保护增强;高级防火墙规则;适合控制面 API 域名 | +控制面 API 域名量少,可考虑 Pro 增强防护 | +
| HE.net(Hurricane Electric) | +免费 | +老牌 DNS,完全免费;适合作 Cloudflare 的 Secondary DNS 备份 | +仅做备份,不作主 DNS;主 DNS 出问题时 HE.net 接管防止域名失联 | +
本节回答三个实操问题:买什么机器、从 1 台到 N 台怎么演进、哪些机器需要频繁轮换。VPN 生产网络与 EC2 个人测试机彻底分离,独立账号、独立支付、独立域名体系。
+ +第一台机器用来跑通「接入点+落地节点」合一的单跳架构,验证 REALITY / Hy2 可用性。
+| 维度 | 推荐 | 说明 |
|---|---|---|
| 厂商 | Vultr / Racknerd / BuyVM / 搬瓦工 | 支持加密货币付款、隐私注册;避免 AWS/GCP/Azure(IP 段被重点封锁) |
| 区域 | HK / JP / SG(首选)· LA / 韩国(备选) | 靠近大陆,延迟低(50–120ms);HK 被封风险高但速度好,SG 稳定 |
| 规格 | 1 vCPU / 1 GB RAM / 20 GB SSD / 1 TB 带宽 | sing-box 极轻量,实际流量带宽是瓶颈;1 TB/月约够 100 用户日常使用 |
| 计费 | 按月 $3–8,或按小时(消耗品机器) | 接入点用按小时,落地和控制面用包月稳定套餐 |
| OS | Ubuntu 22.04 LTS(minimal) | 社区脚本最多,cloud-init 支持好;不用 CentOS |
| 网络 | 原生住宅或数据中心 IP(非共享 NAT) | 共享 NAT 的 IP 通常已被批量标记;要独立 /32 IP |
| 角色 | 规格 | 厂商画像 | 区域 | 预算 |
|---|---|---|---|---|
| 接入点 消耗品 |
+ 1 vCPU / 512 MB–1 GB / 1 TB 带宽 | +冷门小厂 ≥3 家:Vultr / Racknerd / CloudSilk / BuyVM · 支持加密货币 | +HK / JP / SG / LA | +$3–6 / 月 · 按小时更佳 | +
| 中转节点 低频换 |
+ 1 vCPU / 1 GB / 2–5 TB 带宽 | +大带宽便宜厂商:BandwagonHost / Vultr / Hetzner | +JP / SG / 法兰克福 | +$5–12 / 月 | +
| 落地节点 稳定 |
+ 1 vCPU / 1 GB / 1 TB 带宽 · 原生 IP | +稳定精品厂商:Linode / DigitalOcean / GreenCloudVPS · 原生住宅 IP 优先 | +HK / JP / SG · US West | +$6–15 / 月 | +
| API 控制面 永久 |
+ 2 vCPU / 2 GB / 40 GB SSD | +最稳定厂商:DigitalOcean / Linode / Hetzner · 不需要靠近中国 | +US East / 法兰克福(低延迟不是首要) | +$10–20 / 月 | +
| 机器角色 | 轮换频率 | 触发条件 | 轮换方式 |
|---|---|---|---|
| 接入点 | +高频 | +① 被封即换(自动触发) ② 主动:每 2–4 周轮换一次,防止 IP 被画像 |
+ 厂商 API 自动开新机 → 探活 → 替换旧机 → 删旧机;全程无需手动 SSH | +
| 中转节点 | +中频 | +① 带宽严重限速时 ② 每季度主动评估 |
+ 手动 or 半自动替换;中转 IP 不直面用户,被封概率低 | +
| 落地节点 | +极低频 | +① 极少数情况被目标网站 ban IP ② 解锁需求变化 |
+ 手动替换;精品 IP 轮换成本高,需提前备份配置;draining 期 ≥1h | +
| API 控制面 | +不轮换 | +不轮换机器本身,只升级软件版本 | +HA 蓝绿部署(API 有状态,MySQL 主从);IP 可绑定 CF Access,不公开暴露 | +