温馨提示×

GitLab在CentOS上的网络设置有哪些要求

小樊
35
2025-11-21 20:39:05
栏目: 智能运维

GitLab在CentOS上的网络设置要点

一 基础网络与主机名

  • 建议使用静态IP,并在网卡配置中正确设置IPADDR、NETMASK、GATEWAY、DNS1/DNS2,确保服务器可被外部稳定访问。示例(ifcfg-ens33/eth0):
    • DEVICE=ens33
    • BOOTPROTO=static
    • ONBOOT=yes
    • IPADDR=192.168.0.100
    • NETMASK=255.255.255.0
    • GATEWAY=192.168.0.1
    • DNS1=8.8.8.8
    • DNS2=8.8.4.4
  • 设置可解析的主机名:sudo hostnamectl set-hostname your_gitlab_hostname,便于证书与内网识别。
  • 使用工具:CentOS 7+ 推荐NetworkManager(可用 nmtui),早期版本可用传统的 network 服务;完成后用 ip addr、ping 等验证连通性与DNS解析。

二 防火墙与端口开放

  • 必须开放:HTTP 80、HTTPS 443、SSH 22(GitLab Web 与 Git 通过 SSH)。如使用 firewalld:
    • sudo firewall-cmd --permanent --zone=public --add-service=http
    • sudo firewall-cmd --permanent --zone=public --add-service=https
    • sudo firewall-cmd --permanent --zone=public --add-service=ssh
    • sudo firewall-cmd --reload
  • 如使用云服务器,还需在云平台安全组放行相同端口(80/443/22)。

三 GitLab访问地址与协议

  • 在 /etc/gitlab/gitlab.rb 中设置external_url,与访问方式保持一致:
    • HTTP:external_url ‘http://your_domain_or_IP’
    • HTTPS:external_url ‘https://your_domain_or_IP’
  • 建议启用HTTPS(可配合有效证书);修改后执行:sudo gitlab-ctl reconfigure 使配置生效。

四 邮件通知与SMTP网络

  • 如需邮件通知,启用并配置SMTP(常见端口:25/587/465)。示例(gitlab.rb):
    • gitlab_rails[‘smtp_enable’] = true
    • gitlab_rails[‘smtp_address’] = “smtp.example.com”
    • gitlab_rails[‘smtp_port’] = 587
    • gitlab_rails[‘smtp_user_name’] = “your_email@example.com”
    • gitlab_rails[‘smtp_password’] = “your_password”
    • gitlab_rails[‘smtp_authentication’] = “login”
    • gitlab_rails[‘smtp_enable_starttls_auto’] = true
    • gitlab_rails[‘smtp_tls’] = true
    • gitlab_rails[‘gitlab_email_from’] = ‘your_email@example.com’
    • gitlab_rails[‘smtp_domain’] = “example.com”
  • 完成后执行:sudo gitlab-ctl reconfigure。

五 NAT与域名解析及验证

  • 若服务器位于NAT之后,需在网关/路由做端口转发:将公网的 80/443/22 转发到内网 GitLab 主机;并确保路由器/防火墙放行相关端口。
  • 配置DNS:将域名解析到服务器公网或内网地址(视网络拓扑而定),保证浏览器与客户端可解析到 GitLab。
  • 基本验证:
    • 访问设置的 external_url(浏览器打开)
    • 测试 SSH:git ls-remote git@your_domain_or_IP:group/project.git
    • 检查端口连通:ss -tulpen | egrep ‘:(80|443|22)’
    • 查看服务状态:gitlab-ctl status;必要时 gitlab-ctl reconfigure。

0