树莓派变身防火墙:借助VM搭建pfSense的完整指南!

描述


 

防火墙

pfSense是一款基于FreeBSD的免费开源防火墙和路由器软件的发行版。它主要作用是提供企业级网络安全和路由功能,使其成为家庭网络、小型企业和大型企业的热门选择。

防火墙

 

核心功能

防火墙和路由器功能:实施状态数据包检测(SPI)和NAT。

VPN支持: 支持OpenVPN、IPsec和WireGuard安全远程访问。

流量整形(QoS): 确定关键应用的带宽使用优先级。

入侵检测和预防: 集成Snort和Suricata进行安全监控。

DNS和DHCP管理: 充当DNS解析器和DHCP服务器。

高可用性和负载平衡: 确保冗余并有效分配网络流量。

强制网络门户和认证: 适用于公共网络和访客Wi-Fi管理。

重要提示: pfSense在基于ARM的架构上没有得到官方支持,这意味着您需要依靠虚拟化(例如QEMU)来让它工作

为什么要在Raspberry Pi上使用pfSense?

定制化和灵活性

pfsense的开源特性允许定制脚本、包和集成。

除了pfSense之外, Raspberry Pi还支持其他网络工具,如Pi-hole、WireGuard和OpenVPN。

可配置用于物联网安全、家庭网络保护或小型办公室VPN。

小型网络的轻量级路由和防火墙

可用于基本的网络安全、DNS过滤和流量整形。

在家庭自动化和智能家居安全等低流量环境中工作良好。

支持VPN设置来安全地连接远程设备。

备份防火墙和网络故障转移

万一主防火墙出现故障,可以充当辅助或备用防火墙。

适用于紧急情况或测试网络中的快速部署。

在需要轻量级解决方案的边缘网络场景中工作良好。

需要考虑的限制

性能限制–Raspberry Pi的ARM处理器和有限的RAM可能会与高吞吐量网络相冲突。

有限的网络端口–双接口设置需要USB转以太网适配器。

虚拟化开销——在QEMU或另一个虚拟机上运行pfSense将使用额外的系统资源。

不适合企业使用–最适合小型应用,而不是大型应用

真实世界的场景

家庭网络防火墙和安全性

您希望保护您的家庭网络免受网络威胁,管理带宽使用,并阻止不需要的流量。

小型企业和远程办公室网络

小型办公室或远程工作人员需要安全且经济高效的防火墙来保护敏感数据并允许远程访问。

学习和网络安全培训

实验室网络安全学生或IT专业人员需要一个真实的环境来测试防火墙规则、VPN设置和网络安全。

物联网和智能家庭网络

保护用户拥有多台物联网设备(智能锁、摄像头、恒温器),出于安全原因,他希望将这些设备从主网络中隔离出来。

面向访客Wi-Fi的低成本强制网络门户

一家小企业(咖啡馆、Airbnb、联合办公空间)希望为安全的访客Wi-Fi提供登录页面和带宽控制。

面向偏远地区的边缘网络

农村地区的小型办公室或社区网络需要基本的网络功能,而不需要昂贵的硬件。

在Raspberry Pi上运行pfSense的挑战

由于pfSense不能本地运行,它需要一个使用QEMU、VirtualBox或类似工具的虚拟机(VM)。

QEMU仿真是资源密集型的,减少了网络任务的可用CPU能力。

在Raspberry Pi操作系统上虚拟化pfSense会增加设置和维护的复杂性。

硬件与软件要求

硬件:

Raspberry Pi 5 (8GB/16GB RAM)(重要提示:性能更佳)。

存储:16GB/32GB microSD卡(10级或更高级)。

网络:至少一个额外的USB转以太网适配器。

电源:官方Raspberry Pi 5V/3A (USB-C)电源适配器。

软件:

64位Raspberry Pi操作系统(基于Debian)。

pfSense ISO图片:从官方网站获取最新的pfSense社区版(CE) ISO,选择x86_64架构(因为我们正在使用虚拟化)。

虚拟机管理器:QEMU(轻量级,最适合Raspberry Pi操作系统)

步骤指南

1.准备Raspberry Pi:安装和配置Raspberry Pi操作系统,启用SSH

安装Raspberry Pi OS: https://www.sunfounder.com/blogs/news/raspberry-pi-operation-system-complete-guide-to-versions-features-and-setup

启动SSH: https://www.sunfounder.com/blogs/news/mastering-remote-control-unlocking-the-power-of-ssh-with-raspberry-pi

2.设置虚拟机:打开终端并运行:

  •  
  •  

sudo apt update && sudo apt upgrade -ysudo apt install qemu-system-x86 qemu-utils bridge-utils -y

我们需要创建一个虚拟硬盘来安装pfSense。

  •  

qemu-img create -f qcow2 pfsense.qcow2 8G

防火墙

3.使用pfSense ISO启动虚拟机

运行以下命令在QEMU中启动pfSense安装程序:

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

qemu-system-x86_64 \    -m 2048 \    -smp 2 \    -hda pfsense.qcow2 \    -cdrom pfSense-*.iso \    -boot d \    -net nic -net user \    -net nic,model=virtio -net tap,ifname=tap0,script=no,downscript=no \ -vga std

参数说明:

-m 2048 → 分配2GB RAM给pfSense(根据可用内存进行调整)。

