pfSense是一个基于FreeBSD架构的软件防火墙,通常会被安装在多网卡的主板上作为路由器或者防火墙去使用。往往这些硬件都比较廉价,高性能的配置也就1千元左右。pfSense具有商业防火墙的大部分功能,管理上非常简单,可以支持通过WEB页面进行配置,升级和管理而不需要使用者具备FreeBSD底层知识。pfSense部署在企业边缘网络上一般可以抵挡500Mbps的互联网流量。

pfSense防火墙具有防火墙的基本状态监测包过滤功能,同时还支持NAT模式部署、双机热备、负载均衡、VPN等重要功能。在管理维护方面支持相关性能的查看和报告生成功能,同时还可以被网络管理平台通过SNMP进行集中管理。在开源防火墙市场中,pfSense占有领先的地位。本文将详细介绍pfSense的安装部署以及简单的初始化配置。
在下面的章节中您将了解以下内容
 pfSense如何被安装在虚拟机或者硬件中;
 pfSense硬件选型;
 pfSense部署过程详细步骤;
 pfSense防火墙的初始化配置。

一、 选择部署在哪里
根据本章节的标题可以看出有两层意思,其一是部署在企业里面的网络位置,例如:部署在互联网路由器的后端、部署在办公网交换机的前端等等诸如此类。其二是将开源的pfSense装在什么样的平台上,例如:装在普通的X86架构的PC上、装在虚拟机中等。对于第一种情况在简单的王忠比较好处理,一般部署在网络的边缘,或者部署在需要做访问控制的前端,以自身为视角,越靠近威胁的源头,越能尽早的阻挡攻击。对于复杂冗余的网络部署情况后续会有单独的章节进行介绍。下面将介绍第二种情况下的注意事项。
1.1. 部署在硬件盒子中

pfSense官方支持硬盘、电子盘以及SD卡介质的部署方式,一般情况下会选择硬盘的方式进行部署,部署的整个过程与安装FreeBSD或者Linux没有任何区别,甚至还要简单,因为很多磁盘格式化类似的操作已经编写好了自动的脚本去执行。对于硬件的选择在官方的硬件支持中提供了详细的解释(https://www.pfsense.org/hardware/index.html#sizing)。主要的影响参数会是带宽吞吐量和CPU的主频的关系,下表将对应带宽需要的CPU进行列举,以便在硬件选购过程中参考。


另外,防火墙本身的功能开启多与少会直接影响防火墙的性能,商业的防火墙通过多CPU去处理VPN等服务,通过芯片去转发防火墙的流量,而软件的防火墙则只能通过CPU进行处理。在pfSense上对于VPN的开启,或者说VPN用户数的多少直接会影响软件防火墙的性能,主要的资源会消耗在加解密和数据的处理上,一般10Mbps的流量需要500MHz的CPU去处理。与此同时状态表的增加会增加内存的负担,1万条记录配置10M内存足以,不过随着P2P的引进,状态表会直接增加,百兆带宽甚至可能会达到百万记录,因此需要为状态表提供至少1G的内存。

1.2. 部署在虚拟化平台
软件防火墙的好处除了可以自己流量的需求去配置定制硬件的配置之外,还可以随意的部署在台式机、服务器上。安装的道理和装在盒子里完全一样。同时随着虚拟化平台的发展,软件的防火墙也可以通过虚拟机的方式进行部署(比如Vmware ESXi、OpenStack、Cloudstack环境),抛开各类的云平台都有自身的虚拟防火墙功能不讲。将软件防火墙部署在云资源池中也会起到中流砥柱的做种。和硬件相比最大的优势可以按需调整配置。
由于篇幅的限定,具体部署操作内容请下载附件

开源防火墙(pfSense)的安装部署与配置的更多相关文章

  1. Hive安装部署与配置

    Hive安装部署与配置 1.1 Hive安装地址 1)Hive官网地址: http://hive.apache.org/ 2)文档查看地址: https://cwiki.apache.org/conf ...

  2. 开源社群系统ThinkSNS+安装部署演示视频!

    社群系统TS+一期版本发布之后,很多小伙伴们反馈安装部署有些困难,那么今天由我们的颜值与技术实力担当乔斌大佬通过录制视频的形式,给大家演示一下部署的整个过程,录制过程中有些杂音,请各位尽情谅解,后续我 ...

  3. Zookeeper单机安装部署与配置(二)

    在上篇博客中简单介绍了Zookeeper的特点和应用场景,详情可参考:<Zookeeper简介(一)>,那么这篇博客我们介绍一下关于Zookeeper的单机模式安装步骤与配置. 环境准备 ...

  4. Twitter开源的Heron快速安装部署教程

    什么是Heron? Twitter使用Storm实时分析海量数据已经有好几年了,并在2011年将其开源.该项目稍后开始在Apache基金会孵化,并在2015年秋天成为顶级项目.Storm以季度为发布周 ...

  5. linux centos7 nginx 安装部署和配置

    1/什么是NginxNginx("enginex")是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器,在高连接并发的情况下Nginx是Apac ...

  6. phpcs,phpmd,phan安装部署,phpstorm配置phpunit

    git参考地址:https://github.com/YunhanTech/overview/blob/master/php/learn-road.md phpcs 安装 composer globa ...

  7. office web apps安装部署,配置https,负载均衡(七)配置过程中遇到的问题详细解答

    该篇文章,是这个系列文章的最后一篇文章,该篇文章将详细解答owa在安装过程中常见的问题. 如果您没有搭建好office web apps,您可以查看前面的一系列文章,查看具体步骤: office we ...

  8. 高可用Hadoop平台-Ganglia安装部署

    1.概述 最近,有朋友私密我,Hadoop有什么好的监控工具,其实,Hadoop的监控工具还是蛮多的.今天给大家分享一个老牌监控工具Ganglia,这个在企业用的也算是比较多的,Hadoop对它的兼容 ...

  9. Kafka安装部署

    1.从官网下载安装包,并通过Xftp5上传到机器集群上    下载kafka_2.11-1.1.0.tgz版本,并通过Xftp5上传到hadoop机器集群的第一个节点node1上的/opt/uploa ...

