温馨提示×

centos防火墙使用教程有哪些

小樊
47
2025-06-24 09:34:58
栏目: 智能运维

在CentOS系统中,firewalld是一个常用的防火墙管理工具,它提供了动态管理、区域化控制等功能,使得配置防火墙规则变得更加简单和直观。以下是一些关于CentOS防火墙的使用教程:

安装和启动防火墙

  • 安装:如果你的CentOS系统没有预装防火墙,可以通过以下命令进行安装:
    sudo yum install firewalld
    
  • 启动:安装完成后,可以使用以下命令启动防火墙服务:
    sudo systemctl start firewalld
    
  • 设置开机自启:为了确保每次系统启动时防火墙都能自动运行,可以将其设置为开机自启:
    sudo systemctl enable firewalld
    

配置防火墙规则

  • 查看默认区域和接口
    sudo firewall-cmd --get-active-zones
    sudo firewall-cmd --get-default-zone
    sudo firewall-cmd --list-all-zones
    sudo firewall-cmd --list-all-interfaces
    
  • 添加端口规则:假设我们需要开放TCP协议的80端口(HTTP)和443端口(HTTPS),可以使用以下命令添加规则:
    sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
    sudo firewall-cmd --permanent --zone=public --add-port=443/tcp
    
  • 添加服务规则:例如,添加HTTP服务:
    sudo firewall-cmd --permanent --zone=public --add-service=http
    
  • 删除端口或服务规则
    sudo firewall-cmd --permanent --zone=public --remove-port=80/tcp
    sudo firewall-cmd --permanent --zone=public --remove-service=http
    
  • 重新加载防火墙配置:添加或删除规则后,需要重新加载配置以使更改生效:
    sudo firewall-cmd --reload
    

高级技巧

  • 允许特定IP访问
    sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.3" accept'
    
  • 配置IPv6规则:如果你的系统支持IPv6,也可以配置IPv6的防火墙规则:
    sudo firewall-cmd --permanent --zone=public --add-port=80/tcp --proto=ipv6
    
  • 禁用防火墙服务:如果不再需要firewalld服务,可以使用以下命令禁用并停止它:
    sudo systemctl stop firewalld
    sudo systemctl disable firewalld
    

测试防火墙设置

  • 检查开放的端口:使用以下命令检查开放的端口是否生效:
    sudo firewall-cmd --list-ports | grep 22/tcp
    
  • 从外部计算机访问系统:尝试从外部计算机访问你的系统,以确保防火墙正常工作。

维护和优化

  • 定期审查和更新规则:根据法规协议和更改需求来校验每项防火墙的更改,删除无用的规则以防止规则膨胀。
  • 使用最小权限原则:以最小的权限安装所有的访问规则,避免权限过度的规则设置。

以上就是CentOS防火墙的基本使用教程。更多高级配置和详细操作,可以参考firewalld的官方文档。

0