Skip to content

AstroQore · SD-WAN 教程(本文以 IX 作为示例)

社区贡献

本文由社区作者 AstroQore(NodeSeek)提供,原文发布于 NodeSeek。教程、脚本与 HaloCloud 官方无关,仅供参考;请在生产环境使用前自行校验并自行承担风险。

适用场景:HaloCloud IX 新品在前海侧默认无公网,需借助香港节点提供出网能力。脚本支持 代理模式(microsocks + nsproxy)路由模式(策略路由 + SNAT),并示例如何用 nsproxy 改写第三方命令。

提示:脚本本身不包含端口转发,仅负责给单端 VPS 提供公网出口;如需面板或业务端口映射,请自行配置,并在必要时让控制面板通信也走代理(见第 五 节)。

一. 概述与工作原理

  • 代理模式:香港端以 systemd 运行 microsocks(SOCKS5,默认 1080),前海端通过 nsproxy 让特定命令/会话走代理。香港端防火墙仅放行来自前海局域网 IP。
  • 路由模式:香港端开启 ip_forward 并对前海网段执行 SNAT;前海端写入策略路由(ip rule + fwmark)将系统级出站统一经香港出口,入站路径不变。
  • 安全基线:默认丢弃 IPv6 入站;iptables 规则持久化到 iptables-persistent;只对前海侧网段开放访问。

二. 快速开始

香港节点 使用 root 执行:

bash
bash <(curl -sL https://filecdn.astroqore.org/haloix/sdwan.sh)

脚本会弹出菜单,可按需求选择代理模式或路由模式。

二.1 代理模式(推荐:临时 / 细粒度)

  1. 香港:安装并启动 microsocks,ACL 仅允许前海局域网。
  2. 前海:可选“自动代理”(登录后整场会话都走 SOCKS5)或“临时代理”(nsproxy 包裹单条命令)。
  3. 验证:在前海节点执行 curl -s https://ipinfo.io/ip,应返回香港出口 IP。

二.2 路由模式(推荐:长期 / 系统级)

  1. 香港:开启 ip_forward,对前海网段做 SNAT(可指定物理出口/公网 IP)。
  2. 前海:一键下发 ip rule+mangle 规则,标记并导向专用路由表。
  3. 验证:前海执行 curl -s https://ipinfo.io/ip,同样应显示香港 IP;入站访问保持原路径。

三. 代理模式说明

  • 原理:应用通过 SOCKS5 代理出网;nsproxy 既可包裹单条命令,也可启用自动代理影响整场会话。
  • 适用:拉包、单程序联网、临时调试,粒度最细。
  • 常用命令
    • 临时:nsproxy -s <HK_LAN_IP> -p 1080 <your-command>
    • 自动:登录后选择脚本菜单中的“开启自动代理”,退出会话即还原。

四. 路由模式说明

  • 原理:香港节点扮演网关,对前海段做 SNAT;前海通过策略路由让系统级流量经香港出站。
  • 前提:两端互通(SD-WAN/专线/站点互联),最好双网卡,且香港外网 IP 固定。
  • 一键配置
    1. 香港端菜单选择“设置 SNAT 路由”。
    2. 前海端菜单选择“设置策略路由”。
  • 回滚:菜单里提供“取消”选项,可清理 SNAT / ip rule 并恢复默认。

五. 在第三方程序中使用 nsproxy(示例:komari-agent)

不走代理的原始命令:

bash
/opt/komari/agent -e http://<DOMAIN_AND_PORT> --auto-discovery <TOKEN> --disable-web-ssh

改为走代理,只影响该命令:

bash
nsproxy -s <HK_LAN_IP> -p 1080 /opt/komari/agent -e http://<DOMAIN_AND_PORT> --auto-discovery <TOKEN> --disable-web-ssh

六. 常见问题(FAQ)

  • Q:需要 UDP / 透明出网怎么办?
    A:代理模式偏应用层,适合临时与细粒度。若需 UDP 或全局透明出网,使用路由模式。

  • Q:想让部分网段/端口走香港?
    A:优先使用代理模式按命令控制;如需在路由模式下分流,可自行增删 ip rule 与路由前缀。

七. 模式对比

维度代理模式(microsocks + nsproxy)路由模式(策略路由 + SNAT)
覆盖范围按命令 / 会话系统级全局
透明度需包裹或开启自动代理对应用透明
协议以 SOCKS5 能力为准TCP/UDP 三四层转发
性能受代理进程与并发影响内核转发 / NAT,更高吞吐
风险面影响面小,易调试影响面大,需谨慎
推荐场景拉包、单程序联网、临时任务长期稳定出网、UDP/系统级

建议:临时 / 细粒度 选代理模式;长期 / 系统级 选路由模式。两者可共存,例如在路由模式下,个别敏感命令仍可用 nsproxy 做更细控制。

八. 参考链接

如需反馈脚本问题,请前往原帖与作者交流。