系统城装机大师 - 固镇县祥瑞电脑科技销售部宣传站!

当前位置:首页 > 系统教程 > Linux教程 > 详细页面

为什么要学习firewalld--学习笔记

时间:2020-02-23来源:电脑系统城作者:电脑系统城

防火墙作为公网和内网之间的保护屏障,对于保护服务器和数据的安全有着至关重要的作用,我们不能直接管理和修改服务器上的防火墙规则,只能通过管理工具去管理。在众多的管理工具中,iptables和firewalld只是启动的两个工具而已,在redhat7之前一直使用的是iptables工具去管理服务器上的防火墙,但是在redhat7之后舍弃了iptables,取而代之的是firewalld。这就是为什么要去学习使用firewalld。

firewalld

简介

firewalld拥有基于CLI(命令行界面)和GUI(图形化界面)两种管理方式。
和之前的iptables相比,firewalld支持动态更新技术并加入了区域(zone)的概念。区域就是firewalld提前准备好了几套防火墙的规则模板,用户可以根据不同的工作场景对模板进行动态切换,因为不同的工作场景对安全的要求是不一样的。避免了每次都手动去修改每一条防火墙的规则,这点确实是提高了效率。
fiewalld中常用的区域(模板):

区域(模板) 默认的规则
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 拒绝流入的流量,除非与流出的流量有关

firewall-cmd管理工具

firewall-cmd是firewalld防火墙配置管理工具的CLI版本,参数支持tab补齐,firewalld配置有两种模式:

  • 运行时模式(Runtime),又叫做当前生效模式,在这个模式下配置的规则会立即生效,但是系统重启会失效。
  • 永久模式(Permanent),在添加规则是加上 --permanent参数,就可以配置到永久模式,但是永久模式的规则,需要下次重启系统时才会生效,如果想要是永久配置立即生效,可以手动执行 firewalld-cmd --reload 命令。

    常用参数如下:

参数 作用
--get-default-zone 查询默认的区域名称
--set-default-zone=<区域名称> 设置默认的区域,使其永久生效
--get-zones 显示可用的区域
--get-services 显示预先定义的服务
--get-active-zones 显示当前正在使用的区域与网卡名称
--add-source= 将源自此IP或者子网的流量导向指定的区域
--remove-source= 将此IP从指定区域删除
--add-interface=<网卡名称> 将源自这个网卡的所有流量都导向某个指定区域
--change-interface=<网卡名称> 将某个网卡与区域进行关联
--list-all 显示当前区域的网卡配置参数、资源、端口以及服务信息
--list-all-zones 显示所有区域的网卡配置参数、资源、端口以及服务信息
--add-service=<服务名> 设置默认区域允许该服务的流量
--add-port=<端口/协议> 设置默认区域允许该端口的流量
--remove-service=<服务名> 设置默认区域不允许该服务的流量
--remove-port=<端口/协议> 设置默认区域不允许该端口的流量
--reload 让“永久生效”的配置规则立即生效,并覆盖当前的配置规则
--panic-on 开启应急状况模式
--panic-off 关闭应急状况模式

命令演示

查看当前所在的区域

[root@localhost Desktop]# firewall-cmd --get-default-zone 
public

查询网卡eno16777736所在的区域

[root@localhost Desktop]# firewall-cmd --get-zone-of-interface=eno16777736 
public

将网卡eno16777736的默认区域修改为external,并在系统重启后生效。分别查看网卡eno16777736 在当前模式和用户模式下的区域:

[root@localhost Desktop]# firewall-cmd --permanent --zone=external --change-interface=eno16777736 
success
[root@localhost Desktop]# firewall-cmd --get-zone-of-interface=eno16777736 
public
[root@localhost Desktop]# firewall-cmd --get-zone-of-interface=eno16777736 --permanent 
external

把firewall服务的当前默认区域设置成public

[root@localhost Desktop]# firewall-cmd --set-default-zone=public
success
[root@localhost Desktop]# firewall-cmd --get-default-zone 
public

启动、关闭firewalld防火墙的应急状况模式,阻断一些网络连接(当远程控制服务器时慎用、慎用、慎用)

[root@localhost Desktop]# firewall-cmd --panic-on
success
[root@localhost Desktop]# firewall-cmd --panic-off
success

查询public区域是否允须ssh和https协议的流量

[root@localhost Desktop]# firewall-cmd --zone=public --query-service=ssh
yes
[root@localhost Desktop]# firewall-cmd --zone=public --query-service=https
no

将https协议设置为永久允许,并立即生效

[root@localhost Desktop]# firewall-cmd --permanent --zone=public --add-service=https
success
[root@localhost Desktop]# firewall-cmd --reload
success

将http洗衣设置为永久拒绝,并立即生效

[root@localhost Desktop]# firewall-cmd --permanent --zone=public --remove-service=http
success
[root@localhost Desktop]# firewall-cmd --reload
success

将8080和8081端口设置为允许,仅当前生效

[root@localhost Desktop]# firewall-cmd --zone=public --add-port=8080/tcp
success
[root@localhost Desktop]# firewall-cmd --zone=public --add-port=8081/tcp
success
[root@localhost Desktop]# firewall-cmd --list-ports 
8081/tcp 8080/tcp

将本机的888端口转发到222端口,当前和永久生效

端口转发的格式:
firewall-cmd --permanent --zone=<区域名> --add-forward-port=port=<源端口>:proto=<协议>:toport=<目标端口>:toaddr=<目标IP地址>

[root@localhost Desktop]# firewall-cmd --permanent --zone=public --add-forward-port=port=888:proto=tcp:toport=22:toadr=192.168.137.10
success

添加一条富规则,使其拒绝192.168.10.0/24网段访问本机的22端口

富规则表示更细致、更详细的防火墙策略配置,可以针对系统服务、端口、源地址和目标地址等多种信息进行配置,它的优先级在所有防火墙策略中也是最高的

[root@localhost Desktop]# firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.10.0/24" service name="ssh" reject"
success

图形界面的配置

打开图形界面的命令式firewall-config

[root@localhost Desktop]# firewall-config 

为什么要学习firewalld--学习笔记

  1. 选择模式
  2. 选择区域
  3. 对服务进行设置,点击服务前面的方框即可生效
  4. 对端口进行配置
  5. 开启snat
  6. 设置端口转发
  7. 管理ICMP
  8. 设置富规则
  9. 对网卡进行关联设置

图形界面比较简单,在runtime模式下,设置完立即生效,不用其他操作
如果是在permanent模式设置的,最后需要点击左上角菜单中的“Options”-“Reload Firewalld”,是永久配置立即生效。
这就是我对firwalld的简单了解和基本的操作

分享到:

相关信息

  • linux 文件权限怎么解析

    常用权限linux系统内有档案有三种身份 u:拥有者 g:群组 o:其他人这些身份对于文档常用的有下面权限:r:读权限,用户可以读取文档的内容,如用cat,more查看w:写权限,用户可以编辑文档x...

    2024-07-07

  • 如何使用WPSeku找出 WordPress 安全问题?

    然而,如果我们遵循通常的 WordPress 最佳实践,这些安全问题可以避免。在本篇中,我们会向你展示如何使用 WPSeku,一个 Linux 中的 WordPress 漏洞扫描器,它可以被用来找出你安装...

    2024-07-03

系统教程栏目

栏目热门教程

人气教程排行

站长推荐

热门系统下载