您的当前位置:首页正文

详细的开源防火墙pfSense安装教程

2022-08-27 来源:星星旅游


严格说来,pfsense是一个免费的、开源的、经过改造的FreeBSD的定制版本,它主要用作防火墙和路由器。除了可以作为一个强健而灵活的防火墙和路由平台,它还包括其它的许多相关特性和程序包,可以进一步扩展性能而不会增加潜在的安全漏洞。据悉,pfSense已经被下载了几百万次,被许多家庭、公司、大学等的网络采用来保护其计算机及其它的网络设备。

此项目是作为m0n0wall的一个子项目于2004年开始的,它着重于完整的PC安装而不是m0n0wall的嵌入式硬件系统。此外,pfSense还提供了基于安装的Compact Flash嵌入镜像,但这并不是其最关注的问题。

其最新版本为1.2,包括了商业防火墙或路由器设备中的许多特性,它包括了一个易管理的基于Web的图形用户界面。虽然它拥有免费防火墙、路由器的一些不错的特性,但也并非完美无缺。笔者将在后面有所阐述。

pfsense技术特征

pfSense作为一个防火墙,支持根据IP地址、源地址、目的地址、源端口、目标端口等进行过滤。例如,如果我们使用源地址过滤,并设置对内部网络的子网IP地址进行监视,那么源自此地址的通信或请求将根据防火墙规则进行分析。如果我们使用目标过滤,那么防火墙将监视数据通信将要到达的IP地址。如果目标地址位于防火墙规则中,防火墙就会实施恰当的行动。

最好的防火墙特性之一是其被动的操作系统指纹识别功能,此功能可以被动地检测某个连接的操作系统,并准许防火墙根据连接节点的操作系统来阻止连接。它支持策略路由,可通过桥接或透明模式运行,准许用户将pfSense置于网络设备中,而不要求额外的配置。

pfSense提供了网络地址转换(NAT)和端口转发功能,但在使用NAT时,有PPTP、GRE、SIP等协议的限制。

还有一点,pfSense支持多个广域网连接,它可以执行外发的和进入的负载平衡。唯一的限制是它只能在广域网连接之间实现通信的均等分配,而且用户不能根据选定的连接区分特定通信的优先次序。

pfSense使用IPSec、OpenVPN、PPTP,它支持虚拟私有网络(VPN)。因为有NAT的限制,在连接是通过NAT实现时,IPSec VPN也受到了限制,从而缺乏对远程或移动VPN客户端的支持。此软件还支持一些高级的IPSec特性,如网际密钥交换(IKE)中的NAT Traversal,这称为NAT-T,还支持Xauth。用户可以选择OpenVPN来突破这方面的一些限制,不过仍会存在一些限制。虽然开发团队承诺在其未来的版本中将解决这些限制。

软件安装

pfSense的下载地址是:

http://www.pfsense.org/index.php?option=com_content&task=view&id=58&Itemid=46可以选择嵌入式程序包,也可以选择CD ISO程序包。如果用户仅打算将此软件用在一个精简网络设备(利用闪存技术进行存储)上,可以选择嵌入式程序包。不过,多数人可能需要在一台普通的电脑上选择CD ISO程序包。此软件至少要求128MB的内存,并要求至少有两个网卡,分别用作广域网和局域网接口。这种最低要求对于吞吐量少于10Mbps的系统来说很有用处。随着用户的网络吞吐量和功能使用的增加,pfSense的要求也会同样如此。

安装界面如下图1所示:

图1

笔者下载了60MB的CD ISO,将其烧录到一光盘上。在用此CD启动时,用户面临着几种选择。如果用户初次安装此软件,可以选择默认选项。初始的启动过程主要设置VLAN,并选择LAN和WAN的接口。用户可以自动地检测接口设置,不过需要确保接口已经连接。如果没有连接,用户就必须手动输入接口名称。笔者为局域网选择了le0,WAN设置为le1。VLAN配置界面如下图2所示:

图2

在最初的配置之后,启动过程继续进行,然后我们就会看到软件的控制台,也就是一个简单的菜单,它允许用户配置接口设置,激活Web配置和其它服务,重置到出厂时的状态,将pfSsense安装到硬盘。pfSense自动地将一个IP地址分配给局域网接口,不过笔者想使用一个特定的IP地址,所以必须改变IP地址,只有这样才能在安装期间可以使用新IP地址。

如果用户选择了推荐的分区,pfSense将为用户创建此分区。不过,用户仍然可以拥有创建自己分区的选择。笔者选择了推荐的分区选择,在安装期间,pfSense会询问用户要安装在何种类型的平台上(是单处理器还是多处理器)。笔者选择了单处理器系统。在安装完成后,重新启动机器,使用局域网的IP地址进行配置,访问Web配置接口。

