admin管理员组文章数量:1642331
目录
- 前言
- 开机启动防火墙服务
- 开机关闭防火墙服务
- 查看防火墙状态
- 手动启动防火墙服务
- 手动关闭防火墙服务
- 重新启动防火墙服务
- 添加开放 TCP 或者 UDP 端口
- 删除开放的 TCP 或者 UDP 端口
- 更新防火墙规则 【切记每次更改firewall规则后需重新加载】
- 查看指定端口是否开放
- 查看所有打开的端口
- 查看所有打开的服务
- 查看防火墙规则
- 添加服务
- 删除服务
- 添加IP白名单
- 删除IP白名单
- 添加IP黑名单
- 删除IP黑名单
- 添加复杂规则 只允许 指定IP 访问 指定端口【重点】
- 删除复杂规则
- 案例一:使用firewall-cmd限制ssh只能从指定IP访问
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
❤ 如果您认为本篇博客写的不错的话,记得点赞👍关注🔎收藏🍔一起学习,非常感谢!!!!
❤ 如有错误的地方,还请小伙伴们指正!【持续更新】
版权声明:本文标题:一文弄懂CentOS firewalld 常用 Linux 防火墙命令总结 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dianzi/1729334760a1196834.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论