[转帖]pfSense软路由系统的使用
图解pfSense软路由系统的使用(NAT功能)
http://seanlook.com/2015/04/23/pfsense-usage/
pfsense是一款开源的路由和防火墙产品,它基于freebsd系统定制和开发。pfsene拥有友好的web的配置界面,且具有伸缩性强又不失强大性能,在众多开源网络防火墙中属于佼佼者。
2004年,pfsense作为m0n0wall项目(基于freebsd内核的嵌入式软防火墙)的分支项目启动,增加了许多m0n0wall没有的功能(pfSense的官方网站称它为the better m0n0wall).pfSense除了包含宽带路由器的基本功能外,还有以下的特点:
- 基于稳定可靠的FreeBSD操作系统,能适应全天候运行的要求
- 具有用户认证功能,使用Web网页的认证方式,配合RADIUS可以实现记费功能
- 完善的防火墙、流量控制和数据包功能,保证了网络的安全,稳定和高速运行
- 支持多条WAN线路和负载均衡功能,可大幅度提高网络出口带宽,在带宽拥塞时自动分配负载
- 内置了IPsec 和PPTP VPN功能,实现不同分支机构的远程互联或远程用户安全地访问内部网
- 支持802.1Q VLAN标准,可以通过软件模拟的方式使得普通网卡能识别802.1Q的标记,同时为多个VLAN的用户提供服务
- 支持使用额外的软件包来扩展pfSense功能,为用户提供更多的功能(如FTP和透明代理).
- 详细的日志功能,方便用户对网络出现的事件分析,统计和处理
- 使用Web管理界面进行配置(支持SSL),支持远程管理和软件版本自动在线升级
本文简单介绍pfSense的安装及配置过程,完成一个基本的路由器该有的功能,如访问局外网、设置防火墙规则、配置端口映射。这里演示在ESXi虚拟服务器上,解决IP不足的问题。
创建虚拟机
首先去 https://www.pfsense.org/download/ 下载稳定版本的pfSense,如pfSense-LiveCD-2.2.2-RELEASE-amd64.iso.gz(网上看到有人提到这个版本不稳定,我在使用中偶尔也发现突然很慢,建议2.1.5)。在vSphere上创建虚拟机的过程省略,取名01_pfSense,创建虚拟机操作系统时选择“其他 -> FreeBSD 64位”,单CPU,512Mb内存,4G硬盘。将下载的系统解压成iso后挂载到CD/DVD,并“打开电源时连接”。
下图是网卡情况:
为pfSense分配两个网卡,分别是可以连接公司内网的172.29.88.1/24网段的vSphere_Admin端口组,和IP范围是172.30.31.1/24的内部局域网端口组VM Local。
记录下Mac地址
外网接口:00:0c:29:36:b6:c2
内网接口:00:0c:29:36:b6:cc
安装pfsense
启动电源后出现欢迎界面,选择1.Boot pfSense [default],或等待几秒钟自动选择,进入如下界面:
输入I,回车,然后是一个蓝屏,开始安装。
也可以什么都不用管,系统会一直启动从CD启动得到一个完整的pfSense系统,因为没有安装所以在屏幕下方会有一个选项99) Install pfSense to a hard drive, etc.,输入99同样会进入下面的安装操作系统的过程。
一路保存默认:< Accept these Settings > → < Quick/Easy InStall > → erase all content < OK > → < Standard Kernel > → < Reboot >。
重启后安装完成,断开CD介质。
详见见官网文档 https://doc.pfsense.org/index.php/Installing_pfSense 。
下面开始配置内外网接口。
分配接口
从上图可以看到系统默认将em0接口当做WAN(外网),em1当做LAN(内部局域网),但我们不确定em0就是在创建虚拟机时分配的外网接口,需要根据MAC地址判断。
选择1) Assgin Interfaces,回车
首先询问你是否设置VLAN(用于划分多个子局域网网),Do you want to set up VLANs now [y|n]?,否n:

