Firewalld防火墙基础,firewalld关闭防火墙

Firewalld防火墙基础Firewalld概述
firewalld简介
firewalld 的作用是为包过滤机制提供匹配规则(或称为策略),通过各种不同的规则告诉netfilter对来自指定源,前往指定目的或具有某些协

Firewalld概述

firewalld简介

firewalld的作用是提供与数据包过滤机制相匹配的规则(或策略),使用各种规则来过滤来自指定源、到达指定目的地的数据,或者告诉netfilter如何处理数据包。为了更方便地组织和管理防火墙,firewald 提供了动态防火墙管理工具,支持由网络链接和网络区域定义的接口安全级别。它支持IPv4、IPV6防火墙设置和以太网桥接,并具有两种配置模式:运行时配置和持久配置。它还支持将防火墙规则直接添加到服务或应用程序的接口。

firewalld和iptables的关系

firewalld本身没有防火墙功能,和iptables一样,必须通过内核的netfilter来实现。也就是说,firewalld和iptables具有相同的维护规则的功能,并且内核中的netfilter实际上使用了规则,但是firewalld和iptables的结构和用法有所不同。该系统提供图形配置工具firewall-config和system-config-firewal以及命令行客户端firewall-cmd,用于配置firewalld :的持久或非持久执行时间更改。这使用iptables 工具和执行数据。接下来,Netfilter在内核内部进行通信,进行数据包过滤。图1.1展示了firewalld和iptables之间的逻辑关系。

如图1.1所示,iptables服务和firewalld都通过iptables命令与内核的netfilter进行交互。在centos7上,您仍然可以使用iptables命令来管理防火墙。唯一的区别是,当您重新启动服务器或重新启动firewalld时,由iptables命令管理的规则不会自动加载并被firewalld的规则替换。

3.firewalld与iptables service 的区别

iptables 服务将其配置存储在/etc/sysconfig/iptables 中,而firewalld 将其配置存储在/usr/lib/firewalld/和/etc/firewalld/中的各种XML 文件中。

使用iptables 服务,每个单独的更改都意味着清除所有旧规则并从/etc/sysconfig/iptables 读取所有新规则,但使用firewalld 不会创建新规则,并且仅执行位置差异的规则。因此,firewald 可以在运行时更改配置,而不会丢失当前连接。

Firewalld网络区域

firewalld 通过将所有网络数据流量划分到多个区域来简化防火墙管理。根据数据包的源IP地址、接收网络接口等标准,将数据流量转发到相应区域的防火墙规则。对于进入系统的数据包,首先检查的是源地址。

如果源地址与特定区域关联,则将执行该区域设置的规则。

如果源地址未与特定区域关联,则使用传入网络接口的区域并应用该区域中指定的规则。

如果网络接口未与特定区域关联,则使用默认区域并应用该区域配置的规则。

默认区域不是一个单独的区域;它指的是系统上定义的其他区域。默认情况下,默认区域是公共的,但您的系统管理员可以更改默认区域。上述匹配规则中,按顺序排列的第一个匹配规则优先。

每个区域都允许您打开或关闭一组服务或端口。 Firewalld 的每个预定义区域都有一个配置为默认打开的服务。 frewalld 预定义区域的说明如表1-1 所示。

Firewalld防火墙的配置方法

在CentOS7系统上,可以通过三种方式配置firewalld防火墙:

防火墙配置图形工具。

firewall-cmd 命令行工具。

配置文件位于/etc/firewalld/.

一般不建议直接编辑配置文件。因此,本章仅介绍如何配置firewall-config图形工具和firewall-cmd命令行工具。

firewalld-config图形工具

firewall-config图形配置工具支持所有防火墙功能,并允许系统管理员修改系统或用户策略。 firewall-config 图形配置工具允许您配置服务、端口、伪装、端口转发、ICMP 过滤器以及防火墙允许的其他功能。在CentOS7系统上,单击“应用程序”下的“更多”,选择“防火墙”,打开firewall-config工作界面,如图1.2所示,或者直接在终端中输入firewall-config命令,运行该命令打开该界面。

