Linux系统防火墙firewall-cmd命令

简介

firewall-cmd 是一个用于管理 CentOS 7 和 RHEL 7 系统上的 firewalld 防火墙服务的命令行工具。firewalld 是一个动态防火墙管理工具,它提供了一个简单的方式来管理防火墙规则,支持区域(zone)、服务和端口等概念。

以下是 firewall-cmd 的一些常用命令和选项:

1.查看防火墙状态

[root@yzn ~]# firewall-cmd --state
running

2.启动、停止和重启防火墙

1.重新加载防火墙规则:
[root@yzn ~]# firewall-cmd --reload
success
2.将运行时规则保存到永久配置
[root@yzn ~]# firewall-cmd --runtime-to-permanent
success
3.将规则添加到永久配置
[root@yzn ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent
success
4.从永久配置中移除规则
[root@yzn ~]# firewall-cmd --remove-port=80/tcp --permanent
success
5.重新加载永久配置
[root@yzn ~]# firewall-cmd --reload --permanent
success

3.查看和修改区域(zone)

firewalld 中一些常见区域的功能如下:

  1. public

    • 这是默认区域,适用于大多数公共网络环境。
    • 提供了基本的安全策略,如关闭所有不必要的端口和服务。
    • 允许从本地网络到公共网络的流量,但限制公共网络到本地网络的流量。
  2. home

    • 设计用于家庭网络环境。
    • 提供比 public 更宽松的安全策略,允许更多的服务和端口。
    • 通常用于家庭网络中的路由器或网关。
  3. internal

    • 适用于内部网络,如公司内部网络。
    • 提供了比 home 更宽松的安全策略,允许更多的内部网络流量。
    • 通常用于内部服务器和工作站。
  4. trusted

    • 提供了非常宽松的安全策略,几乎允许所有流量。
    • 适用于完全信任的网络环境,如完全隔离的内部网络。
  5. work

    • 设计用于工作场所的网络环境。
    • 提供了比 home 更严格的安全策略,适用于企业网络。
  6. block

    • 提供了最严格的安全策略,阻止所有网络流量。
    • 通常用于隔离或禁用的系统。
1.列出所有区域
[root@yzn ~]# firewall-cmd --list-all-zones

2.列出特定区域的所有规则
[root@yzn ~]# firewall-cmd --zone=<zone_name> --list-all

3.向特定区域添加端口规则<不加--peimanent参数只会临时添加,重启失效>
[root@yzn ~]# firewall-cmd --zone=public --add-port=80/tcp

4.从特定区域移除端口规则
[root@yzn ~]# firewall-cmd --zone=public --remove-port=80/tcp

4.查看和修改服务

1.列出所有服务
[root@yzn ~]# firewall-cmd --list-services

2.向特定区域添加服务
[root@yzn ~]# firewall-cmd --zone=public --add-service=http

3.从特定区域移除服务
[root@yzn ~]# firewall-cmd --zone=public --remove-service=http

5.查看和修改端口

1.列出所有端口
[root@yzn ~]# firewall-cmd --list-ports
1194/udp 22/tcp 60022/tcp 8080/tcp 9168/tcp 3306/tcp

2.向特定区域添加端口
[root@yzn ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent

3向特定区域移除端口
[root@yzn ~]# firewall-cmd --zone=public --remove-port=80/tcp --permanent

6.查看和修改富规则

富规则是基于基本规则,提供一个更加具体的规则,例如:限制只有ip地址为10.180.29.31的ip才能访问我的服务器的3306端口

1.列出富规则
[root@yzn ~]# firewall-cmd --get-rich-rules

2.添加富规则
[root@yzn ~]# firewall-cmd --zone=public --add-rich-rule='rule family=ipv4 source address=192.168.1.0/24 port port=80 protocol=tcp jump=ACCEPT'
这条规则的含义为:允许来自 192.168.1.0/24 子网的所有 TCP 流量通过端口 80

3.移除富规则
[root@yzn ~]# firewall-cmd --zone=public --remove-rich-rule='id=1'

7.查看和修改日志

1.获取被拒绝的日志设置
[root@yzn ~]# firewall-cmd --get-log-denied

2.启用日志记录被拒绝的连接
[root@yzn ~]# firewall-cmd --set-log-denied=on

8.查看和修改默认区域

1.获取默认区域
[root@yzn ~]# firewall-cmd --get-default-zone
public

2.设置默认区域
[root@yzn ~]# firewall-cmd --set-default-zone=public

请注意:使用 --permanent 选项时,更改会保存到 firewalld 的永久配置文件中,这些更改在重启后仍然有效。而没有 --permanent 选项的更改只会影响当前会话。

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值