一文弄懂CentOS firewalld 常用 Linux 防火墙命令总结

CentOS7 默认使用的是firewalld作为防火墙。以下内容为 CentOS7 防火墙常用命令总结

前言

❤ 本篇博客内容较长,建议收藏。
❤ 如果您认为本篇博客写的不错的话,记得点赞👍关注🔎收藏🍔一起学习,非常感谢!!!!
❤ 如有错误的地方,还请小伙伴们指正!【持续更新】

开机启动防火墙服务

[root@localhost ~]# systemctl enable firewalld

开机关闭防火墙服务

[root@localhost ~]# systemctl disable firewalld

查看防火墙状态

[root@localhost ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; `disabled`; vendor preset: enabled)
   Active: inactive (`dead`)
     Docs: man:firewalld(1)

# `disabled` 表示开机默认不启动防火墙服务  对应 `enable` 表示开机启动防火墙服务
# `dead` 表示防火前当前处于关闭状态  对应 `running` 表示启动状态

手动启动防火墙服务

[root@localhost ~]# systemctl start firewalld

手动关闭防火墙服务

[root@localhost ~]# systemctl stop firewalld

重新启动防火墙服务

[root@localhost ~]# systemctl restart firewalld

添加开放 TCP 或者 UDP 端口

--permanent 永久生效,没有此参数重启后失效】

[root@localhost ~]# firewall-cmd --permanent --add-port=3306/tcp
[root@localhost ~]# firewall-cmd --permanent --add-port=8080-8081/tcp
[root@localhost ~]# firewall-cmd --permanent --add-port=53/udp

删除开放的 TCP 或者 UDP 端口

[root@localhost ~]# firewall-cmd --permanent --remove-port=3306/tcp
[root@localhost ~]# firewall-cmd --permanent --remove-port=8080-8081/tcp
[root@localhost ~]# firewall-cmd --permanent --remove-port=53/udp

更新防火墙规则 【切记每次更改firewall规则后需重新加载】

[root@localhost ~]# firewall-cmd --reload

查看指定端口是否开放

[root@localhost ~]# firewall-cmd --query-port=80/tcp

查看所有打开的端口

[root@localhost ~]# firewall-cmd --list-ports

查看所有打开的服务

其实一个服务对应一个端口,每个服务对应 /usr/lib/firewalld/services 下面一个 xml 文件。

[root@localhost ~]# firewall-cmd --list-services

查看防火墙规则

[root@localhost ~]# firewall-cmd --list-all

添加服务

系统提供了部分默认服务配置,在 /usr/lib/firewalld/services 目录下 xml 配置文件中配置了默认端口;如果您希望在非标准端口上使用服务,则必须打开特定端口,参考 firewall-cmd --permanent --add-port=8080/tcp 所示。

[root@localhost ~]# firewall-cmd --permanent --add-service=http

删除服务

[root@localhost ~]# firewall-cmd --permanent --remove-service=http

添加IP白名单

[root@localhost ~]# firewall-cmd --permanent --add-source=192.168.1.5
# 或者指定网络段CIDR格式
[root@localhost ~]# firewall-cmd --permanent --add-source=192.168.1.0/24

删除IP白名单

[root@localhost ~]# firewall-cmd --permanent --remove-source=192.168.1.5
# 或者指定网络段CIDR格式
[root@localhost ~]# firewall-cmd --permanent --remove-source=192.168.1.0/24

添加IP黑名单

[root@localhost ~]# firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.1.5' reject"
# 或者指定网络段CIDR格式
[root@localhost ~]# firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.1.0/24' reject"

删除IP黑名单

[root@localhost ~]# firewall-cmd --permanent --remove-rich-rule="rule family='ipv4' source address='192.168.1.5' reject"
# 或者指定网络段CIDR格式
[root@localhost ~]# firewall-cmd --permanent --remove-rich-rule="rule family='ipv4' source address='192.168.1.0/24' reject"

添加复杂规则 只允许 指定IP 访问 指定端口【重点】

source address 可以设置为单个IP地址或者 CIDR符号 192.168.1.0/24 一系列IP地址
port 可以为单个端口或端口范围,例如 8080-8088

[root@localhost ~]# firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.1.5' port protocol='tcp' port='22' accept"

删除复杂规则

要删除复杂规则,请使用选项 --remove-rich-rule 必须完全指定要删除哪个规则,因此最好复制并粘贴完整规则,而不是尝试自己去输入规则。

[root@localhost ~]# firewall-cmd --permanent --remove-rich-rule="rule family='ipv4' source address='192.168.1.5' port protocol='tcp' port='22' accept"

案例一:使用firewall-cmd限制ssh只能从指定IP访问

直接将堡垒机IP放行,其他IP无法访问 ssh 端口,可以有效的拦击扫描主机。减少服务器漏洞报告!演示环境将 192.168.1.5 模拟堡垒机ip,以及模拟服务器 ssh 22 端口,让服务器只有堡垒机能够ssh链接,直接拦截漏洞扫描主机,不用经常升级 ssh 漏洞

# 1. 删除默认开启的没有访问限制的ssh服务
[root@localhost ~]# firewall-cmd --permanent --remove-service=ssh
# 2. 通过添加复杂规则,增加指定允许访问ssh端口的IP
[root@localhost ~]# firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.1.5' port protocol='tcp' port='22' accept"
# 3. 更新防火墙规则
[root@localhost ~]# firewall-cmd --reload

❤ 如果您认为本篇博客写的不错的话,记得点赞👍关注🔎收藏🍔一起学习,非常感谢!!!!
❤ 如有错误的地方,还请小伙伴们指正!【持续更新】

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奶爸程序员笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值