前言:
本文是一篇关于Linux系统初学者的实验记录。
参考书籍:《Linux就该这么学》
实验环境:
VmwareWorkStation 17——虚拟机软件
RedHatEnterpriseLinux[RHEL]8——红帽操作系统
备注:
RHEL8系统中集成了多款防火墙管理工具,其中firewalld(Dynamic Firewall Manager of Linux systems,Linux系统的动态防火墙管理器)服务是默认的防火墙配置管理工具,它拥有基于CLI(命令行界面)和基于GUI(图形用户界面)两种管理方式。
firewalld预先准备了几套防火墙策略集合(策略模板),供不同使用场景。
区域(zone)指防火墙策略集合(策略模板)
目录
前言:
备注:
正文:
终端管理工具:
实验1:
实验2:
实验3:
实验4:
实验5:
实验6:
实验7:
实验8:
实验9:
实验10:
实验11:
图形管理工具:
Step1:手动安装firewall-config
Step2:在图形界面打开firewall-configuration
实验1:
实验2:
实验3:
实验4:
实验5:
总结:
正文:
终端管理工具:
firewalld-cmd是firewalld防火墙配置管理工具的CLI(命令行界面)版本。
参数可用Tab键补齐:
参数 | 作用 |
--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 | 关闭应急状况模式 |
Runtime:当前立即生效,重启后失效
Permanent:当前不生效,重启后生效。
如果想让当期配置的策略立即生效,需手动执行firewall-cmd --reload指令
实验1:
查看firewall服务当前所使用的区域
在配置防火墙策略前,必须查看当前生效的是哪个区域。
实验2:
查询指定网卡在firewalld服务中绑定的区域
根据网卡针对的流量来源,为网卡绑定不同区域,实现对防火墙策略的灵活管控。
实验3:
把网卡的默认区域修改为external,并在系统重启后生效
实验4:
把firewalld服务的默认区域设置为public。
默认区域也叫全局配置,指的是对所有网卡都生效的配置,优先级较低。
实验5:
启动和关闭firewalld防火墙服务的应急状况模式
紧急模式会切断一切网络连接。
实验6:
查询SSH和HTTPS协议的流量是否允许放行。
实验7:
把HTTPS协议的流量设置为永久允许放行,并立即生效。
加permanent参数后,重启后才能生效,也可以使用--reload参数使立即生效。
实验8:
把HTTP协议的流量设置为永久拒绝,并立即生效
实验9:
把访问8080和8081端口的流量策略设置为允许,但仅限当前生效。
实验10:
把原本访问本机888端口的流量转发到22端口,要求当前和长期均有效。
这就是端口转发技术:使用户能够通过新的端口访问到原本的服务。
使用firewall-cmd命令实现端口转发的格式:
firewall-cmd --permanent --zone=<区域> --add-forward-port=port=<源端口号>:proto=<协议>:toport=<目标端口号>:toaddr=<目标IP地址>
目标IP地址一般是服务器本机的IP地址。
在CentOS上使用ssh命令尝试访问RHEL8主机的888端口,访问成功:
实验11:
富规则的设置
富规则也叫复规则,表示更细致、更详细的防火墙策略配置,它可以针对系统服务、端口号、源地址和目标地址等诸多信息进行更有针对性的策略配置。
优先级在所有的防火墙策略中是最高的。
现配置一条富规则,使其拒绝192.168.226.0/24网段的所有用户访问本机ssh服务。
此时CentOS8能ping通,但ssh被拒绝服务。
图形管理工具:
firewall-config使firewalld防火墙配置管理工具的GUI(图形用户界面)版本。
几乎可以实现所有以命令行来执行的操作。
Step1:手动安装firewall-config
Step2:在图形界面打开firewall-configuration
使用firewall-config工具配置完防火墙策略之后,无需进行二次确认,只要修改,自动保存。
实验1:
将当前区域中请求http服务的流量设置为允许放行,但仅限当前生效。
实验2:
添加一条防火墙规则:放行访问8080~8088的流量,并将其设置为永久生效。
Reload wall让配置的规则立即生效
实验3:
应用SNAT技术:
局域网中有多台PC,如果网关服务器没有应用SNAT技术(源地址转换),PC收不到响应数据包。
实验4:
重复前文用firewall-cmd工具的实验:将本机888端口的流量转发到22端口
实验5:
将网卡与防火墙策略区域进行绑定:
总结:
配置防火墙策略的原则:只要能实现所需的功能,工具可以任选一种。