注意:
- 此教程需要访问 Oracle Cloud。要注册免费账户,请参阅开始使用 Oracle Cloud Infrastructure Free Tier 。
- 它使用 Oracle Cloud Infrastructure 身份证明、租户和区间示例值。完成实验室时,请将这些值替换为特定于您的云环境的值。
在 Oracle Cloud Infrastructure 中安装 pfSense 防火墙
简介
注:Netgate 或 Oracle 在 Oracle Cloud Infrastructure 上未正式支持 pfSense。请先与 pfSense 支持团队联系,然后再尝试本教程。
pfSense 是可用于生产或测试的防火墙,您可以在其中模拟 Oracle Cloud Infrastructure (OCI) 本机防火墙服务。此 pfSense 防火墙设置可以在中心服务器和分支 VCN 路由方案中使用。
下图显示了完成部署和配置后环境将如何运行。
目标
- 在 OCI 中设置 pfSense 防火墙。我们将对路由和安全列表进行调整,以便可以正确管理 pfSense 防火墙,并且我们将进行一些 ICMP 测试来验证连接。
先决条件
- 在 OCI 中设置 pfSense 防火墙之前,必须使用 Web 浏览器连接到新的 pfSense 防火墙以对 pfSense 防火墙执行管理的其他实例。在本教程中,我们创建了一个 Windows 实例来执行此操作。确保你有类似的东西。
任务 1:下载 pfSense 图像
-
从 Netgate 网站下载 pfSense 映像。确保下载
memstick-serial
版本。我们使用的映像的文件名是pfSense-CE-memstick-serial-2.7.2-RELEASE-amd64.img.gz
。有关更多信息,请参见 Netgate 。- 图像将采用
.gz
格式。 - 如果使用的是 OS X,请右键单击压缩文件,然后单击打开方式。
- 选择 Archive Utility (default) 以解压缩映像。
- 图像将采用
-
请注意,图像文件名是
pfSense-CE-memstick-serial-2.7.2-RELEASE-amd64.img
。
任务 2:创建 OCI 对象存储桶
在此任务中,我们将创建 OCI 对象存储存储桶,该存储桶用于上载 pfSense 映像并用于创建定制映像。
-
创建存储桶。
- 单击左上角的汉堡菜单(≡)。
- 单击 Storage 。
- 单击存储桶。
-
单击创建存储桶。
- 输入组名称。
- 选择 Standard(标准)存储层作为 Default Storage Tier(默认存储层)。
- 单击创建。
-
请注意,存储桶已创建。
任务 3:将 pfSense 映像上载到存储桶
-
上载我们在任务 1 中下载的图像。
- 向下滚动。
- 单击上传。
-
在上载对象屏幕中,输入以下信息。
- 输入对象名称前缀。
- 选择 Standard 作为 Storage Tier 。
- 单击选择文件,然后选择 pfSense 图像。
- 选择了 pfSense 图像后,将在下一节中看到该图像。
- 单击上传。
-
当 pfSense 映像上载到存储桶时,您可以监视进度。
- pfSense 映像完全上载后,进度状态将为 Finished(已完成)。
- 单击关闭。
任务 4:创建定制映像
我们已上载 pfSense 映像。现在,我们需要基于此上载的映像创建定制 OCI 映像。此定制 OCI 映像将用于创建 pfSense 防火墙实例。
-
创建定制映像。
- 单击左上角的汉堡菜单(≡)。
- 单击计算。
- 单击定制映像。
-
单击导入图像。
-
在导入图像部分中,输入以下信息。
- 输入 name 。
- 选择 Generic Linux 作为 Operating system(操作系统)。
- 选择从对象存储桶导入。
- 选择上载映像的存储桶。
- 在对象名称中,选择 pfSense 图像。
- 选择 VMDK 作为映像类型。
- 向下滚动。
-
保留其他字段的默认值,然后单击导入图像。
- 请注意,状态为 IMPORTING 。
- 向下滚动。
- 请注意,状态为 In Progress 。
- 监视进度。
- 几分钟后,状态为 AVAILABLE ,状态将更改为 Succeeded 。
- % Complete 将为 100% 。
任务 5:使用定制 pfSense 映像创建实例
-
创建实例。
- 单击左上角的汉堡菜单(≡)。
- 单击计算。
- 单击实例。
- 单击创建实例。
- 输入实例名称。
- 向下滚动。
-
单击更改图像。
- 选择我的映像。
- 选择自定义图像。
- 向下滚动。
- 选择在任务 4 中创建的自定义图像。
- 单击选择图像。
- 请注意,已选择 pfSense 映像。
- 向下滚动。
- 在主网络中,选择选择现有虚拟云网络。
- 选择要附加到 pfSense 实例的 VCN 。
- 在子网中,选择选择现有子网。
- 选择要附加到 pfSense 实例的子网。
- 向下滚动。
- 选择 Manually assign private IPv4 address(手动分配专用 IPv4 地址)。
- 输入 IPv4 地址。
- 向下滚动。
- 选择 No SSH Keys 。
- 向下滚动。
-
单击创建。
-
请注意,状态为 PROVISIONING 。
-
几分钟后,状态将更改为正在运行。
-
下图展示了您创建的内容的可视化表示形式。
任务 6:在实例上安装 pfSense
我们需要执行 pfSense 防火墙的初始安装和设置。我们已经有正在运行的实例。
-
要安装 pfSense 防火墙软件,我们需要创建控制台连接。
- 向下滚动。
- 单击控制台连接。
- 单击启动 Cloud Shell 连接。
-
请注意, Cloud Shell 窗口将打开。
-
将显示一些启动消息。按 输入。
-
阅读版权消息,然后选择 Accept ,然后按 ENTER 键。
- 选择 Install pfSense 。
- 选择 OK ,然后按 ENTER 。
- 选择 Manual Disk Setup (experts) 。
- 选择 OK ,然后按 ENTER 。
- 选择 da0 - 47 GB MBR 。
- 选择创建,然后按 ENTER 。
- 在类型中,输入 freebsd 。
- 在大小中,输入 46 GB 。
- 输入 Mountpoint 。
- 选择 OK ,然后按 ENTER 。
- 在 da0s4 中,选择 46 GB BSD 。
- 选择创建,然后按 ENTER 。
- 在 Type 中,输入 freebsd-ufs 。
- 在大小中,输入 40 GB 。
- 在 Mountpoint(挂载点)中,输入 / 。
- 选择 OK ,然后按 ENTER 。
- 请注意,挂载点是为
/
创建的。 - 在 da0s4 中,输入 46 GB BSD 。
- 选择创建,然后按 ENTER 。
- 在 Type(类型)中,输入 freebsd-swap 。
- 在大小中,输入 5770 MB 。
- 输入 Mountpoint 。
- 选择 OK ,然后按 ENTER 。
- 请注意,挂载点是为交换创建的。
- 选择完成并按 ENTER
-
选择 Commit ,然后按 ENTER 。
-
安装将开始初始化设置。
安装将执行快速校验和验证。
安装将执行归档提取。
-
您将收到消息 Could not locate an existing
config.xml
file!,因为这是新安装。 -
选择 Reboot ,然后按 ENTER 。
-
第一次重新引导后,您将获得一些配置选项来配置 WAN 接口。
-
对于 Should VLANS be set up ,输入 n 并按 ENTER 键。
-
对于 Enter the WAN interface name or 'a' for auto-detection (vtnet0 or a) ,输入
vtnet0
。 -
在此设置中,我们将创建一个仅包含一个接口的防火墙,因此我们不会配置 LAN 接口,因此,对于 ENTER the LAN interface name or 'a' for auto-detection ,请按 ENTER 跳过此接口设置。
- 验证 WAN 接口名称。
- 对于 Do you want to continue ,输入 y 并按 ENTER 键。
-
请注意一些消息,配置将完成。
-
pfSense OS 将执行完全引导。
- 您将看到 IP 地址将使用 DHCP 进行配置。
- 请注意 pfSense 菜单以执行一些其他基本配置。
任务 7:连接到 pfSense Web 图形用户界面 (Web Graphic User Interface,GUI) 并完成初始设置
安装完成,现在我们需要连接到 pfSense 防火墙的 Web 界面。但在此之前,我们需要在 VCN 安全列表中打开一些端口。
-
添加入站规则。
- 单击左上角的汉堡菜单(≡)。
- 单击虚拟云网络或导航到网络和虚拟云网络。
-
选择 pfSense 防火墙附加到的 VCN。
- 向下滚动。
- 单击安全列表。
- 单击 HUB-VCN 的默认安全列表。
-
单击添加入站规则以创建入站规则。
- 在源类型中,输入 CIDR 。
- 在源 CIDR 中,在此教程中输入
172.16.0.128/25
。这是具有 Windows 实例的子网,我们将使用该子网通过浏览器连接到 pfSense 防火墙。 - 在 IP Protocol 中,输入 TCP 。
- 在目标端口范围中,输入
80,443
。 - 单击添加入站规则 。
-
请注意,系统添加了安全规则,以允许连接到 VCN 的安全列表上的 TCP/
80
和 TCP/443
端口。这将允许您设置从 Windows 实例到此新的 pfSense 防火墙实例的 HTTP 和 HTTPS 连接。- 导航到计算和实例。
- 记下您的 pfSense 防火墙 IP 地址。
- 在 Windows 实例中,打开浏览器并使用 HTTPS 导航到 pfSense 防火墙 IP。
- 单击高级。
-
单击继续。
- 输入默认用户名
admin
。 - 输入默认密码为
pfsense
。 - 单击登录。
- 输入默认用户名
-
单击下一步。
-
单击下一步。
- 输入主机名。
- 输入域名或保留域名默认值。
- 向下滚动。
-
单击下一步。
-
单击下一步。
注:如果您进入网络,这可能看起来有点奇怪,因为我们已指定在创建实例期间使用静态 IPv4 地址。在这种情况下,Oracle 的工作方式是在其 DHCP 服务器中保留静态 IP,并将此地址分配给 pfSense 防火墙。因此,pfSense 防火墙将始终获得相同的 IP 地址,但从 OCI 的角度来看,这将是静态 IP,从 pfSense 的角度来看,这将是 DHCP 地址。
- 在配置 WAN 接口中,选择 DHCP 。
- 向下滚动。
- 保留所有 IP 地址设置默认值。
- 向下滚动。
-
向下滚动。
-
单击下一步。
- 请输入新的管理员口令。
- 再次输入管理员口令。
- 单击下一步。
-
单击重新加载。
-
请注意,pfSense 防火墙配置已重新加载。
-
向下滚动。
-
单击 Finish(完成)。
-
向下滚动。
-
单击接受。
-
单击关闭。
-
下图展示了您创建的内容的可视化表示。请注意,我们将使用 Windows 步进石连接到 pfSense 防火墙。
-
如果 pfSense 防火墙无法访问 Internet,则加载仪表盘页需要更长的时间。但这可以通过使用 OCI NAT 网关将 pfSense 防火墙连接到 Internet 来修复。
- 请注意,pfSense 防火墙已安装且显示板可见。
- 请注意,支持信息不可用。这是因为 pfSense 防火墙安装在专用子网上,并且此专用子网默认无法访问 Internet。
-
让我们将互联网流量路由到 NAT 网关。确保 VCN 中存在 NAT 网关。
- 单击左上角的汉堡菜单(≡)。
- 单击虚拟云网络或导航到网络和虚拟云网络。
-
选择 pfSense 防火墙连接到的 VCN 并选择 NAT 网关。
- 单击路由表。
- 单击 HUB-VCN 的默认路由表。
- 请注意,默认路由表中的路由将向 Internet 网关路由所有流量。这对我们来说不可用,因为我们需要将专用子网的流量路由到 NAT 网关。
- 单击 HUB-VCN 可从路由表详细信息页返回一页。
-
要将流量路由到特定子网的 NAT 网关,需要创建新的路由表并将该路由表连接到专用子网。单击创建路由表。
- 输入名称。
- 在目标类型中,输入 NAT 网关。
- 在目标 CIDR 块中,输入
0.0.0.0/0
。 - 向下滚动。
- 选择您已在 VCN 中可用的 NAT 网关。如果您没有 NAT 网关,请单击取消并创建 NAT 网关。
- 单击创建。
- 请注意,现在已创建通向 NAT 网关的静态路由。
- 单击 HUB-VCN 可从路由表详细信息页返回一页。
-
请注意,您已创建一个新的路由表。
-
现在,是时候将该路由表绑定到子网了。
- 单击 Subnets(子网)。
- 单击专用子网,即 pfSense 实例当前连接到的子网。
-
单击编辑。
- 选择刚刚创建的路由表。
- 单击 Save Changes(保存更改)。
-
请注意,专用子网的路由表已更改。
-
返回到 Windows 实例。
- 刷新页。
- 向下滚动。
-
单击接受。
-
单击关闭。
-
请注意, Netgate Services and Support 部分将更改。
-
仪表盘页的响应时间也将更快。
-
使用 pfSense Web 管理界面。
- 单击防火墙。
- 单击规则。
-
请注意 pfSense 防火墙的缺省规则。
-
下图展示了您创建的内容的可视化表示。
-
请注意,将使用 NAT 网关,以便 pfSense 防火墙可以与 Internet 进行通信。
-
请注意,我们还在默认安全列表中打开了 TCP/
80
和 TCP/443
端口。
-
任务 8:验证与 Ping 的连接
-
使用 ping (ICMP) 验证连接是测试的良好起点。
- 在 Windows 实例中,打开命令提示符并尝试 ping pfSense 防火墙 IP 地址。
- 请注意,ping 结果显示 100% 数据包丢失。
-
要解决此问题,我们需要:
- 在附加到 VCN 的默认安全列表中打开 Internet 控制消息协议 (Internet Control Message Protocol,ICMP)。
- 在 pfSense 防火墙上打开 ICMP。
-
让我们先从默认安全列表开始。
- 单击左上角的汉堡菜单(≡)。
- 单击虚拟云网络或导航到网络和虚拟云网络。
-
选择 VCN,在其中连接 pfSense 防火墙并且具有 NAT 网关。
- 向下滚动。
- 单击安全列表。
- 单击 HUB-VCN 的默认安全列表。
-
单击添加入站规则以创建入站规则。
- 在源类型中,输入 CIDR 。
- 在源 CIDR 中,输入
0.0.0.0/0
。 - 在 IP Protocol 中,输入 ICMP 。
- 单击添加入站规则。
-
请注意我们刚刚添加的 ICMP 规则。
-
在 pfSense 防火墙管理界面中,单击防火墙、规则和添加以添加新规则。
-
输入以下信息。
- 操作:选择通过。
- Protocol(协议):选择 ICMP 。
- ICMP 子类型:选择任意。
- 向下滚动。
- 来源:选择任何。
- 目标:选择任何。
- 单击保存。
- 请注意,新的 ICMP 规则已到位。
- 单击应用更改提交更改。
-
请注意,更改已成功应用。
- 在 Windows 实例中,打开命令提示符并尝试 ping pfSense 防火墙 IP 地址。
- 请注意,ping 结果显示 0% 数据包丢失。
-
我们可以做的另一个 ping 测试是从 pfSense 防火墙到 Internet。
- 单击诊断。
- 单击 Ping 。
- 在 Hostname(主机名)中,输入
8.8.8.8
。 - 单击 Ping 。
-
请注意,ping 结果显示 0% 数据包丢失。
-
下图展示了您创建的内容的可视化表示。请注意,我们还在默认安全列表中打开了 ICMP。
确认
- 作者 - Iwan Hoogendoorn(OCI 网络专家)
更多学习资源
浏览 docs.oracle.com/learn 上的其他实验室,或者通过 Oracle Learning YouTube 频道访问更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 以成为 Oracle Learning Explorer。
有关产品文档,请访问 Oracle 帮助中心。
Install a pfSense Firewall in Oracle Cloud Infrastructure
F99951-01
June 2024