firewalld 高级配置

关于 iptables 的知识

IP 数据包过滤系统是一种功能强大的工具,可用于添加、编辑和除去规则,这些规则是在做数据包过滤决定时,防火墙所遵循和组成的规则。这些规则存储在专用的数据包过滤表中,而这些表集成在 Linux 内核中。在数据包过滤表中,规则被分组放在我们所谓的链(chain)中。
虽然 netfilter/iptablesIp 数据包过滤系统被称为单个实体,但它实际上由两个组件netfilter 和iptables 组成。
(1).netfilter 组件也称为内核空间(kernelspace),是内核的一部分,由一些数据包过滤表组成,这些表包含内核用来控制数据包过滤处理的规则集。
(2).iptables 组件是一种工具,也称为用户空间(userspace),它使插入、修改和除去数据包过滤表中的规则变得容易。
iptables 包含4个表,5个链。其中表是按照对数据包的操作区分的,链是按照不同的Hook(挂钩)点来区分的,表和链实际上是netfilter 的两个维度。

firewalld 中理解直接规则

将 iptables 的规则插入到 firewalld 的管理区域中,这种方式写的规则叫直接规则。将某个IP范围列入黑名单
在这个例子中首先自定义了一个叫 blacklist 的链,然后将所有来自 192.168.10.0/24 的数据包都指向了这个链,最后定义了这个链的规则:首先进行记录,然后drop,记录的方法是使用“blacklisted:"前缀并且限制 1分钟记录一次。

(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 属性既可以是内建的(也就是 iptables/ip6tables 中的五条链),也可以是在 direct 中自定义的 chain
》priority:优先级,用于设置不同rule 的优先级,就像 iptables 中规则的前后顺序,数字越小优先级越高
》args: rule 和 passthrough 中的 args 就是 iptables/ip6tables 中的一条具体的规则,不过他们可以使用我们自定义的 chain。
清空直接规则
》/etc/firewalld/direct.xm

使用富语言

1:什么是富语言
不需要使用 iptables 语法,而是使用高级语言配置防火墙规则的机制成为富语言。
规则排序
测试和调试
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 的所有流量
在这里插入图片描述
(7)丢弃来自默认区域中任何位置的所有传入的ipsec esp 协议包
在这里插入图片描述
(8)在 192.168.1.0/24 子网的 dmz 区域中,接收端口 7900–1905 的所有 TCP 包
在这里插入图片描述
(9)接受从 work 区域到 ssh 的新连接,以 notice 级别且每分钟最多三条信息的方式将新连接记录到 syslog
在这里插入图片描述
(10)在接下来的 5min 内,拒绝从默认区域中的子网 192.168.2.0/24 到 DNS 的新连接,并且拒绝的连接将记录到 audit 系统,且每小时最多一条消息
在这里插入图片描述

二:配置 firewal 防火墙的地址伪装和端口转发

实验环境
在这里插入图片描述
实验需求

》ens33 分配到 external 区域、ens37 分配到 trusted 区域、ens38 分配到 dmz 区域
》网站服务器和网关服务器通过 ssh 来远程管理,并修改端口号为 12345
》服务器开启 https,
》web 服务器拒绝 ping,网关服务器拒绝来自互联网上的 ping
》公司内网用户需要通过网关服务器共享上网
》互联网用户需要访问 dmz 区域的 web 服务

实验过程

基本配置

  1. 基本环境配置

按照实验 TOP 设置各个服务器网卡的 IP 地址
(1)在网关服务器上配置主机名
在这里插入图片描述
(2)开启网关服务器的路由转发功能
在这里插入图片描述
(3)配置 web 服务器的主机名
在这里插入图片描述

  1. 网站服务器环境的搭建

(1)验证 firewalld 在网站服务器上是否启动并且正常运行
在这里插入图片描述
(2)安装 httpd 和 mod_ssl 软件包
在这里插入图片描述
(3)启用并启动 httpd 服务
在这里插入图片描述
(4)创建网站首页测试页 index.html
在这里插入图片描述
(5)更改 ssh 的监听端口,并重启服务,关闭 SELinux
在这里插入图片描述

  1. 在网站服务器上配置 firewalld 防火墙

(1)设置默认区域为 dmz 区域
在这里插入图片描述
(2)为 dmz 区域打开 https 服务并添加 TCP 的 12345 端口
在这里插入图片描述
(3)禁止 ping
在这里插入图片描述
(4)因为预定于的ssh 服务已经更改了端口,所以要将预定于 ssh 服务移除
在这里插入图片描述
(5)重新加载 firewalld 配置。并查看之前的配置
在这里插入图片描述

  1. 在网关服务器上配置 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 端口
在这里插入图片描述

配置IP 伪装与端口转发

  1. 内网用户通过网关服务器共享上网

(1)外网测试机搭建网站服务,并添加测试网页
在这里插入图片描述
(2)在企业内网测试机上访间外网网站,结果是可以访问的
在这里插入图片描述
(3)在 dmz的网站服务器上测试,同样可以访问
在这里插入图片描述
(4)查看网关服务器的 external 区域是否开启了地址伪装
在这里插入图片描述
(5)源地址 192.168.1.0/24 网段的地址开启 IP 伪装
在网关服务器上关闭 external 的地址伪装,添加富规则,要求 external 区域内源地址为s192.168.1.0/24 网段的地址开启地址 IP 伪装
在这里插入图片描述
(6)在 dmz的网站服务器上测试访问外网,应该不能访问外网,但内网可以

  1. 配置端口转发实现互联网用户访问内部 web 服务器

(1)在网关服务器上配置端口转发
在这里插入图片描述
(2)在互联网测试机上访问内部 web 服务器,可以访问成功
在这里插入图片描述
(3)端口转发也可以使用富规则,这样就可以更大程度的控制端口转发规则,如给内网的web 服务器申请了一个新的公网 ip 地址 100.1.1.15,需要将新的公网地址 100.1.1.15 配置在网关服务器的外网接口 ens33 上,作为第二个 ip 地址
在这里插入图片描述
使用富规则配置端口转发
在这里插入图片描述
在互联网测试机上访问,可以访问成功
在这里插入图片描述

  • 27
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值