diff --git a/doc/04-infra.html b/doc/04-infra.html index fd66708..46bd2c7 100644 --- a/doc/04-infra.html +++ b/doc/04-infra.html @@ -5,89 +5,6 @@
本章分两层描述拓扑:§0 是现网实际在跑的 EC2 单机部署(具体到端口与容器),§1–§5 是目标弹性多节点架构。两者均严格区分「数据面」(用户 VPN 流量)与「控制面」(API / 管理 / 运维流量),数据面与控制面在物理路径上彻底分离。
-网络请求流向总览 · Network Request Flow
- -目标:弹性可变的网络拓扑——所有节点可一键更换或自动更换,IP 可随时轮换;任何单点被识别、被阻断都不影响整体服务。设计核心是「节点是牲口不是宠物」:节点无状态、可丢弃、分钟级重建。
当前所有服务共用 一台 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 入口 | -直面用户与 GFW(唯一公网暴露) | -消耗品池:冷门小厂 · 便宜 · 可隐私购买 | -被封即换;常态每 2–4 周主动轮换 | -sing-box(REALITY + Hy2)+ agent | -
| relay 中转 | -仅入口节点可见 | -低价大带宽 | -低频 | -内部隧道转发 + agent | -
| exit 落地 | -仅中转/入口节点可见 | -精品池:稳定厂商 · 原生 IP · 解锁好 | -极低频 | -出口 + agent | -
| probe 探针 | -—— | -境内多 ISP 拨测点 + 境外对照点 | -—— | -探测脚本 · 结果回报控制面 | -
| entry 入口 | 直面用户与审查(唯一公网暴露) | 消耗品池:冷门小厂、便宜、可隐私购买 | 被封即换;常态每 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,不公开暴露 | -