菜鸟科技网

CentOS7.2防火墙命令有哪些常用操作?

在CentOS 7.2系统中,防火墙管理主要通过firewalld服务实现,相比传统的iptables,firewalld支持动态规则更新、区域(zone)管理等高级功能,以下将详细介绍CentOS 7.2防火墙的核心命令及使用场景,帮助用户高效管理服务器安全策略。

CentOS7.2防火墙命令有哪些常用操作?-图1
(图片来源网络,侵删)

防火墙基础操作

  1. 启动与停止服务
    首先确保firewalld服务已安装并启用,若未安装,可通过yum install firewalld安装,启动服务使用systemctl start firewalld,停止服务为systemctl stop firewalld,设置开机自启则执行systemctl enable firewalld,临时禁用防火墙(不推荐生产环境使用)可运行systemctl mask firewalld

  2. 查看防火墙状态
    执行systemctl status firewalld可查看服务运行状态,或使用firewall-cmd --state直接显示防火墙是否运行中,查看详细规则列表需结合firewall-cmd --list-all,该命令会显示当前区域、接口、服务及端口等配置信息。

区域管理

firewalld通过区域划分网络信任级别,默认区域为public,常用区域包括trusted(信任所有流量)、block(拒绝所有连接)、dmz(隔离区)等,查看当前区域命令为firewall-cmd --get-active-zones,切换区域可使用firewall-cmd --set-default-zone=<zone_name>,将默认区域设置为homefirewall-cmd --set-default-zone=home

服务与端口管理

  1. 启用/禁用预定义服务
    firewalld支持预定义服务(如http、ssh),通过firewall-cmd --add-service=<service_name>临时启用,--permanent参数可持久化规则,永久开放HTTP服务:

    CentOS7.2防火墙命令有哪些常用操作?-图2
    (图片来源网络,侵删)
    firewall-cmd --permanent --add-service=http
    firewall-cmd --reload  # 重新加载配置
  2. 手动管理端口
    开放单个端口需指定协议(TCP/UDP),如开放8080端口TCP协议:

    firewall-cmd --permanent --add-port=8080/tcp

    查看已开放端口列表使用firewall-cmd --list-ports,删除规则则替换--add--remove

高级规则配置

  1. 富规则(Rich Rules)
    富规则支持更精细的流量控制,例如限制特定IP访问SSH服务:

    firewall-cmd --permanent --add-rich-rule='rule service name="ssh" source address="192.168.1.100" accept'
  2. 端口转发与MASQUERADE
    启用端口转发需修改/etc/sysctl.conf设置net.ipv4.ip_forward=1,然后添加规则:

    CentOS7.2防火墙命令有哪些常用操作?-图3
    (图片来源网络,侵删)
    firewall-cmd --permanent --add-forward-port=port=80:proto=toc:toport=8080

    MASQUERADE(IP伪装)常用于NAT场景,执行:

    firewall-cmd --permanent --add-masquerade

日志与调试

启用日志记录可帮助排查问题,例如记录丢弃的包:

firewall-cmd --set-log-denied=all

查看日志文件路径可通过grep -i "firewalld" /var/log/messages

常见命令速查表

功能 命令示例
查看所有规则 firewall-cmd --list-all
永久添加端口 firewall-cmd --permanent --add-port=80/tcp
临时添加服务 firewall-cmd --add-service=https
删除规则 firewall-cmd --remove-service=ftp
重新加载配置 firewall-cmd --reload

FAQs

Q1: 如何开放特定IP的访问权限?
A: 可通过富规则实现,例如允许IP 192.168.1.50访问所有服务:

firewall-cmd --permanent --add-rich-rule='rule source address="192.168.1.50" accept'
firewall-cmd --reload

Q2: 防火墙规则修改后未生效怎么办?
A: 首先检查是否使用--permanent参数持久化规则,然后执行firewall-cmd --reload重新加载配置,若规则为临时生效(无--permanent),需确认防火墙服务未重启,临时规则会在服务重启后丢失。

分享:
扫描分享到社交APP
上一篇
下一篇