Sha*_*rad 3 firewall google-cloud-platform gcloud
我的 GCP 项目中有一个现有的防火墙规则,允许传入流量到达一组特定 IP 地址/IP 范围的特定端口。我想更新源范围以包含更多 IP 地址/IP 范围。我有多个这样的防火墙规则。
我可以从 UI 更新防火墙规则,但这很慢并且需要多次单击。相反,我想使用 gcloud CLI。
这是命令:
gcloud compute firewall-rules update <Firewall rule name> --source-range=<IP addr/range>
Run Code Online (Sandbox Code Playgroud)
虽然这些属性(例如端口列表)保持不变(如文档所述),但它会覆盖现有的源 IP 地址/范围。有没有办法将 IP 地址/范围附加到现有的源范围。
我可以执行一个多步骤过程/脚本,首先使用以下方法检索列表:
gcloud compute firewall-rules list --filter="name=<Firewall rule name>" --format json
Run Code Online (Sandbox Code Playgroud)
并创建更新的列表,然后调用更新命令。
但假设添加/删除 IP 地址范围是一个相当常见的用例,我想知道是否有直接的方法来做到这一点。
任何帮助,将不胜感激。
谢谢。
可以通过 2 个 gcloud 调用完成
# Get the firewall IP range
CURRENT_IP_RANGE=`gcloud compute firewall-rules describe your-firewall-name \
--format="value[delimiter=',',terminator=','](sourceRanges)"`
# Add IP to the firewall IP range
gcloud compute firewall-rules update your-firewall-name \
--source-ranges="${CURRENT_IP_RANGE}${IP}"
# Remove IP from the firewall IP range
gcloud compute firewall-rules update your-firewall-name \
--source-ranges="${CURRENT_IP_RANGE#${IP},}"
Run Code Online (Sandbox Code Playgroud)