随机推荐

  1. html实现导航栏效果

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. Pushlet实现后台信息推送(二)

    上一篇日志利用推送源周期性地向订阅了某一事件的所有网页端推送信息,但怎么实现向特定的某一个用户推送信息呢,想象一个网络聊天室,怎么向单独的一个好友私聊呢.问题的关键就是那个SessionID,Push ...

  3. day27 异常处理 和 网络协议

    元类补充 class MyMeta(type): # 用于新建类对象 def __new__(cls,*args,**kwargs) print(MyMeta) print(*args) # 调用ty ...

  4. Android 7.0解决抓取不到https请求的问题

    问题:Android7.0系统,使用fiddler不能抓取https请求 解决方法:  1.在源码res目录下新建xml目录,增加network_security_config.xml文件 (工程名/ ...

  5. 以字符串形式获取excel单元格中的内容

    public static String getCellValue(XSSFCell cell) { if (cell == null) { return ""; } switch ...

  6. Jenkins-cli基本用法

    基本的格式为 java -jar jenkins-cli.jar [-s JENKINS_URL] command [options][args] 下面具体介绍各个命令的作用及基本使用方法 1.    ...

  7. Dbutils 的JDBC链接

    最近实践周,再次用到了这个Apache的开源工具包就在次对着个方面进行了复习 1.JDBC的基本 操作姿势 2.JDBC的步骤是 1.添加驱动包 Class.forName("oracle. ...

  8. c# 关闭和重启.exe程序

    Process[] myprocess = Process.GetProcessesByName("a"); if (myprocess.Count() > 0)//判断如果 ...

  9. 《纪念碑谷》(Monument Valley) 系列游戏的空间结构是如何设计的?

    这个游戏有着像埃舍尔的画一样有着空间结构的矛盾,如果是2D游戏,艾达可以行走的路线.建筑结构变化的过程是如何绘制的?如果是3D游戏,那么如何对这种违背物理定律的矛盾空间进行建模?以前有一个叫“无限回廊 ...

  10. ViewResolver和JSTL

    ---------------------siwuxie095                                 ViewResolver 和 JSTL         1.Spring ...