跳到正文

Agent 主动连接为什么适合 NAT 和受控内网

当站点位于 NAT 或受控内网后方、能够主动访问指定地址,却不允许外部发起新连接时,Agent 出站轮询可以减少站点入站端口、跨网路由和集中保存主机凭据等前置要求。它不是取消网络与安全配置。

站点 Agent 主动连接与网络、凭据、执行三层边界

为什么连接方向很重要

中心主动连接要求中心能够定位并访问每个目标主机,还要处理 SSH 端口、路由和账号。Agent 主动连接则由站点发起到控制面的连接,再领取任务和回传结果。AWS 对 NAT 网关的说明也给出了相同的网络特征:私有子网实例可以连接外部服务,但外部服务不能主动向实例发起连接。

火星叔叔发布助手采用后者:站点 Agent 主动轮询,控制面不主动登录站点,因此站点无需为发布助手开放入站端口。

哪些现场可以考虑这种模式

  • 站点能够访问当前版本部署文档明确的控制面地址和端口;
  • 只允许访问白名单域名、IP 和端口;
  • 控制面与 Agent 都能部署在客户可达内网;
  • 客户不向软件厂商开放服务器登录入口。

如果站点必须经过代理、企业 CA 或专用 DNS,应逐项确认当前版本的适配方式。完全物理隔离、各区域没有共同可达地址时,在线轮询不能自动解决问题。

主动连接不等于天然安全

Agent 仍是站点内的执行进程,必须以完成模板所需的本地最小权限运行。Agent 与控制面之间还需要可靠的身份认证、传输加密、任务授权、软件包完整性校验和密钥管理。高风险模板也要限制创建、修改和执行权限。

断网后何时重连、任务是否重复领取、状态如何收敛,必须依据具体版本做故障测试,不能仅凭“轮询”二字推断。

接入前先回答五个问题

  1. Agent 能访问哪个控制面域名和端口?
  2. 是否需要代理、企业 CA 或固定出口白名单?
  3. Agent 用哪个本地账号运行,最小权限是什么?
  4. 身份、任务和软件包如何认证与校验?
  5. 完全断网时,允许延迟多久,如何人工处置?

先用一个非生产站点验证这些条件,再决定是否扩展。可继续查看部署与安全私有化软件交付方案;网络条件匹配后,可从下载体验版开始一次最小接入测试。

参考资料

重复的现场操作,一次定义,多站点执行