firewall-config工作界面主要分为三部分:顶部为主菜单,中间为配置选项,底部为区域、服务、IPsets、ICMP类型、直接配置、锁定白名单。设置选项卡。仅当您从“显示”下拉菜单中选择“ICMP 类型”、“直接配置”和“锁定白名单”选项卡时,它们才可见。底部是状态栏,从左到右显示四条信息,后面是连接状态。默认区域、锁定状态、紧急模式。

防火墙配置主菜单包含四个菜单项: 文件、选项、查看和帮助。选项菜单是最重要的,包含以下选项:

重新加载防火墙: 会重新加载防火墙规则,并且当前的持久配置将成为新的运行时配置。例如,当系统重新加载时,未在持久配置中操作的任何当前运行的配置规则都会丢失。更改连接区域: 更改网络连接所属的区域和接口。

更改默认区域: 更改网络连接的默认区域。

紧急模式:表示丢弃所有数据包。

锁定: 锁定防火墙配置,仅允许修改白名单上的应用程序。图1.3 中的配置选项包括运行时和持久选项。运行时配置是当前正在使用的配置规则,而持久配置规则在系统或服务重新启动时生效。关于防火墙配置界面,您需要了解的主要内容是区域、服务和ICMP 等设置选项卡。

1“区域”选项卡

“区域”选项卡是您可以进行主要设置的界面。 Regions 选项卡下还有一系列子选项卡,包括Services、Ports、Protocols、Source Ports 和Masquerading。因此,区域代表服务、端口、协议、IP 伪装、ICMP 过滤等的组合。同时,Zone还可以绑定接口和源地址。

(1)“服务”子选项卡

服务子选项卡允许您定义区域中哪些服务是可信的,如图1.3 所示。受信任的服务可以通过绑定到该区域的任何连接、接口和源地址来访问。

(2)“端口”子选项卡

端口子选项卡用于设置允许访问的主机或网络访问的端口范围,如图1.4所示。

(3) Protocols子选项卡用于添加可以访问所有主机或网络的协议,如图1.5所示。

(4)“源端口”子选项卡允许您添加可以访问所有主机或连接到该主机的网络的其他源端口或范围,如图1.6 所示。配置源端口时,可以配置具体的端口号或端口范围。还需要选择相应的TCP或UDP协议。

Masquerade子选项卡用于将私网地址映射到公网IP地址,如图1.7所示。

(6) 端口转发子选项卡允许您将指定端口映射到另一个端口或映射到另一台主机上的指定端口,如图1.8 所示。配置端口转发时,还必须选择协议类型。此功能仅支持IPV4。

7) ICMP Filter 子选项卡:ICMP 主要用于在联网计算机之间发送错误消息,但它也发送ping 请求和响应等信息。 ICMP 过滤器子选项卡允许您选择要拒绝的ICMP 类型,但允许所有其他ICMP 类型通过防火墙。默认设置为无限制,如图1.9所示。

除了上述子选项卡外,“区域”选项卡还有其他子选项卡。这里只介绍常用的,其他的就不详细解释了。

2.“服务”选项卡

服务是端口、协议、模块和目标地址的组合,“服务”选项卡只能在“持久配置”视图中修改。无法修改“运行时”配置中的服务。与“Regions”选项卡不同,“Services”选项卡仅包含“Ports”、“Protocols”和“Source Ports”五个子选项卡,它们具有相同的功能和配置方法。 “区域”选项卡也是如此。

Modules子选项卡是用于配置网络过滤的辅助模块,如图1.10所示。

目标地址子选项卡: 如果服务指定目标地址,则服务项仅限于目标地址和类型。如果IPv4和IPv6都为空,则没有限制,如图1.11所示。

3.更改防火墙设置

要立即更改当前防火墙设置,请确保在运行时设置当前视图。或者,从下拉菜单中选择“持久”,如图1.12 所示,编辑设置以在下次系统启动或防火墙重新加载时运行。

