CentOS7上的FirewallD 简明使用说明
  TEZNKK3IfmPf 2023年11月14日 30 0

说明

这里已经对 CentOS7 和 ReadHat7 的 firewalld配置验证了。

FirewallDiptables的前端控制器,用于实现持久的网络流量规则。它提供命令行和图形界面,在大多数 Linux 发行版的仓库中都有。与直接控制 iptables 相比,使用 FirewallD 有两个主要区别:

(1)FirewallD 使用区域和服务而不是链式规则;

(2)它动态管理规则集,允许更新规则而不破坏现有会话和连接;

本文重点讲解下 firewalld的一些使用场景,更多 FirewallD基本介绍

需求说明

推荐系统所在机器资源信息(白名单):

所属平台 机器IP 机器品牌 系统版本
智能推荐平台(REC60) 192.168.246.60 HW2280 ReadHat7.6
智能推荐平台(REC61) 192.168.246.61 HW2280 ReadHat7.6
智能推荐平台(REC62) 192.168.246.62 HW2280 ReadHat7.6
智能推荐平台(REC63) 192.168.246.63 HW2280 ReadHat7.6
智能推荐平台(REC64) 192.168.246.64 HW2280 ReadHat7.6

要求:设置CentOS 7防火墙,以便除我白名单中的原始IP地址外,所有传入请求都将被阻止。对于白名单IP地址,所有端口都应可访问。

firewall 防火墙规则如下:

## public所在区域的IP来源
firewall-cmd --permanent --zone=public --list-sources
## 添加public所在区域的IP来源,这里是 192.168.246.60
firewall-cmd --permanent --zone=public --add-source=192.168.246.60
## 允许192.168.246.60访问所有端口
firewall-cmd --zone=public --add-rich-rule 'rule family="ipv4" source address="192.168.246.60" accept' --permanent
firewall-cmd --permanent --zone=public --add-source=192.168.246.61
firewall-cmd --zone=public --add-rich-rule 'rule family="ipv4" source address="192.168.246.61" accept' --permanent
firewall-cmd --permanent --zone=public --add-source=192.168.246.62
firewall-cmd --zone=public --add-rich-rule 'rule family="ipv4" source address="192.168.246.62" accept' --permanent
firewall-cmd --permanent --zone=public --add-source=192.168.246.63
firewall-cmd --zone=public --add-rich-rule 'rule family="ipv4" source address="192.168.246.63" accept' --permanent
firewall-cmd --permanent --zone=public --add-source=192.168.246.64
firewall-cmd --zone=public --add-rich-rule 'rule family="ipv4" source address="192.168.246.64" accept' --permanent
## 加载firewalld规则
firewall-cmd --reload
## 查看public区域下所有信息
firewall-cmd --zone=public --list-all

安装、启用、关闭firewalld(非必需)

如果系统上已经安装有 firewalld,请忽略此步骤:

## 安装firewalld
yum install firewalld firewall-config
## 启动服务
systemctl start  firewalld
## 开机自动启动服务
systemctl enable firewalld
## 查看状态
systemctl status firewalld
firewall-cmd --state
## 关闭服务
systemctl stop firewalld
## 取消开机启动
systemctl disable firewalld

防火墙规则说明

一些常用基本的命令

## 查看状态:
firewall-cmd --state        ## 输出应该是 running 或者 not running
## 重新加载配置:
firewall-cmd --reload
# 防火墙的区域
## 获取所有区域:
firewall-cmd --get-zones    ## 输出 work drop internal external trusted home dmz public block
## 查看默认区域:
firewall-cmd --get-default-zone
## 修改默认区域:
firewall-cmd --set-default-zone=internal
## 查看你网络接口使用的区域:
firewall-cmd --get-active-zones
## 要得到特定区域的所有配置:
firewall-cmd --zone=public --list-all
## 要得到所有区域的配置: 
firewall-cmd --list-all-zones

开启或关闭端口和服务

## 比如:允许或者禁用 12345 端口的 TCP 流量。
firewall-cmd --zone=public --add-port=12345/tcp --permanent
firewall-cmd --zone=public --remove-port=12345/tcp --permanent
## 批量添加或者移除区间端口
firewall-cmd --zone=public --add-port=4400-4600/udp --permanent
firewall-cmd --zone=public --add-port=4400-4600/tcp --permanent
firewall-cmd --zone=public --remove-port=4400-4600/udp --permanent
firewall-cmd --zone=public --remove-port=4400-4600/tcp --permanent
## 查看默认的可用服务:
firewall-cmd --get-services
## 比如,要启用或禁用 HTTP 服务: 
firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --zone=public --remove-service=http --permanent
## 重新加载配置:
firewall-cmd --reload
## 查看端口列表
firewall-cmd --permanent --list-port

说明⚠️:

(1)默认情况下,firewall-cmd 命令适用于运行时配置,但使用 --permanent 标志将保存到持久配置中。

(2)如果要通过上面命令添加任何端口或服务,则所有来源都可以访问它!!!

高级配置

一些使用的例子:

更多实例

## 允许来自主机 192.168.0.14 的所有 IPv4 流量和所有端口:
firewall-cmd --zone=public --add-rich-rule 'rule family="ipv4" source address=192.168.0.14 accept' --permanent
## 移除 192.168.0.14 所有访问所有端口
firewall-cmd --zone=public --remove-rich-rule 'rule family="ipv4" source address=192.168.0.14 accept' --permanent
## 拒绝来自主机 192.168.1.10 到 22 端口的 IPv4 的 TCP 流量:
firewall-cmd --zone=public --add-rich-rule 'rule family="ipv4" source address="192.168.1.10" port port=22 protocol=tcp reject'
## 允许192.168.2.0/24(0-255)网段访问所有端口
firewall-cmd --zone=public --add-rich-rule 'rule family="ipv4" source address="192.168.2.0/24" accept' --permanent

关于 firewall 使用注意点

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月14日 0

暂无评论

推荐阅读
TEZNKK3IfmPf