Centos7防火墙firewal常用命令介绍

前言

在CentOS 7中,firewalld是默认的防火墙管理工具,它提供了一种简化和易于使用的方法来配置和管理防火墙规则。

firewalld简介

  • 引入:从CentOS 7开始,默认使用firewalld来配置防火墙,而不是传统的iptables。
  • 配置文件:firewalld的配置文件以xml格式存储,主要位于/usr/lib/firewalld/和/etc/firewalld/目录中。
    • /usr/lib/firewalld/:系统配置目录,存放定义好的网络服务和端口参数等,通常不建议直接修改。
    • /etc/firewalld/:用户配置目录,管理员可以在这里进行自定义配置。

特性与功能

  • 动态更新:firewalld支持动态更新防火墙规则,无需重启服务即可添加、删除或修改规则。
  • 区域(Zone)概念:firewalld引入了“zone”的概念,可以理解为防火墙的单位或规则集。预定义的区域包括public、external、dmz、work、home、internal和trusted等。
  • 运行时和永久配置:firewalld支持运行时配置和永久配置。运行时配置在系统重启后会失效,而永久配置则会持久保存。
  • 服务和端口管理:通过定义服务和端口来管理访问控制。服务是一组预定义的规则,用于允许或拒绝特定的网络服务。
  • 连接跟踪:firewalld使用连接跟踪来跟踪网络连接状态,自动识别和允许与现有连接相关的回复流量。
  • D-Bus接口:提供了一个D-Bus接口,允许其他应用程序通过API与其交互,实现更高级的防火墙配置和管理。

区域(Zones)详解

  • 每个区域都有自己的防火墙规则集合,可以根据网络环境的不同选择适当的区域。
  • 常见的区域包括:
    • public:在公共区域内使用,不能信任网络内的其他计算机。
    • external:特别是为路由器启动了伪装功能的外部网。
    • dmz:用于非军事区内的电脑,此区域内可公开访问。
    • work、home、internal:分别用于工作区、家庭网络和内部网络,可以基本信任网络内的其他计算机。
    • trusted:可接受所有的网络连接。

安装 firewall

  • 如果系统中尚未安装 firewall,可以使用以下命令进行安装:
yum -y install firewalld

查看防火墙状态

  • 查看 firewalld 服务的状态,包括是否正在运行等信息。
systemctl status firewalld

启动、停止和重启防火墙

systemctl start firewalld    #启动 firewalld 服务。
systemctl stop firewalld     #停止 firewalld 服务。
systemctl restart firewalld  #重启 firewalld 服务。

设置防火墙开机启动或禁止开机启动

systemctl enable firewalld   #设置 firewalld 服务开机启动。
systemctl disable firewalld  #禁止 firewalld 服务开机启动。

开放和关闭端口

#在 public 区域永久开放 TCP 80 端口。
firewall-cmd --zone=public --add-port=80/tcp --permanent

#重新加载防火墙配置,使更改生效。
firewall-cmd --reload

#在 public 区域永久关闭 TCP 80 端口。
firewall-cmd --remove-port=80/tcp --permanent


#允许HTTP和HTTPS通信:
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload

#打开2222端口
firewall-cmd --zone=public --add-port=2222/tcp --permanent
firewall-cmd --reload

#关闭2222端口
firewall-cmd --zone=public --remove-port=2222/tcp --permanent
firewall-cmd --reload

批量开放端口

#在 public 区域永久开放 TCP 100 到 500 端口。
firewall-cmd --permanent --zone=public --add-port=100-500/tcp

查看已开放的端口

#查看 public 区域已开放的端口。
firewall-cmd --zone=public --list-ports

其他常用命令

#查看 firewall-cmd 的版本信息。
firewall-cmd --version

#查看 firewall-cmd 的帮助信息。
firewall-cmd --help

#查看已激活的 Zone 信息。
firewall-cmd --get-active-zones

#查看指定接口(如 eth0)所属的区域。
firewall-cmd --get-zone-of-interface=eth0

规则管理和备份

  • 你可以使用 firewall-cmd 提供的各种选项来添加、删除和查询防火墙规则。 如果需要备份防火墙规则,可以考虑将
    firewall-cmd 的输出重定向到一个文件中,或者利用其他系统备份工具来备份 /etc/firewalld/ 目录下的配置文件。
  • 信任级别和区域(Zones)
    CentOS 7 的 firewall 支持多个区域(Zones),每个区域都有不同的信任级别和规则集。例如,public 区域通常用于公共连接,而 internal 区域则用于受信任的内部网络。你可以使用 firewall-cmd 来设置和查询区域信息。

结束言

  • 这些命令和选项为管理 CentOS 7 中的 firewall 提供了丰富的功能,使你能够根据自己的需求配置和管理防火墙规则。
  • 14
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值