在运行时模式下更改防火墙设置时,一旦启用或清除用于连接到服务器的复选框,您的选择就会生效。仅在重新加载防火墙或重新启动系统后,对持久模式下的防火墙设置所做的更改才会生效。使用“文件”菜单上的“重新加载”图标或单击“选项”菜单并选择“重新加载防火墙”。

4.更改默认分区

要将新接口分配到的分区配置为默认值,请启动firewall-config,从菜单栏中选择“ ”选项卡,然后从下拉菜单中选择“更改默认区域”。将出现“默认区域”窗口,如下所示。图1.13。从指定列表中选择要用作默认分区的分区,然后单击“确定”按钮。

1.3.2 防火墙-cmd命令

1. 防火墙服务管理

当你安装CentOS7系统时,会自动安装firewalld和图形化工具firewall-config。运行以下命令启动firewalld,并将其设置为开机自动启动。

如果firewalld正在运行,您可以使用systemctl status firewalld或firewall-cmd命令查看其运行状态。

或者

如果您想禁用firewalld,请运行以下命令。

获取预定义信息

firewal-cmd预定义信息主要包括:可用区域、可用服务、可用ICMP块类型等。具体显示命令如下。

firewall-cmd –get-icmptypes命令执行结果中各个块类型的含义如下。

destination-unreachable: 目标地址无法访问。

echo-reply: echo-reply(pop)。

参数问题: 参数问题。

重定向: 重定向。

router-advertisement: 路由器通告

router-solicitation: 路由器请求。

source-quench: 源端淬火。

time-exceeded: 超时。

timestamp-reply: 时间戳回复响应

timestamp-request: 时间戳请求。

3.区域管理

使用firewall-cmd命令可以获取和管理区域、将网络接口绑定到指定区域以及执行其他功能。表1-2 介绍了firewall-cmd 命令的区域管理选项。

具体操作如下。

(1) 显示当前系统默认区域。

显示默认区域的所有规则

显示网络接口ens33对应的区域

将网络接口ens33对应的区域更改为内部区域

显示所有活动区域

4.服务管理

为了便于管理,firewalld 预定义了许多服务,这些服务存储在/usr/lib/firewalld/services/目录中。服务由单个XML 配置文件指定。这些配置文件名为:service-name.xml,格式如下,每个文件对应一个特定的网络服务,例如ssh服务。对应的配置文件记录了每个服务使用的tcp/udp端口。最新版本的firewalld默认定义了70多种服务,并允许您配置允许哪些服务访问网络的不同区域。如果默认服务不适用,或者需要为特定服务自定义端口,则必须将服务配置文件放置在/etc/firewalld/services 目录中。此服务配置具有以下优点:

使用服务名称管理规则更加用户友好。

为每个服务组织端口组的方式相当于如果一个服务使用多个网络端口,则服务配置文件提供了管理这些端口的规则的批量操作快捷方式。

具体操作如下。

(1) 设置服务以允许访问默认区域设置。

(2) 配置允许访问内部区域的服务。

5. 港口管理

配置服务时,您可以使用服务名称配置预定义的网络服务,与该服务关联的端口将自动打开。但对于未预定义的服务,只能手动添加指定区域的端口。例如,要在内部区域中打开端口443/TCP:

如果要禁止访问内部区域的443/TCP端口,请执行以下命令。

6.两种设置模式

前面提到,firewall-cmd命令工具有两种配置方式。 运行时模式(runtime mode)会在系统或firewalld服务重新启动或停止时禁用配置。持久模式)是指规则配置在防火墙重启或防火墙重新加载后永久保存在配置文件中。

firewall-cmd命令工具有3个与配置模式相关的选项。

–reload: 重新加载防火墙规则并维护状态信息。也就是说,将持久配置应用为运行时配置。

–permanent: 带有此选项的命令用于设置永久规则。如果没有此选项,这些规则只有在重新启动firewalld或重新加载防火墙规则时才会生效。

–runtime-to-permanent: 将当前运行时配置写入规则配置文件,使其永久化。

1.3.3 Firewalld 对于防火墙

1. 实验环境

2. 要求说明

下面解释这种情况下的要求。

禁止主机ping 服务器

仅允许192.168.8.130主机访问SSH服务

