CentOS7的防火墙管理


firewall−cmd命令

firewall−cmd是Linux系统中用于管理防火墙的命令行工具,是基于firewalld服务的前端工具,提供了简单而强大的方式来管理网络防火墙规则。firewalld支持动态更新技术并加入了区域(zone)的概念。简单来说,区域就是firewalld预先准备了几套防火墙策略集合(策略模板),用户可以根据生产场景的不同而选择合适的策略集合,从而实现防火墙策略之间的快速切换。

  • 信任区域(trusted):允许所有传入和传出的流量,不进行任何过滤。适用于完全信任的网络(如本地回环)。
  • 家庭区域(home):适用于家庭环境,信任级别较高,允许常见服务(如SSH、DHCP)的使用。
  • 工作区域(work):适用于工作环境,类似于家庭区域,但信任级别稍低,允许使用的服务较少。
  • 内部区域(internal):适用于内部网络,信任级别较高,允许内部网络流量,但对外部连接有限制。
  • 公共区域(public):用于不信任的公共网络,默认仅允许基本的传入流量,禁止大部分传出流量。
  • 外部区域(external):用于外部连接,通常用于路由器或网关,启用网络伪装(NAT)以保护内部网络。
  • 隔离区域(DMZ):适用于放置在网络隔离区的系统,限制外部访问,只允许特定服务。通常用于需要受限外部访问的服务器(如Web服务器)。
  • 阻塞区域(block):默认阻止所有传入流量,适用于完全不信任的网络环境。除了允许通过的流量(如回送接口、ping),所有其他请求都会被拒绝。
  • 丢弃区域(drop):最严格的区域,不回应传入请求,直接丢弃所有外部连接,甚至不发送响应。适用于完全不信任的网络环境。

添加和移除规则

命令格式

firewall−cmd [选项] 命令

选项列表

  • −−zone:添加或移除规则的区域,不指明区域则使用默认区域,系统初始默认区域为public。
  • −−permanent:规则是否永久有效,使用此选项后规则会被写入规则库且永久有效,否则规则仅本次有效,防火墙重启后失效。

命令列表

  • −−add−port:添加端口规则。
  • −−add−service:添加服务规则。
  • −−remove−port:移除端口规则。
  • −−remove−service:移除服务规则。
  • −−reload:重新加载防火墙规则。

使用示例

1、firewall−cmd −−zone=区域 −−add−port=端口/协议 −−permanent:永久开放指定区域中的指定端口。

firewalld

2、firewall−cmd −−zone=区域 −−add−service=服务 −−permanent:永久开放指定区域中的指定服务。

firewalld

3、firewall−cmd −−zone=区域 −−remove−port=端口/协议 −−permanent:永久关闭指定区域中的指定端口。

firewalld

4、firewall−cmd −−zone=区域 −−remove−service=服务 −−permanent:永久关闭指定区域中的指定服务。

firewalld

5、firewall−cmd −−reload:重新加载防火墙规则,用于规则修改后的规则刷新。

firewalld

查看规则

命令格式

firewall−cmd [选项] 命令

选项列表

  • −−zone:添加或移除规则的区域,不指明区域则使用默认区域,系统初始默认区域为public。

命令列表

  • −−list−all:查看所有规则。
  • −−list−ports:查看所有开放的端口。
  • −−list−services:查看所有开放的服务。

使用示例

1、firewall−cmd −−zone=区域 −−list−all:查看指定区域的所有规则。

firewalld

2、firewall−cmd −−zone=区域 −−list−ports:查看指定区域所有开放的端口与协议。

firewalld

3、firewall−cmd −−zone=区域 −−list−services:查看指定区域所有开放的服务。

firewalld

查看和设置区域

命令格式

firewall−cmd 命令

命令列表

  • −−set−default−zone:设置默认区域。
  • −−get−default−zone:查看默认区域。
  • −−get−active−zones:查看活跃区域(当前正在使用的区域)。

使用示例

1、firewall−cmd −−set−default−zone 区域:设置默认区域。

firewalld

2、firewall−cmd −−get−default−zone 区域:查看默认区域。

firewalld

3、firewall−cmd −−get−active−zones:查看活跃区域。

firewalld

发表评论

评论数量:0