分配IP
选择2) Set interfce(s) IP address:
先配置WAN的IP,禁用DHCP,配置地址172.29.88.230/24,网关172.29.88.1,禁用IPV6:
再配置LAN,172.30.31.1/24,不配置网关:
完成后会提示可以在浏览器打开http://172.30.31.1/,通过webConfigurator来操作pfSense。
已打通两端网络:
1 |
sean@seanubt:~$ ssh admin@172.30.31.1 22 |
登录
172.30.31.1是内部局域网的IP,所以只能通过另一台lan上的服务器的浏览器访问:
当然这样操作起来很不方便,,而且假如lan上的其它服务器都是linux而且没有图像界面,没办法使用webConfigurator了。端口转发似乎是一个比较好的方案:在某一台lan服务器上添加一个可以通过你的pc端访问的网卡(我这里的172.29.88.206,它的lan接口IP为172.30.31.20),然后使用rinetd工具转发到172.30.31.1。
这个方法似乎可选,但需要额外的设置:
An HTTP_REFERER was detected other than what is defined in System -> Advanced (http://172.29.88.206:8008/index.php?logout). You can disable this check if needed in System -> Advanced -> Admin.
pfSense为了安全起见,不允许任何形式的转发来访问webConfigurator,根据你的需要决定是否关闭这个功能:System -> Advanced -> Admin,勾选Browser HTTP_REFERER enforcement -> Save -> Apply。
登陆的用户名默认为admin/pfsense
使用配置向导
前面是通过命令行的方法对接口和IP进行配置,也可以直接通过webGUI向导对WAN和LAN、网关等设置:System -> Setup Wizard,因为太过简单,就不贴图了。
在设置WAN接口时(Configure WAN Interface)注意两点:
- Static IP Configuration 部分设置正确的IP和网关,否则会无法进出网络
- RFC1918 Networks 默认是勾选的,这是为了避免WAN上也存在与LAN一样的网段。如果要允许wan的其他主机ping通该pfSense,则去掉勾
其它保持为空或默认值。
pfSense的NAT功能
即Port Forward,目的是为了WAN上的其他机器可以访问LAN内部的服务。
Friewall -> NAT
端口映射分为单端口和范围端口。但端口容易理解,访问WAN 172.29.88.230:8000 的 数据包都转发到内部LAN 172.30.31.20:8000;范围端口是在 from m to n 的端口范围内的数据包都发送到内部IP的对应端口上,减少规则的数量。
Save -> Apply Changes,与此同时pfSense会自动在防火墙里添加规则,Firewal -> Rules
pfSense做负载均衡
其它功能
pfSense还有几大重要的功能,如快速搭建VPN服务器,作为前端负载均衡服务器,流量限制。由于工作中暂未用到,所以就不加说明了。
关于负载均衡见 http://seanlook.com/2015/04/24/pfsense-loadbalancer/
参考
[转帖]pfSense软路由系统的使用的更多相关文章
- VyOS软路由系统基本设置
1. VyOS简介 VyOS是一个开源的网络操作系统,可以安装在物理硬件上,也可以安装在你自己的虚拟机上,或者是一个云平台上.它基于GNU/Linux,并加入了多个应用程序,如:Quagga, ISC ...
- pfSense软路由防火墙
才刚刚架起来,等着入门呀.. 想作网络的QOS限流这些的...
- 攻防组网之—-MikroTik软路由的配置和FUZZ
作者:红发香克斯 开篇之前一直想借助一台高性能PC利用VMWare组建一个攻防网络,之前有一贴写过找到了一个软路由系统,就是可以在VMWare中使用的路由器操作系统,那个系统还挺常用,上次帖子写到了安 ...
- x86主机搭建家庭智能路由系统 ---- 设计篇
组件简介 Proxmox: 基于Debian的虚拟化系统,支持OpenVZ和KVM. pfSense: 基于FreeBSD的开源路由系统. FreeNAS: 开源NAS系统. shadowsocks: ...
- 吐血原创:mini2440和win7笔记本利用无路由功能的交换机共享上网(使用x-router软路由)
真的是要吐血了,为了使自己的win7系统笔记本和mini2440,通过交换机(没有路由功能,才5口,和HUB差不多)共享宽带上网,并且连接上的宽带还是长城宽带,我用尽各种cmd命令都查不到长城宽带的默 ...
- 海蜘蛛网络科技官方网站 :: 做最好的中文软路由 :: 软件路由器 :: 软路由 :: 软件路由 :: RouterOs
海蜘蛛网络科技官方网站 :: 做最好的中文软路由 :: 软件路由器 :: 软路由 :: 软件路由 :: RouterOs 企业简介 武汉海蜘蛛网络科技有限公司成立于2005年,是一家专注于网络新技术研 ...
- x86主机搭建家庭智能路由系统 ---- Proxmox虚拟化实现一机多用
Proxmox VE简介 Proxmox VE(Proxmox Virtual Environment) 是一款完全开源虚拟化管理平台,可以管理QEMU/KVM虚拟机和LXC容器.事实上它只是一个前端 ...
- RouterOS 5.16软路由安装图解教程
说明:RouterOS是一种路由器操作系统,它可以安装到普通的个人电脑上面,替代硬件路由器 RouterOS版本:RouterOS 5.16 硬件要求: 1.支持多核CPU 2.内存最大支持到2G 3 ...
- K8S集群搭建之软路由的安装
一.系统要求 ①镜像:win10 ②1C.4G.20G即可 ③仅主机模式(共享网卡上网) ④老毛桃PE ⑤ip为192.168.66网段(因为我设置的其他K8S节点也为该网段)---koolshare ...
随机推荐
- 【Teradata】设置 QUERY_BAND
SET QUERY_BAND='jobname=chs_instr;' FOR SESSION;
- 用js检测文本框中输入的是否符合条件并有错误和正确提醒
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- python入门学习:3.操作列表
python入门学习:3.操作列表 关键点:列表 3.1 遍历整个列表3.2 创建数值列表3.3 使用列表3.4 元组 3.1 遍历整个列表 循环这种概念很重要,因为它是计算机自动完成重复工作的常 ...
- ssm框架的整合搭建(二)
maven简单项目的创建前面已经完成了,下面开始依赖包和配置文件的编写 好好努力每一天!!!!!! 项目结构看这里 1.首先,依赖包pom.xml <project xmlns="ht ...
- 使用pkg打包Node.js应用的方法步骤
Node.js应用不需要经过编译过程,可以直接把源代码拷贝到部署机上执行,确实比C++.Java这类编译型应用部署方便.然而,Node.js应用执行需要有运行环境,意味着你需要先在部署机器上安装Nod ...
- Linux:Day5 shell编程初步、grep
bash的基本特性(3) 1.提供了编程环境 程序编程风格: 过程式:以指令为中心,数据服务于指令: 对象式:以数据为中心,指令服务于数据: shell程序:提供了编程能力,解释执行:过程式.解释执行 ...
- 14 python初学(高阶函数 递归函数 内置函数)
高阶函数:1. 函数名是一个变量,函数名可以进行赋值 2. 函数名可以作为函数参数,还可以作为函数返回值(函数名称作为函数返回值时返回的是:函数的地址:print 这个返回值的调用相当于执行这个函数 ...
- 环境部署(六):Git关联github
我们使用Git进行版本管理,前面的博客也介绍了Linux下安装Git以及Git基础教程,这篇博客,简单介绍下如何使用Git关联github... 更多关于Git的内容,可参考下列内容: Git官方文档 ...
- Jenkins-配置LDAP认证
Jenkins-配置LDAP认证 参考文档: LDAP添加用户详见我的博文 Linux分类 中的< LDAP2-创建OU和用户>博文. 1.LDAP配置 1.准备一个adminDN账号用 ...
- Vue-比较方法、计算属性和侦听器
分别用方法.计算属性和侦听器实现当fristName和lastName改变时,fullName跟着改变. 一.方法: html: <div id="app"> {{fu ...