本文介绍pfSense中限制器的使用方法,以帮助在本地网络的所有用户之间公平地分配宽带连接。
什么是限制器
pfSense中定义的限制器允许为某个目的定义最大带宽。限制器可以将流量限制到特定 IP地址或子网,以及限制特定类型服务或在多个用户之间公平分配流量。
限制器的典型用法有以下几种:
- 将用户张三的Internet带宽限制为1 Mbps;
- 在“LAN”网络的所有用户之间平均分配10 Mbps 的带宽;
- 将“OPT”网络的带宽限制为最高5 Mbps;
- 将 FTP 协议的带宽限制为最高2 Mbps。
限制器允许为使用定义最大带宽。
流量整形(如 CBQ)允许保证最小带宽。
限制器如何工作
限制器的实现分两步完成:
- 创建限制器:它是一个具有最大带宽的管道,可在全局范围内或按 IP 地址组运行;
- 创建分配规则:哪些流量将受到哪个管道的限制。
限制器通常成对创建:一个用于入站流量(下载)的限制器和一个用于出站流量(上传)的限制器。
限制器按层次组织:根限制器(也称为管道),具有带宽和延迟,另一方面,还具有权重(即优先级)的子限制器(称为队列)。
平均分配带宽
本文介绍如何使用限制器平均分配带宽,限制器的其他使用方法不在这里讨论。假定有一个下载速度为 200 Mbps 和上传速度为 50 Mbps 的 Internet 连接,希望在所有用户之间动态共享此带宽。
如果2 个用户同时连接,他们每个人的下载速度为 100 Mbps,上传速度为 25 Mbps。
如果同时连接了 10 个用户,他们每个人的下载速度为 20 Mbps,上传速度为 5 Mbps。
通过设置,由pfSense自动和动态地管理这种分配。
创建上传限制器
创建了 2 个根限制器:一个用于上传,一个用于下载。
导航到Firewall > Traffic Shaper:
在限制器选项卡上,单击“ 添加新限制器”按钮。
要配置的项目如下:
- 启用:选中改选项来启用管道及其队列。
- Name:管道的名称(仅限字母数字字符和下划线)。在本例中,为“Upload”。
- 带宽:管道的带宽。本例中选择“50 Mbps”。
- 掩码:此参数允许定义如何将限制应用于流量。有3种选择:
- none:限制器将作为一个集合应用于所有流量。这是本例中选用的模式,我们希望整个上传流量限制在 50 Mbps。
- 源地址:限制器将适用于的每个源IP地址(或源 IP 地址组,取决于掩码)。因此,要通过网络的IP地址执行限制,就必须选择“源地址”并指定 /32 掩码。这是我们将在配置上传管道队列时选择的值。
- 目标地址:限制将适用于的目标IP地址(或目标 IP 地址组,取决于掩码)。这是我们将在配置下载管道队列时选择的值。
- 描述:描述字段。
- 高级选项:允许设置高级参数,例如延迟或丢包率。
现在,我们创建了一个限制器,将流量限制为最大带宽 50 Mbps。下一步要创建一个链接到这个管道的队列,并指定这个队列将适用于每个用户。
在刚创建的限制器页面底部,点击“ 添加队列”按钮。
要配置的项目如下:
- 启用:选中此选项来启用队列。
- 名称:队列的名称。在本例中为“ LAN_Upload ”。
- 掩码:要使用的掩码。在本例中,我们选择“源地址”。我们希望对每个用户(即每个源 IP 地址)使用该限制,因此选择“32”的掩码。
- 描述:描述字段。
- 权重:权重范围从1(最低优先级)到100(最高优先级)。为了公平分配根限制器的带宽,该字段可以留空。如果我们想为某些用户提供比其他用户更多的带宽,那么我们可以使用这个值。
- 高级选项:默认留空。
创建下载限制器
点击“ 添加限制器”按钮。
管道配置与上传管道相同。
填写设定的带宽(本例中为 200 Mbps),并重新命名限制器,本例中“Download”)。
修改防火墙规则
下面要配置防火墙规则来应用限制器。导航到Firewall > Rules。选择 LAN 选项卡并编辑 Internet 访问的每个过滤规则。在每个规则上,找到高级选项(“显示高级”按钮):
在页面的底部的“IN / OUT管道”选项,第一个下拉列表选择“ LAN_Upload,第二个下拉列表选择“ LAN_Download”,如下图所示:
对所有相关规则执行该操作,这样就完成了每个用户的流量限制。
检查服务
要检查限制器是否正常工作,可以导航到Diagnostics > Limiter Info,查看每个管道及其队列信息。