-smp 2 → 分配2个CPU内核以获得更好的性能。

-hda pfsense.qcow2 → 使用之前创建的8GB虚拟磁盘。

-cdrom pfSense-*.iso → 加载pfSense ISO进行安装。

-boot d →从光盘启动(用于安装)。

-net nic -net user → 创建基本虚拟网络。

-net nic,model=virtio

-net tap,ifname=tap0,script=no,downscript=no → 创建虚拟网桥。

防火墙

4.安装pfSense:带截图的分步指南

防火墙

使用默认配置并选择安装pfSense的磁盘。

防火墙防火墙

5.在终端中再次运行虚拟机

  •  

qemu-system-x86_64 -m 2048 -smp 2 -hda pfsense.qcow2 -boot d -net nic -net user -net nic,model=virtio -net tap,ifname=tap0,script=no,downscript=no -vga std

6.虚拟机运行后:在另一台设备上打开web浏览器。输入http://192.168.1.1(默认pfSense LAN IP)。

登录使用:1. 用户名: admin   2. 密码: pfsense

防火墙

高级配置 

分割隧道(选择性流量路由) 

仅允许特定流量通过VPN,而其他流量使用正常的internet连接。减少带宽使用,提高非VPN应用程序的速度。 

多用户WireGuard VPN(多对端) 

允许多个用户(家庭、团队、远程工作人员)同时连接到VPN。非常适合企业、共享访问或多种设备。 

用于更改公共IP的动态域名系统(DDNS) 

即使您的ISP经常更改您的公共IP,也允许VPN客户端连接。如果没有静态公共IP,这是必不可少的。 

站点到站点VPN(连接两个网络) 

通过WireGuard VPN连接两个不同的网络(例如,家庭和办公室)。安全地访问远程网络资源(文件共享、打印机、服务器)。

运行多个VPN

同时允许您同时连接到多个VPN提供商(例如,一个用于工作,一个用于个人使用)。对于分离不同VPN服务之间的流量非常有用。 

VLAN分段(物联网和访客网络的安全VPN) 

您可能不希望VPN用户访问家庭网络上的所有设备。VLANs允许您隔离流量。

VPN设置(WireGuard)

1.转到:系统>软件包管理器>可用软件包。

2.搜索“WireGuard”,然后点按“安装”。

3.安装后,转到VPN > WireGuard。

防火墙

2.1创建一个WireGuard隧道(VPN服务器)

(1).转到:VPN > WireGuard > Tunnels

(2).单击+添加Tunne。

(3).配置以下设置:

o启用(选中)

o描述:WireGuard VPN服务器

o监听端口:51820(默认WireGuard端口)

o接口密钥:单击生成(创建一个私有/公共密钥对)。

oTunnel 地址:192.168.1.23/24(客户端的VPN子网)。

4.保存并应用更改。

防火墙

2.2将WireGuard指定为网络接口

(1).转到Interfaces > Assignments。

(2).添加新的WireGuard接口(wg0)。

(3).将其重命名为WG_VPN,然后保存并应用更改。

防火墙

配置VPN客户端(对等)

3.1添加对等方(远程客户端)

1.转到:VPN > WireGuard >Peers。

2.单击+添加Peer。

3.配置以下设置:

o启用

o描述:客户端1(笔记本电脑、电话等。)

o公钥:(暂时留空,我们稍后将在客户机上生成它)

o允许的IP:192 . 168 . 1 . 100/32(为此客户端分配一个静态IP)。

o Keepalive: 25(防止NAT断开)。

4.保存并应用更改。

防火墙

重要提示:我们需要允许VPN流量通过pfSense的防火墙。

优化RASPBERRY PI上的PFSENSE性能

限制日志记录以减少SD卡磨损

在pfSense中,转到:System > Advanced > Miscellaneous → Enable "RAM Disk for Logs"

降低CPU使用率

修改QEMU命令以减少负载:taskset -c 1 qemu-system-x86_64

潜在的限制

性能瓶颈

技术专业知识要求

要考虑的替代方案

所以关于树莓PI上的PFSENSE值不值?

家庭实验室和学习环境。

基本防火墙和VPN设置。

适用于小型网络的轻型路由器。

‌x 高速网络(> 500 Mbps)——raspberry pi的虚拟化网络限制了吞吐量。

‌x 企业应用–与专用pfSense硬件相比,性能有限。

此外,我们建议您使用Raspberry Pi访问我们的防火墙帖子

 

结论

使用虚拟机在Raspberry Pi上设置pfSense是在预算有限的情况下探索高级网络安全特性的好方法。虽然它可能无法提供专用硬件的性能,但它是家庭实验室、小型网络和学习环境的可行解决方案。在本指南中,我们介绍了安装、性能优化和WireGuard VPN等高级配置的基本步骤。尽管存在虚拟化开销和硬件限制等限制,但这种设置为网络安全提供了一个灵活且经济实惠的切入点。对于要求更高的环境,考虑专用的pfSense设备可能是更好的选择。无论如何,这个项目对于任何希望提高自己的网络技能和尝试尖端开源解决方案的人来说都是一次宝贵的经历。

原文链接:
 

https://www.sunfounder.com/blogs/news/raspberry-pi-pfsense-using-a-vm-complete-guide-to-building-a-virtual-firewall

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分