centos

centos虚拟机中如何配置防火墙

小樊
46
2025-09-15 16:57:13
栏目: 云计算

CentOS虚拟机默认使用firewalld管理防火墙,配置步骤如下:

  1. 安装与启动

    • 安装(若未安装):sudo yum install firewalld(CentOS 7/8)
    • 启动并开机自启:
      sudo systemctl start firewalld  
      sudo systemctl enable firewalld  
      
  2. 查看状态

    sudo systemctl status firewalld  # 查看服务状态  
    sudo firewall-cmd --state        # 查看防火墙是否运行  
    sudo firewall-cmd --list-all     # 查看当前规则  
    
  3. 配置端口规则

    • 开放端口(如HTTP 80端口):
      sudo firewall-cmd --zone=public --add-port=80/tcp --permanent  # 永久生效  
      sudo firewall-cmd --reload       # 重新加载规则  
      
    • 关闭端口
      sudo firewall-cmd --zone=public --remove-port=80/tcp --permanent  
      sudo firewall-cmd --reload  
      
  4. 配置服务规则

    • 开放服务(如SSH、HTTPS):
      sudo firewall-cmd --zone=public --add-service=ssh --permanent  
      sudo firewall-cmd --zone=public --add-service=https --permanent  
      
    • 删除服务
      sudo firewall-cmd --zone=public --remove-service=http --permanent  
      
  5. 区域管理

    • 查看默认区域:sudo firewall-cmd --get-default-zone
    • 修改默认区域(如设为“trusted”):
      sudo firewall-cmd --set-default-zone=trusted  
      
    • 为接口指定区域(如eth0设为public):
      sudo firewall-cmd --permanent --zone=public --add-interface=eth0  
      
  6. IP访问控制

    • 允许特定IP访问(如192.168.1.100):
      sudo firewall-cmd --permanent --add-rich-rule='rule source address="192.168.1.100" accept'  
      
    • 拒绝IP段访问(如10.0.0.0/24):
      sudo firewall-cmd --permanent --add-rich-rule='rule source address="10.0.0.0/24" reject'  
      
  7. 高级操作

    • 查看防火墙日志:sudo journalctl -u firewalld -f
    • 临时禁用防火墙(不推荐生产环境):
      sudo systemctl stop firewalld  
      sudo systemctl disable firewalld  
      

注意:所有配置需通过--permanent参数保存为永久规则,修改后需执行firewall-cmd --reload生效。

参考来源:[1,3,5,7,8,9,11,12,13,14]

0
看了该问题的人还看了