温馨提示×

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

小樊
44
2025-08-22 15:36:56
栏目: 云计算

在CentOS虚拟机中配置防火墙主要使用firewalld工具,以下是关键操作步骤及命令:

1. 安装与启动防火墙

  • 安装(若未安装):
    sudo yum install firewalld -y  # CentOS 7/8
    sudo dnf install firewalld -y  # CentOS Stream 8+
    
  • 启动并设置开机自启
    sudo systemctl start firewalld
    sudo systemctl enable firewalld
    

2. 查看防火墙状态

  • 查看运行状态:
    sudo systemctl status firewalld
    或
    firewall-cmd --state
    
  • 查看默认区域:
    firewall-cmd --get-default-zone
    

3. 配置端口规则

  • 开放端口(如HTTP 80、HTTPS 443):
    sudo firewall-cmd --zone=public --add-port=80/tcp --permanent  # 永久生效
    sudo firewall-cmd --zone=public --add-port=443/tcp --permanent
    
  • 关闭端口
    sudo firewall-cmd --zone=public --remove-port=80/tcp --permanent
    
  • 查看开放端口
    firewall-cmd --list-ports
    

4. 配置服务规则

  • 开放服务(如SSH、HTTP):
    sudo firewall-cmd --zone=public --add-service=ssh --permanent
    sudo firewall-cmd --zone=public --add-service=http --permanent
    
  • 移除服务
    sudo firewall-cmd --zone=public --remove-service=ssh --permanent
    

5. 高级配置(可选)

  • 限制IP访问(如仅允许特定IP访问SSH):
    sudo firewall-cmd --zone=public --add-rich-rule="rule source address='192.168.1.100' service name='ssh' accept" --permanent
    
  • 拒绝ICMP请求(禁止ping)
    sudo firewall-cmd --zone=public --add-icmp-block=echo-request --permanent
    

6. 使配置生效

每次修改规则后,需重新加载防火墙:

sudo firewall-cmd --reload

7. 其他常用命令

  • 查看所有区域规则:
    firewall-cmd --list-all-zones
    
  • 设置默认区域(如将默认区域设为dmz):
    sudo firewall-cmd --set-default-zone=dmz
    

说明

  • --permanent参数表示规则永久生效,重启后保留;若不加该参数,规则仅在当前会话有效。
  • 可通过firewall-config图形工具(需安装)进行可视化配置。

以上命令参考自,可根据实际需求选择操作。

0