允许所有主机访问Apache服务

3. 实验流程(1) 设置网络参数

按照图1.14配置基本网络参数。

(2)firewalld 开启防火墙

filewalld高级配置

关于iptables的知识

IP 数据包过滤系统是一个功能强大的工具,可用于添加、编辑和删除防火墙在做出数据包过滤决策时遵循和配置的规则。这些规则存储在集成到Linux 内核中的专用数据包过滤表中。在数据包过滤器表中,规则被分组为所谓的链。

netfilter/iptables 虽然IP 数据包过滤系统被称为单个实体,但它实际上由两个组件组成:netfilter 和iptables。

(1).netfilter组件也称为内核空间,是内核的一部分,由若干个包过滤表组成。这些表包含内核用来控制数据包过滤操作的一组规则。 (2).iptables组件,也称为用户空间,是一个允许您轻松地在包过滤表中插入、修改和删除规则的工具。

iptables包含4个表和5个链。表根据数据包的行为来区分,链根据不同的钩子点来区分。表和链实际上是网络过滤器的两个维度。

filewalld中理解直接规则

以这种方式编写的规则称为直接规则。

为了将某个IP范围列入黑名单,在本例中,首先定制一条名为blacklist的链,然后将来自192.168.10.0/24的所有数据包发送到该链,最后在第一条记录中定义该链的规则为:然后掉落。录音方法使用“blacklisted:”前缀,并将录音限制为每分钟一次。 (1) 创建黑名单,并创建该黑名单的链。链名已列入黑名单。

[root@localhost ~]#firewall-cmd –direct –permanent –add-chain ipv4 原始黑名单

(2)将192.168.10.0/24的数据包直接发送到这条链[root@localhost ~]#firewall-cmd –direct –permanent –add-rule ipv4 raw PREROUTING 0 -S192.168.10.0/24 – Blacklist

(3) 每分钟记录一次(-m limit –limit 1/min 每分钟记录一次) [root@localhost ~]#tfirewall-cmd –direct –permanent –add-rule ipv4 raw blacklist 0 -m limit – – 限制1/分钟-j LoG –log-prefix \’黑名单\’

(4) 设置该链的规则为DROP[root@localhost ~]#firewall-cmd –direct –permanent –add-rule ipv4 raw blacklist 1 -jDROP。

(5)重启firewalld(重启或重新加载后生效) [root@localhost ~]# systemctl restartfirewalld

(6)直接查看规则

[root@localhost ~]# cat /etc/firewalld/direct.xml?xml version=\’1.0\’encoding=\’utf-8\’?

directchain table=\’raw\’ ipv=\’ipv4\’ chain=\’blacklist\’/rulepriority=\’0\’ table=\’raw\’ ipv=\’ipv4\’ chan=\’PREROUTING\’-S 192.168.10.0/24-jblacklist/rule

规则优先级=\’1\’ 表=\’原始\’ ipv=\’ipv4\’ 链=\’黑名单\’-j DROP/rule/direct

评论:

lpv4:这个属性很简单,代表IP版本。

table:chain和规则节点的table属性是iptables/ip6tables的tablechain:chain属性。请注意,链的链属性不能与现有链同名。规则中的属性可以是内置的(即iptables/ip6tables 5 链)或直接自定义的链。

priority: 优先级,用于设置不同rue的优先级,类似于iptables中的规则顺序。数字越低,优先级越高。

args: 规则参数和传递是iptables/ip6tables 特定规则,但您可以使用自定义链。

注意: 如果您ping 另一台主机并检查消息日志文件,您将看到相关的日志条目。

笔记:

明确的直接规则

/etc/firewalld/direct.xml

使用富语言

1: 什么是富语言?

丰富语言是一种使用高级语言而不是使用iptables 语法来配置防火墙规则的机制。

排序规则

测试与调试

3: 关于丰富规则命令

4: 规则配置示例

(1)使用新的IPv4和IPv6连接进行认证头协议AH [root@localhost ~]#firewall-cmd –add-rich-rule=\’rule protocol value=ah accept\’

