
防火墙,顾名思义,就是用一睹墙隔绝了外部的攻击,让墙里面的环境相对安全
在 Linux 中,防火墙是以一个守护进程的方式存在,服务的名字是 firewalld ,它能够定义一组规则来控制外部传入系统中的网络流量,规则允许的流量才能进入系统,规则禁止的流量会被拦下
简介
firewalld 提供了一个动态定制规则的方式,我们可以实时 创建、更改和删除规则
firewalld 使用区域和服务的概念来简化流量管理。区域是预定义的规则集,网络接口可以分配给区域。流量能否进入主机取决于计算机连接的网络以及为网络设置的安全级别。所有预定义的规则,对各服务的传入流量,都有一些必要的设置
服务是通过端口和外部应用通讯的,而防火墙就是根据端口进行流量过滤的,Linux 的防火墙默认是关闭所有端口的,如果要允许服务和外部应用进行通讯,必须开启服务的端口,但是某些区域 ( 例如:trusted ),默认是允许所有流量通过的
- 区域
防火墙能够根据用户设置的信任级别把网络划分成许多的区域,一个网络连接只能归属于一个区域,一个区域能容纳很多的网络连接
系统默认的所有区域存储在 /usr/lib/firewalld/zones目录中,它们可以应用在网络接口上 , 下面的截图展示了各区域默认配置

block : 对于外部主动主动发起的连接,主机会返回一个 icmp 包来拒绝,但主机可以向外部主动发起连接
dmz: 非军事区域内的计算机可以公开访问,但是对于内部网络,只接受指定的连接
drop:对于传入的网络数据包,主机直接拒接,不返回任何消息包,只允许从主机传出数据包
external:用于使用伪装的外部网络,尤其是路由器,为了防止网络中其他计算机的攻击,仅接受指定的传入连接
home: 用于在家里使用,此时,对于网络中的计算机,大多比较信任,也是仅接受指定的传入连接
internal:用于内部网络,此时,对于网络中的计算机,大多比较信任,也是仅接受指定的传入连接
public:用于公共区域,此时,不能信任网络中的计算机,仅接受指定的传入连接
trusted:接受所有的网络连接
work:用于工作区域,此时,对于网络中的计算机,大多比较信任,但也仅接受指定的传入连接
在上述区域中,public 是安装防火墙时默认的区域,当有网络连接到达时,会将它分配到默认区域里
安装
一般发行版的 Linux 都预装了防火墙,如果没有装的话,可以使用下面的命令进行安装
yum install firewalld -y
启动、关闭防火墙
systemctl start firewalld # 启动防火墙服务
systemctl stop firewalld # 关闭防火墙服务
设置开机启动、禁止开机启动
systemctl enable firwalld # 开机启动防火墙服务
systemctl disable firwalld # 禁止开机启动防火墙服务
常用选项
firewall-cmd 是防火墙配置管理工具,它的参数较多,下表列出常用的参数及作用,更多参数自行通过 man

最低0.47元/天 解锁文章
2918

被折叠的 条评论
为什么被折叠?



