温馨提示×

CentOS如何为Golang设置防火墙规则

小樊
36
2025-11-27 17:58:56
栏目: 编程语言

在CentOS系统中,为Golang应用程序设置防火墙规则通常涉及到使用firewalld服务。以下是一些基本步骤来为Golang应用程序设置防火墙规则:

  1. 检查firewalld服务状态: 首先,确保firewalld服务正在运行。

    sudo systemctl status firewalld
    

    如果服务未运行,可以使用以下命令启动它:

    sudo systemctl start firewalld
    
  2. 查看当前的防火墙区域firewalld使用区域来定义不同的网络接口和它们的安全级别。查看当前的防火墙区域:

    sudo firewall-cmd --get-active-zones
    
  3. 查看可用的服务: 查看firewalld支持的服务列表,找到与Golang应用程序相关的服务(例如,HTTP服务通常是httphttps)。

    sudo firewall-cmd --get-services
    
  4. 添加防火墙规则: 假设你的Golang应用程序运行在HTTP端口8080上,你可以添加一个规则来允许该端口的流量。

    sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
    

    这里的--permanent选项表示规则将永久生效,即使重启firewalld服务也不会丢失。

  5. 重新加载防火墙配置: 添加规则后,需要重新加载防火墙配置以使更改生效。

    sudo firewall-cmd --reload
    
  6. 验证规则是否添加成功: 使用以下命令验证规则是否已成功添加:

    sudo firewall-cmd --list-all
    

    或者查看特定区域的规则:

    sudo firewall-cmd --zone=public --list-all
    
  7. 开放特定IP地址的访问(可选): 如果你只想允许特定IP地址访问你的Golang应用程序,可以使用以下命令:

    sudo firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="8080" accept'
    

    这里的192.168.1.100是允许访问的IP地址。

通过以上步骤,你可以为CentOS系统中的Golang应用程序设置防火墙规则。根据你的具体需求,可能需要调整端口号和IP地址。

0