(2) 允许新的IPv4 和IPv6 连接到http,并使用审核每分钟记录一次[root@localhost ~]#firewall-cmd –add-rich-rule=\’rule service name=http log prefix=httpaccesslimit value=1 /m审核验收\’

注:

启用日志记录后

[root@localhost ~]# cat /var/log/messages

1 月14 日11:27:29 192 kernel: \’httpaccess\’N=ens33 OUT=MAC=00:0c:29:85:a0:bd:00:0c:29:5e:d3333 6 07 2:08:00 SRC=192.168.10.102 DST=192.168.10.101LEN=60 TOS=0x00 PREC=0xO0 TTL=64 ID=60222 DF PROTO=TCP SPT=53168 DPT=80WINDOW=29200 RES=0x00 SYN URGP=0

(3) 允许来自192.168.0.0/24 地址的TFTP 协议的IPv4 连接,并使用系统日志每分钟记录一次。

[root@locahost ~]#firewall-cmd –add-rich=\’rule family=\’ipv4\’ 源地址=\’192.168.0.0/24\’ 服务名称=\’tftp\’ 日志前缀=\’tftp\’ Level=\’info \’极限值=\’1/m\’接受\’

(4) 对于RADIUS 协议,拒绝来自1:2:3:4:6: 的所有新IPv6 连接。日志以“dns”为前缀,级别为info,每分钟最多记录3次。接受来自其他源网段的新IPv6 连接[root@localhost ~]#firewall-cmd .-add-rich-rule=\’rule family=\’ipv6\’ 源地址=\’1:2:3:6: 服务名称=\’raduis\’ 日志前缀=\’dns\’ level=\’信息\’ limit=\’3/m\’ 拒绝\’

(5)将源地址192.168.2.2添加到白名单中,允许来自该源地址的所有连接[root@localhost~]#firewall-cmd–add-rich-rule=\’rule accept family=\’ipv4\’sourceaddress=\’192.168 .2.2\’

(6) 拒绝来自IP 地址为192.168.0.11 root@localhost ~]#firewall-cmd–zone=public -add-rich-rule=\’rule family=ipv4 sourceaddress=192.168 的公共区域的所有流量(remove ) 要做的。 10.202/32 拒绝\’

[root@localhost ~]#firewall-cmd–zone=public–remove-rich-rule=\’规则族=ipv4源地址=192.168.10.202/32拒绝\’

(7) 丢弃来自默认区域中任意位置的所有传入ipsecesp 协议数据包[root@localhost ~]#firewall-cmd –add-rich-rule=\’rule protocol value=\’esp\’ Drop

(8)192.168.1.0/24子网上

