0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

上海晶珩电子科技有限公司 2025-04-01 15:16 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群


29bb467e-0ec9-11f0-9434-92fbcf53809c.jpg

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

29cae52a-0ec9-11f0-9434-92fbcf53809c.jpg

核心功能

防火墙和路由器功能:实施状态数据包检测(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 aptupdate&&sudo apt upgrade-ysudo apt install qemu-system-x86 qemu-utils bridge-utils-y

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

qemu-img create -f qcow2 pfsense.qcow28G

29e72a14-0ec9-11f0-9434-92fbcf53809c.jpg

3.使用pfSense ISO启动虚拟机

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

qemu-system-x86_64 \ -m2048\ -smp2\ -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 → 创建虚拟网桥。

2a08cbba-0ec9-11f0-9434-92fbcf53809c.jpg

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

2a2d4260-0ec9-11f0-9434-92fbcf53809c.png

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

2a6d2984-0ec9-11f0-9434-92fbcf53809c.jpg2a8de9da-0ec9-11f0-9434-92fbcf53809c.jpg

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

qemu-system-x86_64 -m2048-smp2-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

2ab17eb8-0ec9-11f0-9434-92fbcf53809c.jpg

高级配置

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

仅允许特定流量通过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。

2acb9820-0ec9-11f0-9434-92fbcf53809c.jpg

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.保存并应用更改。

2af49b1c-0ec9-11f0-9434-92fbcf53809c.jpg

2.2将WireGuard指定为网络接口

(1).转到Interfaces > Assignments。

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

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

2b124036-0ec9-11f0-9434-92fbcf53809c.jpg

配置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.保存并应用更改。

2b330898-0ec9-11f0-9434-92fbcf53809c.jpg

重要提示:我们需要允许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

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

    关注

    0

    文章

    442

    浏览量

    36607
  • 树莓派
    +关注

    关注

    122

    文章

    2069

    浏览量

    109713
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    设置树莓UFW防火墙

    `你的树莓还暴露在外网吗?想要提升自己树莓的安全性,为它设置ufw防火墙啊。UFW是一个主机端的iptables类
    发表于 01-13 10:48

    Linux防火墙入门教程分享

    合理的防火墙是你的计算机防止网络入侵的第一道屏障。你在家里上网,通常互联网服务提供会在路由中搭建一层防火墙。当你离开家时,那么你计算机上的那层防火墙就是仅有的一层,所以配置和控制好你
    发表于 12-28 06:54

    防火墙技术

    防火墙技术.ppt 防火墙及相关概念包过滤型防火墙代理服务型防火墙 防火墙的配置分布式防火墙
    发表于 06-16 23:41 0次下载

    防火墙防火墙的渗透技术

    防火墙防火墙的渗透技术 传统的防火墙工作原理及优缺点: 1.(传统的)包过滤防火墙的工作原理   包过滤是在IP层实现的,因
    发表于 08-01 10:26 1307次阅读

    防火墙管理

     防火墙管理  防火墙管理是指对防火墙具有管理权限的管理员行为和防火墙运行状态的管理,管理员的行为主要包括:通过防火墙
    发表于 01-08 10:39 1603次阅读

    什么是防火墙

    什么是防火墙  防火墙的英文名为“FireWall”,它是目前一种最重要的网络防护设备。从专业角度讲,防火墙是位于两个(或
    发表于 01-08 10:53 1516次阅读

    防火墙的分类

    防火墙的分类 如果从防火墙的软、硬件形式来分的话,防火墙可以分为软件防火墙和硬件防火墙以及芯片级
    发表于 01-08 11:01 7370次阅读

    究竟什么是防火墙

    究竟什么是防火墙?     Q:防火墙初级入门:究竟什么是防火墙?     A:防火墙定义
    发表于 02-24 11:51 888次阅读

    防火墙,防火墙的作用有哪些?

    防火墙,防火墙的作用有哪些? 防火墙技术简介 ——Internet的发展给政府结构、企事业单位带来了革命性的改
    发表于 04-03 16:17 8522次阅读

    防火墙pfSense再度升级,堵死了Wi-Fi漏洞

    pfSense是一个基于FreeBSD、专为防火墙和路由器定制的开源系统,以可靠性著称,经常提供往往只存在于昂贵商业防火墙才具有的高级特性。
    发表于 10-30 16:52 2002次阅读

    如何在服务器上安装pfSense开源防火墙

    一、什么是 pfSense pfSense®是基于 FreeBSD 的免费开源软件,可用作防火墙和路由器。pfSense 带有直观而强大的 Web 界面,无需任何 UNIX 管理知识即
    的头像 发表于 02-21 16:39 5976次阅读

    开源防火墙pfSense的安装及初始化

    pfSense是一个基于FreeBSD,专为防火墙和路由器功能定制的开源版本。它被安装在计算机上作为网络中的防火墙和路由器存在,并以可靠性著称,且提供往往只存在于昂贵商业防火墙才具有的
    的头像 发表于 08-03 12:26 1.7w次阅读
    开源<b class='flag-5'>防火墙</b><b class='flag-5'>pfSense</b>的安装及初始化

    硬件防火墙和软件防火墙区别

    电子发烧友网站提供《硬件防火墙和软件防火墙区别.doc》资料免费下载
    发表于 10-21 11:03 1次下载

    完整教程:如何在树莓派上配置防火墙

    引言防火墙是任何网络包括树莓网络中必不可少的工具。本质上,防火墙是内部网络(如树莓网络)与其
    的头像 发表于 07-07 16:30 804次阅读
    <b class='flag-5'>完整</b>教程:如何在<b class='flag-5'>树莓</b>派上配置<b class='flag-5'>防火墙</b>?

    树莓防火墙完整指南:如何在局域网中配置 IPFire ?

    并控制入站和出站网络流量的屏障。这正是我们的将树莓设置为防火墙完整指南详细阐述的内容。随着树莓
    的头像 发表于 07-21 16:34 806次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b><b class='flag-5'>防火墙</b><b class='flag-5'>完整</b><b class='flag-5'>指南</b>:如何在局域网中配置 IPFire ?