Skip to content

火山引擎安全组 IP白名单配置

适用场景

火山引擎安全组可以关联到云服务器、云数据库 MySQL、Redis 等产品,统一控制这些资源的外网访问。

问题在于大多数团队和个人没有固定公网 IP:家庭宽带每次拨号都可能换 IP,办公网出口也会变。IP 一变,白名单就失效,服务连不上;把白名单开成 0.0.0.0/0 又等于没设防。

yunplus 的做法是:让跑在你机器上的客户端定时上报当前公网 IP,一旦发现变化,就自动调用火山引擎 OpenAPI 更新白名单规则。

前置条件

配置之前需要准备好两样东西:

  1. 访问秘钥 —— 火山引擎的 AccessKey,用于调用 OpenAPI。创建方法见 火山引擎获取API秘钥
  2. 客户端 —— 装在你要放行的那台机器上(家里的 NAS、办公室的服务器都可以),它负责上报公网 IP。

权限要求

控制台在配置页面明确提示:需要授予该访问秘钥 VPCFullAccess 权限。权限不足时任务会执行失败,日志里通常会返回类似 AccessDenied 的错误。

在火山引擎的访问控制 IAM里,给这个子账号绑定上述策略即可。

用子账号,不要用主账号

建议在火山引擎的访问控制 IAM里单独建一个子账号,只授予上面这一条策略,再用它的 AccessKey。主账号密钥权限过大,一旦泄露风险极高。

配置流程

操作步骤

  1. 访问 云产品白名单,点击右上角「新增」。

云产品白名单列表

  1. 在弹出的选择器中,左侧选择「火山引擎」,右侧选择「安全组」。

选择云产品

  1. 填写配置表单。

白名单配置表单

  1. 访问秘钥地域:选择实例所在的云账号密钥和地域。选完地域后,下方的实例下拉才会加载出数据。

IP类型的选择:

该产品只支持 IPV4

如果客户端所在网络拿不到 IPv4 公网地址(移动宽带的家庭网络经常是这种情况),这条白名单规则将无法正常更新。可以先用 IP归属地查询 或在客户端机器上执行 curl -4 ifconfig.me 确认是否有 IPv4 公网地址。

  1. 端口:填写要放行的端口。支持单个端口号,也支持端口范围(用 / 分隔),多个条目按 Enter 键逐条添加。

端口怎么填

只放行真正需要的端口,不要图省事写全端口范围。常见写法:

  • SSH:22
  • HTTP + HTTPS:分别添加 80443
  • 一段范围:8000/8100
  • 全部端口:1/65535不推荐,等于没做限制)
  1. 客户端:选择一个已创建的客户端。这个客户端所在机器的公网 IP,就是要被加进白名单的 IP。
  2. 备注:填写自定义说明,比如「家里宽带」「公司办公网」,方便日后区分。
  3. 点击「提交」完成配置。

配置项速查

配置项说明
访问秘钥火山引擎的 AccessKey,需具备 VPCFullAccess 权限
地域实例所在地域,决定下方实例列表的数据来源
云产品实例从火山引擎 API 拉取的真实实例列表中选择
IP类型仅支持 IPV4
端口需要填写,决定放行哪些端口
客户端提供公网 IP 的那台机器
备注自定义标识,方便区分不同规则

验证配置

第一步:看执行日志。 在白名单列表中点击对应规则的「执行日志」,可以看到最近 30 天的执行记录,包含客户端、执行时间、执行结果、执行 IP 地址和错误原因。

执行日志

第二步:去火山引擎核对。 打开 私有网络控制台 →「安全组」→ 目标安全组 →「访问规则」,确认规则里出现了客户端上报的公网 IP。

第三步:实际连一次。 从客户端所在的那台机器发起访问,确认能连通。

客户端还没跑起来

执行日志一直是空的,通常是客户端脚本没有运行。回到 客户端 页面复制脚本命令,在目标机器上执行一次即可。