的 dmz 区域中,接收端口 7900–1905 的所有 TCP 包[root@locahost ~#firewall-cmd –zone=dmz -add-rich-rule=\’rule family=ipv4 sourceaddress=192.168.1.0/24 port port=7900-1905 protocol=tcp accept\’
(9)接受从 work 区域到 ssh 的新连接,以 notice 级别且每分钟最多三条信息的方式将新连接记录到 syslog
[root@localhost ~]# firewall-cmd -zone=work –add-rich-rule=\’rule service name=ssh logprefix=\”ssh\” level=\”notice\” limit value=\”3/m\” accept\’
(10)在接下来的 5min 内,拒绝从默认区域中的子网 192.168.2.0/24 到 DNS 的新连接,并且拒绝的连接将记录到 audit 系统,且每小时最多一条消息[root@localhost ~]# firewall-cmd –add-rich-rule=\’rule family=ipv4 sourceaddress=192.168.2.0/24 service name=dns audit limit value=\”1/h\” reject\’–timeout=300

配置firewall防火墙的地址伪装和端口转发

实验环境

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

基本配置

1:基本环境配置按照实验 TOP 设置各个服务器网卡的|P 地址
(1)在网关服务器上配置主机名[root@localhost ~]# hostname gateway-server[root@localhost ~]# vi/etc/hostname
gateway-server
(2)开启网关服务器的路由转发功能[root@localhost ~]# vi /etc/sysctl.confnet.ipv4.ip forward=1[root@localhost ~]# sysctl -p
(3)配置 web 服务器的主机名[root@localhost ~]# vi /etc/hostnameweb

2:网站服务器环境的搭建
(1)验证 firewalld 在网站服务器上是否启动并且正常运行[root@web ~]#systemctl status firewalld
(2)安装 httpd 和 mod ssl 软件包[root@web ~]#yum install -y httpd mod ssl
(3)启用并启动 httpd 服务[root@web ~]# systemctl start httpd[root@web ~]#systemctl enable httpd
(4)创建网站首页测试页index.html[root@web ~]# vi /var/www/html/index.htmltest web
(5)更改 ssh 的监听端口,并重启服务,关闭 SELinux[root@web ~]#setenforce 0[root@web ~]# vi /etc/ssh/sshd configPort 12345
[root@web ~]# systemctl restart sshd
3:在网站服务器上配置 firewalld 防火墙(1)设置默认区域为 dmz 区域
[root@web ~]# firewall-cmd –set-default-zone=dmz

(2)为 dmz 区域打开 https 服务并添加 TCP 的 12345 端口[root@web ~]# firewall-cmd –zone=dmz –add-service=https –permanent[root@web ~]# firewall-cmd –zone=dmz –add-port=12345/tcp –permanent
(3)禁止 ping
[root@web ~]# firewall-cmd –add-icmp-block=echo-request –zone=dmz –permanent
(4)因为预定于的 ssh 服务已经更改了端口,所以要将预定于 ssh 服务移除[root@web ~]#firewall-cmd –zone=dmz –remove-service=ssh –permanent

(5)重新加载 firewalld 配置。并査看之前的配置[root@web ~]#firewall-cmd –reload[root@web ~]# firewall-cmd –list-alldmz (active)
target: defaulticmp-block-inversion: no
interfaces: ens33
sources:
services: httpsports:12345/tcp
protocols:
masquerade:no
forward-ports:
sourceports:
icmp-blocks: echo-request
rich rules:
4:在网关服务器上配置 firewalld 防火墙
(1)验证firewalld 在网关服务器上是否启动并且正在运行[root@gateway-server ~]# systemctl status firewalld

(2)设置默认区域为 external 区域,并查看配置结果[root@gateway-server ~]# firewall-cmd –set-default-zone=external[root@gateway-server~]#firewall-cmd –list-all
external (active)
target: default
icmp-block-inversion: no
interfaces: ens33 ens37 ens38
sources:
services:ssh
ports:
protocols:
masquerade: yes
forward-ports:
sourceports.icmp-blocks:rich rules:
(3)将 ens37 网卡配置到 trusted 区域,将 ens38 配置到 dmz 区域[root@gateway-server ~]# firewall-cmd –change-interface=ens37 –zone=trusted –permanent[root@gateway-server ~]# firewall-cmd –change-interface=ens38 –zone=dmz –permanent
(4)查看配置情况

[root@gateway-server ~]#firewall-cmd –get-active-zone
dmz
interfaces: ens38
external
interfaces: ens33
trusted
interfaces: ens37
(5)在企业内网测试计算机上访问网站服务器https:192.168.2.10
(6)关闭 SELinux,更改 ssh 的监听端口,并重启服务[root@gateway-server~]#setenforce 0
[root@gateway-server ~]# vi /etc/ssh/sshd config
Port 12345
[root@gateway-server ~]#systemctl restart sshd
(7)配置 external 区域添加 TCP 的 12345 端口[root@gateway-server ~]# firewall-cmd –zone=external –add-port=12345/tcp –permanent
(8)配置 external 区域移除 ssh 服务[root@gateway-server ~]# firewall-cmd –zone=external –remove-service=ssh –permanent
(9)配置 external 区域禁止 ping
[root@gateway-server ~]#firewall-cmd–zone=external–add-icmp-block=echo-request
–permanent

(10)重新加载防火墙配置
[root@gateway-server~]#firewall-cmd –reload
(11)在互联网测试机上通过 ssh 登录网关玩不接口地址的 12345 端口[root@localhost ~]# ssh -p 12345 100.1.1.10
(12)在企业内网测试机上 ssh 登录 web 网站服务器的 12345 端口[root@localhost ~]# ssh -p 12345 192.168.2.10

配置IP伪装与端口转发

1:内网用户通过网关服务器共享上网
(1)外网测试机搭建网站服务,并添加测试网页
[root@localhost ~]# hostname internet[root@localhost ~]# bash
[root@internet ~]# yum install -y httpd
[root@internet ~]#vi /var/www/html/index.htmlinternet web
[root@internet ~]#systemctl enable httpd[root@internet ~l#systemctl start httpd
[root@192 ~l# firewall-cmd –add-service=http –permanent[root@192 ~]#firewall-cmd –reload
(2)在企业内网测试机上访问外网网站,结果是可以访问的http://100.1.1.20
(3)在 dmz的网站服务器上测试,同样可以访问http://100.1.1.20

(4)查看网关服务器的 external 区域是否开启了地址伪装root@internet ~]#firewall-cmd –list-all –zone=externalexternal
target: default
icmp-block-inversion:no
interfaces:
sources:
services:ssh
ports:
protocols:
masquerade:yes
forward-ports:
sourceports:
icmp-blocks:
rich rules:
(5)源地址 192.168.1.0/24 网段的地址开启 |P 伪装
在网关服务器上关闭 external 的地址伪装,添加富规则,要求 external 区域内源地址为192.168.1.0/24 网段的地址开启地址 IP 伪装[root@gateway-server ~]# firewall-cmd –remove-masquerade –zone=external –permanent[root@gateway-server ~]# firewall-cmd –zone=external –add-rich-rule=\’rule family=ipv4 sourceaddress=192.168.1.0/24 masquerade\’–permanent
[root@192 ~]# firewall-cmd –reload

(6)在dmz的网站服务器上测试访问外网,应该不能访问外网,但内网可以http://100.1.1.20
2:配置端口转发实现互联网用户访问内部 web 服务器(1)在网关服务器上配置端口转发
root@gateway-server~#firewall-cmd–zone=externa–add-forward-port=port=443:proto=tcp:toaddr=192.168.2.10 –permanent
(2)在互联网测试机上访问内部web 服务器,可以访问成功https://100.1.1.10
(3)端口转发也可以使用富规则,这样就可以更大程度的控制端口转发规则,如给内网白web 服务器申请了一个新的公网 ip 地址 100.1.1.15,需要将新的公网地址 100.1.1.15 配置石网关服务器的外网接口 ens33 上,作为第二个 |p 地址[root@gateway-server ~]#vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR1=100.1.1.15
PREFIX1=24
IPADDRO=100.1.1.10
PREFIX=24
[root@gateway-server ~]# systemctl restart network
[root@gateway-server~]#ip add
1: lo: <LOOPBACK,UP,LOWER UP> mtu 65536 qdisc noqueue state UNKNOWN glen 1link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lo
valid lft forever preferred lft foreverinet6 ::1/128 scope host

valid lft forever preferred lft forever2: ens33: <BROADCAST,MULTICAST,UP,LOWER UP> mtu 1500 qdisc pfifo fast state Up glen 1000link/ether 00:0c:29:ae:7f:64 brd ff:ff:ff:ff:ff:ffinet 100.1.1.10/8 brd 100.255.255.255 scope global ens33valid lft forever preferred lft foreverinet 100.1.1.15/24 brd 100.1.1.255 scope global ens33
valid lft forever preferred lft forever
使用富规则配置端口转发
[root@gateway-server ~]# firewall-cmd –zone=external –add-rich-rule=\’rule family=ipv4destination address=100.1.1.15/32 forward-port port=443 protocol=tcp to-addr=192.168.2.10
在互联网测试机上访问,可以访问成功https://100.1.1.15

#以上关于Firewalld防火墙基础的相关内容来源网络仅供参考,相关信息请以官方公告为准!

原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/92917.html

(0)
CSDN's avatarCSDN
上一篇 2024年7月4日 下午4:34
下一篇 2024年7月4日 下午4:34

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注