firewalld防火墙

Firewalld 防火墙

一、防火墙基本概述

在CentOS7系统中集成了多款防火墙管理工具,默认启用的是firewalld(动态防火墙管理器)防火墙管理工具,Firewalld支持CLI(命令行)以及GUI(图形)的两种管理方式。

对于接触Linux较早的人员对Iptables比较熟悉,但由于Iptables的规则比较的麻烦,并且对网络有一定要求,所以学习成本较高。但firewalld的学习对网络并没有那么高的要求,相对iptables来说要简单不少,所以建议刚接触CentOS7系统的人员直接学习Firewalld。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-06WCiG38-1623252887291)(img/image-20201216222150114.png)]

需要注意的是:如果开启防火墙工具,并且没有配置任何允许的规则,那么从外部访问防火墙设备默认会被阻止,但是如果直接从防火墙内部往外部流出的流量默认会被允许。

firewalld 只能做和IP/Port相关的限制,web相关的限制无法实现。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QN6mjCz3-1623252887297)(img/image-20201216222313290.png)]

二、防火墙区域管理

那么相较于传统的Iptables防火墙,firewalld支持动态更新,并加入了区域zone的概念
简单来说,区域就是firewalld预先准备了几套防火墙策略集合(策略模板),用户可以根据不同的场景选择不同的策略模板,从而实现防火墙策略之间的快速切换

# Firewalld中的区域与接口。
一个网卡仅能绑定一个区域 如:eth0 ————>A区域  
但一个区域可以绑定多个网卡 如:A区域---->eth0 ,eth1 ,eth2
还可以根据来源的地址设定不同的规则。比如:所有人能访问80端口,但只有公司的IP才允许访问22端口。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FFXsCx37-1623252887304)(img/image-20201216222456047.png)]

区域选项 默认规则策略
trusted 允许所有的数据包流入流出
home 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh、mdns、ipp-client、amba-client与dhcpv6-client服务相关,则允许流量
internal 等同于home区域
work 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh、ipp-client、dhcpv6-client服务相关,则允许流量
public 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh、dhcpv6-client服务相关,则允许流量
external 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh服务相关,则允许流量
dmz 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh服务相关,则允许流量
block 拒绝流入的流量,除非与流出的流量相关
drop 拒绝流入的流量,除非与流出的流量相关
#必须记住的三个区域,其他的可以不记
trusted			白名单
public			默认区域
drop			黑名单

三、防火墙基本指令参数

  • firewall-cmd命令分类列表

参数 作用
zone区域相关指令
–get-default-zone 获取默认的区域名称
–set-default-zone=<区域名称> 设置默认的区域,使其永久生效
–get-active-zones 显示当前正在使用的区域与网卡名称
–get-zones 显示总共可用的区域
–new-zone= 新增区域
services服务相关命令
–get-services 列出服务列表中所有可管理的服务
–add-service= 设置默认区域允许该填加服务的流量
–remove-service= 设置默认区域不允许该删除服务的流量
Port端口相关指令
–add-port=<端口号/协议> 设置默认区域允许该填加端口的流量
–remove-port=<端口号/协议> 置默认区域不允许该删除端口的流量
Interface网站相关指令
–add-interface=<网卡名称> 将源自该网卡的所有流量都导向某个指定区域
–change-interface=<网卡名称> 将某个网卡与区域进行关联
source相关指令
–add-source=<IP/子网掩码> 一般配置在默认区域的富规则中或者黑白名单中
–remove-source=<IP/子网掩码>
其他相关指令
–list-all 显示当前区域的网卡配置参数、资源、端口以及服务等信息
–reload 让“永久生效”的配置规则立即生效,并覆盖当前的配置规则
  • 命令使用案例

区域相关命令

--get-default-zone获取默认的区域名称
--set-default-zone=<区域名称>设置默认的区域,使其永久生效
--get-active-zones显示当前正在使用的区域与网卡名称
--get-zones显示总共可用的区域
--new-zone=新增区域

# 查看默认区域
[root@web01 ~]# firewall-cmd --get-default-zone
public

# 查看所有区域
[root@web01 ~]# firewall-cmd --get-zones
block dmz drop external home internal public trusted work

# 查看默认区域与网卡名称
[root@web01 ~]# firewall-cmd --get-active-zones

# 设置默认区域
[root@web01 ~]# firewall-cmd --set-default-zone=trusted
[root@web01 ~]# firewall-cmd --get-default-zone
trusted

# 添加新的区域
[root@web01 ~]# cd /usr/lib/firewalld/zones/
[root@web01 zones]# cp public.xml newzone.xml
[root@web01 zones]# firewall-cmd --reload 
[root@web01 zones]# firewall-cmd --get-zones
block dmz drop external home internal newzone public test trusted work

服务相关命令

--get-services 列出服务列表中所有可管理的服务
--add-service= 设置默认区域允许该填加服务的流量
--remove-service= 设置默认区域不允许该删除服务的流量

# 查看所有可管理的服务
[root@web01 ~]# firewall-cmd --get-services 

# 设置默认区域允许填加服务的流量
[root@web01 ~]# firewall-cmd --add-service=http
success
[root@web01 ~]# firewall-cmd --list-all
services: http 

# 删除默认区域服务的流量	
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值