Gitlab.com (saas) CI 运行者公共或私有 IP 地址(范围)

问题描述 投票:0回答:4

Gitlab.com (saas) 中的 Gitlab CI 运行器是否有官方 IP 范围?我想将安全组中的 CIDR 列入白名单,允许通过 ssh 连接到在 AWS 中运行的打包 EC2 实例?

gitlab gitlab-ci gitlab-ci-runner
4个回答
2
投票

来自 https://docs.gitlab.com/ee/user/gitlab_com/#ip-range

对于 CI/CD 运行程序的传出连接,我们不提供静态 IP 地址。我们所有的运行程序都部署到 Google Cloud Platform (GCP) 中 - 任何基于 IP 的防火墙都可以通过查找GCP 的所有 IP 地址范围或 CIDR 块来配置。


1
投票

此脚本将为您提供 ipv4/ipv6 地址。

curl https://www.gstatic.com/ipranges/cloud.json | jq  '[.prefixes[] | select(.scope == "us-east1") | if (.ipv4Prefix == null) then .ipv6Prefix else .ipv4Prefix end] | join(",")' 

# replace existing authorized networks with:
gcloud container clusters update CLUSTER_NAME --zone ZONE --project PROJECT \
     --enable-master-authorized-networks \
     --master-authorized-networks=YOUR_LIST_FROM_ABOVE_COMMAND

请注意,我无法将 ipv6 CIDR 块添加到 gke 授权网络。 当我写这篇文章时,列出了一个 ipv6 地址: 2600:1900:4020::/44 。 任何在 ipv6 出口上运行的运行程序都将无法部署 Helm Chart。

如果 gitlab 为他们的跑步者启用了云 nat,这个问题可以通过 gitlab 解决。

参考:https://forum.gitlab.com/t/cidr-for-gitlabs-ci-cd-runner/72350/3


0
投票

基于 GitLab 文档中的文档https://docs.gitlab.com/ee/user/gitlab_com/#ip-range

对于 CI/CD 运行程序的传出连接,我们不提供静态 IP 地址。所有 GitLab.com 共享运行器都部署到 us-east1 中的 Google Cloud Platform (GCP) 中。任何基于 IP 的防火墙都可以通过查找 GCP 的IP 地址范围或 CIDR 块来配置

从之前的答案这里可以看到,文档本身已经发生了变化,并且运行者现在已经在

us-east1
范围内的IP地址中运行。因此,这里的建议也从 google 云文档中的文档中注意到,即创建您自己的脚本,以从文档提供的此
JSON 文件
中的范围
ipv4Prefix
中提取 us-east1 的集合。

重要提示:过去,Google Cloud 指示用户检查 _cloud-netblocks.googleusercontent.com DNS TXT 记录(及其引用的记录)。请更新您的脚本或软件库,以便它们改为从 cloud.json 文件读取。 JSON 文件包含附加信息,例如区域外部 IP 地址所附加的区域。

从我写下这个答案开始,

us-east1
范围内的IP范围是

34.23.0.0/16
34.24.0.0/15
34.26.0.0/16
34.73.0.0/16
34.74.0.0/15
34.98.128.0/21
34.118.250.0/23
34.138.0.0/15
34.148.0.0/16
35.185.0.0/17
35.190.128.0/18
35.196.0.0/16
35.207.0.0/18
35.211.0.0/16
35.220.0.0/20
35.227.0.0/17
35.229.16.0/20
35.229.32.0/19
35.229.64.0/18
35.231.0.0/16
35.237.0.0/16
35.242.0.0/20
35.243.128.0/17
104.196.0.0/18
104.196.65.0/24
104.196.66.0/23
104.196.68.0/22
104.196.96.0/19
104.196.128.0/18
104.196.192.0/19
162.216.148.0/22

0
投票

如果您可以自动执行此操作,我只是使用此命令来动态获取 IP 范围:

curl -s https://www.gstatic.com/ipranges/cloud.json | jq -r '.prefixes[] | select(.scope == "us-east1") | .ipv4Prefix'
© www.soinside.com 2019 - 2024. All rights reserved.