使用pfSense

pfSense的配置与任何一个网络防火墙和路由器都有些不同。在用户用默认的用户名和口令登录进入系统后,可以配置防火墙的接口和规则。为了实现基于Web的安全管理,

可以改变默认口令并将会话类型设置为HTTPS。此处用户还可以设置防火墙的DNS设置。

LAN的配置简洁明了。如果用户在安装之前没有配置,仅需要设置IP地址。在广域网的接口中,用户可以从不同的连接类型中选择,如静态(static)和动态主机配置(DHCP)、PPPoE及BigPond线缆等。这里只能根据ISP所提供的连接类型进行选择。

下图3显示的是pfSense的系统信息窗口:

图3

在配置了接口之后,用户就可以设置一些防火墙策略了。对于任何防火墙而言,设置防火墙策略要求用户选择一个接口(WAN或LAN)、源地址和端口、目标地址和端口,协议、服务,以及放行、阻止、拒绝等动作类型。阻止(Block)即完全丢弃数据包,而拒绝(reject)则向发起连接的主机返回一个“不可到达的(unreachable)”的响应。为了实现更好的安全性,最好选择“阻止”而不是“拒绝”。在“防火墙(Firewall)”菜单下,如果用户需要为网络服务使用端口转发或者为特定主机配置静态NAT(1:1),还可以配置NAT设置。用于向外转发连接的NAT默认配置是自动的/动态的,不过如果必要的话,用户可以将其改变

为手动方式。笔者测试了自己创建的一些防火墙规则,如阻止外部网络的FTP访问,可以看出pfSense成功地阻止了此服务。

防火墙配置菜单如下图4:

图4

可以看出,其配置功能实用。其局域网的防火墙规则设置窗口如下图5所示:

图5

防火墙规则编辑窗口如图6:

笔者还测试了pfSense的VPN特性。此软件支持IPSec、OpenVPN、PPTP等。如果用户需要一个快速的VPN连接而拥有的带宽并不太多,就可以选择IPSec VPN。如果用户以前处理过IPSec VPN配置,就会发现在VPN中配置IPSec是轻而易举的事,并且可在几分钟内完成。要保障所使用的参数对隧道的两端的一致性。对于简单的IPSec配置来说,pfSense的限制还是可以容忍的,对于建立站到站的连接也很不错。不过,在涉及到移动客户端和身份验证等应用程序时,用户会发现pfSense并没有提供IPSec配置。

用户可以使用OpenVPN来突破IPSec的限制。除此之外,OpenVPN还被证明更加

安全,因为它使用的是SSL。唯一的不足之处是它要求更高的管理成本,也意味着它要比IPSec占用更多的带宽。

如果用户仍然拥有一些支持PPTP拨号连接的客户端,那么恭喜你,pfSense 完全支持PPTP。

对于普通用户而言,pfSense的许多其它特性,如多WAN连接功能及其负载平衡等,都完全值得一试。用户可以建立一个“受控入口”,要求每一个访问网络的用户都在被准许进入之前,通过一个本地数据库或者远程身份验证拨号用户服务(RADIUS)。对于需要使用PPPoE访问网络的用户来说,可以应用PPPoE服务器,而身份验证可以是基于本地的或是通过RADIUS的。

下图7展示的是pfSense对数据通信的监视:

图7

作为一款强大的安全软件,监视和记录事件也是其很容易实现的功能。它支持实时的

RRDtool图形,在计算机上可视化地显示每一个操作过程,包括通信和系统进程。这款软件不像其它的一些商业性网络设备,其日志的组织很不错,并可轻松定位。再加上其支持的一些诊断工具,如支持传统的traceroute和数据包嗅探,这都使得此软件成为一款高效的故障诊断工具。

对此软件的评价

虽然一些功能需要改进,但pfSense作为一款防火墙和路由器的功能使其足以放置到一个办公环境网络中。它支持多个WAN功能和负载平衡,易于管理,并可以提供一些在商业产品上才可以见到的特性。不过,由于一些在大型企业网络中的特性受到了限制,笔者并不推荐将它用于大型网络。但是,由于此项目拥有活跃的开发社团,所以它在未来将会解决这些问题。让我们翘首以待。

总之,如果用户需要的一款低成本的或者免费的网络防火墙或路由器方案,那么pfSense就是一个很好的选择。

因篇幅问题不能全部显示,请点此查看更多更全内容