Appearance
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 代理模式(推荐:临时 / 细粒度)
- 香港:安装并启动
microsocks,ACL 仅允许前海局域网。 - 前海:可选“自动代理”(登录后整场会话都走 SOCKS5)或“临时代理”(
nsproxy包裹单条命令)。 - 验证:在前海节点执行
curl -s https://ipinfo.io/ip,应返回香港出口 IP。
二.2 路由模式(推荐:长期 / 系统级)
- 香港:开启
ip_forward,对前海网段做 SNAT(可指定物理出口/公网 IP)。 - 前海:一键下发
ip rule+mangle规则,标记并导向专用路由表。 - 验证:前海执行
curl -s https://ipinfo.io/ip,同样应显示香港 IP;入站访问保持原路径。
三. 代理模式说明
- 原理:应用通过 SOCKS5 代理出网;
nsproxy既可包裹单条命令,也可启用自动代理影响整场会话。 - 适用:拉包、单程序联网、临时调试,粒度最细。
- 常用命令:
- 临时:
nsproxy -s <HK_LAN_IP> -p 1080 <your-command> - 自动:登录后选择脚本菜单中的“开启自动代理”,退出会话即还原。
- 临时:
四. 路由模式说明
- 原理:香港节点扮演网关,对前海段做 SNAT;前海通过策略路由让系统级流量经香港出站。
- 前提:两端互通(SD-WAN/专线/站点互联),最好双网卡,且香港外网 IP 固定。
- 一键配置:
- 香港端菜单选择“设置 SNAT 路由”。
- 前海端菜单选择“设置策略路由”。
- 回滚:菜单里提供“取消”选项,可清理 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做更细控制。
八. 参考链接
- NodeSeek 原帖:https://www.nodeseek.com/post-497201-1
- 路由模式灵感来源:
如需反馈脚本问题,请前往原帖与作者交流。
湘公网安备43010402002068号