目录
第一部分:理论讲解
一:Firewalld高级配置
1.1关于iptables的知识
IP数据包过滤系统是一种功能强大的工具,可用于添加、编辑和除去规则,这些规则是在做数据包过滤决定时,防火墙所遵循和组成的规则,这些规则存储在专用的数据包过滤表中,而这些表集成在Linux内核中。在数据包过滤表中,规则被分组放在我们所谓的链中。
虽然netfilter/iptables IP数据包过滤系统被称为单个实体,但它实际上由两个组件netfilter和iptables组成。
(1).netfilter 组件也称为内核空间(kernelspace),是内核的一部分,由一些数据包过滤表组成,这些表包含内核用来控制数据包过滤处理的规则集。
(2).iptables 组件是一种工具,也称为用户空间(userspace),它使插入、修改和除去数据包过滤表中的规则变得容易。
iptables 包含4个表,5个链。其中表是按照对数据包的操作区分的,链是按照不同的Hook(挂钩)点来区分的,表和链实际上是 netfilter 的两个维度。
1.2firewalld中理解直接规则
将 iptables 的规则插入到 firewalld 的管理区域中,这种方式写的规则叫直接规则。
将某个IP 范围列入黑名单
在这个例子中首先自定义了一个叫 blacklist 的链,然后将所有来自 192.168.10.0/24 的数据包都指向了这个链,最后定义了这个链的规则:首先进行记录,然后drop,记录的方法是使“blacklist:”前缀并且限制一分钟记录一次。
(1)创建一个黑名单,并为这个黑名单创建一个链,链名为 blacklist
(2)将来自 192.168.10.0/24 的数据包指向这个链
(3)每分钟记录一次日志(-m limit --limit 1/min每分钟记录一次日志)
(4)设置这个链的规则为DROP
(5)重启firewalld(重启或重载后失效)
(6)查看直接规则
注释:
IPV4:这个属性非常简单,表示IP的版本
table:chain和rule节点中的table属性就是iptables/ip6tables中的table
chain:chain中的chain属性用于指定一个自定义链的名字,注意,不可与已有链重名;rule中的chain属性既可以是内建的,也可以是在direct中自定义的chain
priority:优先级,用于设置不同 rule 的优先级,就像iptables 中规则的前后顺序,数字越小优先级越高
args:rule 和 passthrough 中的 args 就是 iptables/ip6tables 中的一条具体的规则,不过他们可以使用我们自定义的 chain。
备注:用其他主机ping它,然后查看messages日志文件,会看到相关的日志条目
1.3使用富语言
不需要使用 iptables 语法,而是使用高级语言配置防火墙规则的机制成为富语言。
1.规则排序
2.测试和调试
3.理解富规则命令
4.规则配置举例
(1)为认证报头协议 AH 使用新的 IPv4 和 IPv6 连接
(2)允许新的IPv4 和IPv6 连接 http,并使用审核每分钟记录一次
注意:
开启日志记录后:
(3)允许来自 192.168.0.0/24 地址的 TFTP 协议的IPv4 连接,并且使用系统日志每分钟记录
(4)为 RADIUS 协议拒绝所有来自 1:2:3:4:6::的新的IPv6 连接,日志前缀为“dns”,级别为info,并每分钟最多记录3次。接受来自其他发起段新的IPv6连接
(5)将源 192.168.2.2 地址加入白名单,以允许来自这个源地址的所有连接
(6)拒绝(删除)来自 public 区域中 IP 地址为 192.168.0.11 的所有流量
(8)在 192.168.1.0/24 子网的 dmz 区域中,接收端口 7900--1905 的所有 TCP 包
(9)接受从 work 区域到 ssh 的新连接,以 notice 级别且每分钟最多三条信息的方式将新连接记录到 syslog
(10)在接下来的 5min 内,拒绝从默认区域中的子网 192.168.2.0/24 到 DNS 的新连接,并且拒绝的连接将记录到 audit 系统,且每小时最多一条消息
二:配置firewalld防火墙的地址伪装和端口转发
实验环境
实验描述
实验需求
1.ens33分配到external区域、ens37分配到trusted区域、ens38分配到dmz区域
2.网站服务器和网关服务器通过 ssh 来远程管理,并修改端口号为 12345
3.服务器开启 https
4.web 服务器拒绝 ping,网关服务器拒绝来自互联网上的 ping
5.公司内网用户需要通过网关服务器共享上网
6. 互联网用户需要访问 dmz 区域的 web 服务
2.1基本配置
1:基本环境配置
按照实验TOP设置各个服务器网卡的IP地址
(1)在网关服务器上配置主机名
(2)开启网关服务器的路由转发功能
(3)配置Web服务器的主机名
2:网站服务器环境的搭建
(1)验证 firewalld 在网站服务器上是否启动并且正常运行
(2)安装 httpd和 mod_ssl 软件包
(3)启用并启动 httpd 服务
(4)创建网站首页测试页 index.html
(5)更改 ssh 的监听端口,并重启服务,关闭 SELinux
3.在网站服务器上配置firewalld防火墙
(1)设置默认区域为dmz区域
(2)为 dmz 区域打开 https 服务并添加 TCP 的 12345 端口
(3)禁止ping
(4)因为预定于的 ssh 服务已经更改了端口,所以要将预定于 ssh 服务移除
(5)重新加载 firewalld 配置。并查看之前的配置
4.在网关服务器上配置firewalld防火墙
(1)验证firewalld在网关服务器上是否启动并且正在运行
(2)设置默认区域为 external 区域,并查看配置结果
(3)将 ens37 网卡配置到 trusted 区域,将 ens38 配置到 dmz区域
(4)查看配置情况
(5)在企业内网测试计算机上访问网站服务器
(6)关闭 SELinux,更改 ssh 的监听端口,并重启服务
(7)配置 external 区域添加 TCP 的 12345 端口
(8)配置 external 区域移除 ssh 服务
(9)配置 external 区域禁止 ping
(10)重新加载防火墙配置
(11)在互联网测试机上通过 ssh 登录网关玩不接口地址的 12345 端口
(12)在企业内网测试机上 ssh 登录 web 网站服务器的 12345 端口
2.2配置IP伪装与端口转发
1:内网用户通过网关服务器共享上网
(1)外网测试机搭建网站服务,并添加测试网页
(2)在企业内网测试机上访问外网网站,结果是可以访问的
(3)在 dmz的网站服务器上测试,同样可以访问
(4)查看网关服务器的 external 区域是否开启了地址伪装
(5)源地址 192.168.1.0/24 网段的地址开启 IP 伪装
在网关服务器上关闭 external的地址伪装,添加富规则,要求 external 区域内源地址为
192.168.1.0/24 网段的地址开启地址 IP 伪装
(6)在 dmz的网站服务器上测试访问外网,应该不能访问外网,但内网可以
2:配置端口转发实现互联网用户访问内部 web 服务器
(1)在网关服务器上配置端口转发
(2)在互联网测试机上访问内部 web 服务器,可以访问成功
(3)端口转发也可以使用富规则,这样就可以更大程度的控制端口转发规则,如给内网的web 服务器申请了一个新的公网 ip 地址 100.1.1.15,需要将新的公网地址 100.1.1.15 配置在网关服务器的外网接口 ens33 上,作为第二个 |p 地址
使用富规则配置端口转发
在互联网测试机上访问,可以访问成功
标签:网关,配置,端口,Firewalld,防火墙,规则,服务器,数据包 From: https://blog.csdn.net/2301_76414216/article/details/140156867