跳转到内容

IPCop/HFSC 高级 QoS

来自维基教科书,开放的书籍,为了一个开放的世界

IPCop 高级 QoS

本手册旨在帮助您在没有任何流量整形知识的情况下快速上手

先决条件

[编辑 | 编辑源代码]

使用本手册将使您能够在没有任何 QoS 知识的情况下让流量整形在您的 IPCop 防火墙上工作。但是,您需要了解以下内容:

将软件包传输到 IPCop 路由器/防火墙

[编辑 | 编辑源代码]

现在您已经有了副本,请使用 winscp 连接到您的 IPCop 机器(如果您是从 Windows 机器连接)。虽然 SSH 是通过端口 22 完成的,但 IPCop 使用端口 222。连接到防火墙后,首先导航到文件系统的根目录,然后进入标记为“tmp”的文件夹。进入后,将您从 Source Forge 获取的 qos tar 文件传输到其中。

好的,我们确实需要在这里帮助人们 - 我知道我花了大约一天时间搜索如何做到这一点,这大致正确 - 使用类似的东西

  1. 如果您使用的是 Linux,则可以使用

scp -v -P 222 /home/downloads/pathtofile/filename root@hostname:/tmp/

After three hours of wasted time, I found here: http://ipcops.com/faq/ipcop_faq.html#1.2.7

那个必须“通过 Web 界面启用 SSH”

  1. 如果您使用的是 Windows 作为您的桌面,请尝试 WinSCP

解压 tar 文件

[编辑 | 编辑源代码]
  • 使用 PuTTy 连接到 IPCop,记住使用端口 222 连接。
    • 如果使用 linux ssh -l admin -p 222 192.168.1.1
  • 导航到 /tmp 文件夹。
#cd /tmp
  • 运行以下命令解压 tar 文件。
#tar xvfz qos_ipcop_1.4.8.tar.gz

安装软件包

[编辑 | 编辑源代码]
  • 转到解压后的文件
#cd /tmp/qos
  • 运行安装脚本
#./install

补充:确保您从安装程序的目录运行安装!即“./install”而不是“qos/install”。安装程序的末尾有一行友好的提示,它会删除当前目录。我刚刚丢失了我的根目录...... - benaiah

设置类(用于出站流量)

[编辑 | 编辑源代码]

使用 Web 浏览器导航到您的 IPCop 路由器/防火墙,然后从那里使用“服务”菜单选择“QoS”。

首先需要定义的是红色设备上出站流量的根类,它将是

  • ppp0 - 如果使用 PCI ADSL/ISDN 调制解调器或 PPPoE
  • eth1 - 如果使用外部调制解调器(并且您只有 2 个接口,红色和绿色,这适用于大多数用户)
  • ethx - 如果您有多个网络接口,例如蓝色和橙色(红色将始终是最高的编号)
  1. 首先将默认类从下拉框中更改为 199。
  2. 现在将您的上传速度(以 kbps 为单位)添加到默认类下方的文本框中。您在此处输入的数字应为 ISP 为您提供的上传速度限制的 90%。
例如:
ISP 上传速度 = 256 kbps×90% = 230 kbps。
所以将 230 添加到文本框中。
4. 现在单击保存。

快速类 (100)

[编辑 | 编辑源代码]

这是用于为像 MSN、IRC 和 SSH 这样的相对时间敏感协议建立通道的类。

  1. 使用“添加新类 ppp0[eth1]”部分,从类下拉框中选择 100。
  2. 选择优先级为 2。
  3. 将“最小上传速度(以 kbit 为单位)”设置为 50 Kbps。
  4. 将“最大延迟(以毫秒为单位)”设置为 40 毫秒。
  5. 将“最大上传速度(以 kbit 为单位)”设置为您的 ISP 提供的上传速度。
  6. 单击保存。

极速类 (101)

[编辑 | 编辑源代码]

此类用于 RTP 数据和任何非常时间敏感的东西,例如在线游戏和 VoIP

  1. 使用“添加新类 ppp0[eth1]”部分,从类下拉框中选择 101。
  2. 选择优先级为 1。
  3. 将“最小上传速度(以 kbit 为单位)”设置为 90 Kbps。
  4. 将“最大延迟(以毫秒为单位)”设置为 20 毫秒。
  5. 将“最大上传速度(以 kbit 为单位)”设置为您的 ISP 提供的上传速度。
  6. 单击保存。

批量流量类 (103)

[编辑 | 编辑源代码]

此类用于所有不时间敏感的流量,例如 P2P 和 FTP。

  1. 使用“添加新类 ppp0[eth1]”部分,从类下拉框中选择 103。
  2. 选择优先级为 7。
  3. 将“最小上传速率(Kbps)”设置为 0 Kbps。
  4. 将“最大延迟(毫秒)”设置为 150 毫秒。
  5. 将“最大上传速率(Kbps)”设置为比您的 ISP 提供的总上传速度低 50-100 Kbps。
  6. 单击保存。

默认类 (199)

[编辑 | 编辑源代码]

此类用于所有未被规则涵盖的流量,即未定义的流量。

  1. 使用“添加新类 ppp0[eth1]”部分,从类下拉框中选择 199。
  2. 选择优先级为 4。
  3. 将“最小上传速率(Kbps)”设置为 0 Kbps。
  4. 将“最大延迟(毫秒)”设置为 50 毫秒。
  5. 将“最大上传速率(Kbps)”设置为比您的 ISP 提供的总上传速度低 50-100 Kbps。
  6. 单击保存。

设置 ACK

[编辑 | 编辑源代码]

ACK 是 TCP 协议的一部分,将 ACK 数据包设置为高优先级将加速所有 TCP 连接,因此应将其分配给 101 类。

因此,在 IPCop 的 QoS 页面上执行以下操作:

  1. 转到“为 ppp0[eth1] 上的 ACK 选择类”部分。
  2. 从下拉框中选择 101。
  3. 单击保存。

定义流量

[编辑 | 编辑源代码]

现在所有类都已定义,您需要选择哪种流量通过哪个类。这可以通过规则来实现。规则是通过端口或通过第 7 层过滤器定义的。

规则 - 端口

[编辑 | 编辑源代码]

不同的应用程序使用不同的端口号或端口号范围。它们也使用不同的数据包协议,例如 TCP 和 UDP。要定义流量规则,您需要找出应用程序使用的端口号和它使用的数据包协议。这些信息通常在应用程序手册或应用程序的配置选择中找到。如果没有,您可以使用 谷歌 搜索。要添加基于端口的规则,请执行以下操作:

  1. 转到“添加规则”部分。
  2. 为规则命名,例如应用程序名称(名称中不允许空格,且长度不能超过 15 个字符)。
  3. 从下拉框中将接口设置为您的红色接口。
  4. 从协议下拉框中选择应用程序的协议类型。
  5. 从标记下拉框中选择您希望此应用程序数据绑定的类。例如,如果是 VoIP,则将其设置为 101 类。
  6. 在“源端口”文本框中输入应用程序的端口号。端口号可以是单个端口或范围,例如 80-90。
  7. 单击保存。

规则 – 第 7 层

[编辑 | 编辑源代码]

第 7 层过滤器允许独立于端口识别协议。如果您无法预测用户将使用哪些端口,这将非常有用。这会消耗一些 CPU 时间,但这与网络流量的流速成正比,对于具有 IPCop 最小硬件规格要求的家庭或办公室网络来说,这应该不是问题。

要添加基于第 7 层的规则,请执行以下操作:

  1. 转到“添加 l7 规则”部分。
  2. 在“规则名称”文本框中输入协议的名称。
  3. 从下拉框中将接口设置为您的红色接口。
  4. 从“协议”下拉框中选择您要控制的协议的名称。
  5. 然后,从“标记”下拉框中选择您希望协议的流量流经的类。
  6. 单击保存。

IMQ – 为传入流量设置类和规则

[编辑 | 编辑源代码]

使用 imq0 虚拟设备将允许您控制下载数据包的优先级,与之前讨论的上传数据包相反。

设置此设备与之前的设备非常相似,但对于 ADSL 连接,带宽在下行方向更大,因此需要在类中进行调整。

设置与之前相同。

  1. 使用可用下载带宽的 90% 设置根类。
  2. 快速类 (200) – 更改最大和最小带宽以适应。
  3. 极快类 (201) – 更改最大和最小带宽以适应。
  4. 批量流量类 (203) – 更改最大和最小带宽以适应。
  5. 默认类 (299) – 更改最大和最小带宽以适应。
  6. 使用端口规则或第 7 层过滤器添加此设备所需的规则。

卸载 QoS 附加组件

[编辑 | 编辑源代码]

要卸载,只需执行以下操作:

  1. 使用 PuTTy 连接到 IPCop,记住使用端口 222 连接。
  2. 在终端窗口中键入以下内容:
# /var/ipcop/qos/bin/uninstall

内核更新

[编辑 | 编辑源代码]

IPCOP 需要更新的内核才能使 QOS 包正常工作,在安装 QOS 后,请访问以下链接 MHADDONS,下载并安装内核,并按照相关说明进行操作。可能存在更新的内核版本,请查看 下载 中的附加组件部分。

术语表

[编辑 | 编辑源代码]

CBQ – 基于类的排队。

HFSC – 分层公平服务曲线

HTB – 分层令牌桶 - 一种数据包调度器

IMQ – 一种虚拟设备,在数据包被排入真实设备之前拦截所有数据包。

L7-filter – 应用层数据包分类器

RTP – 实时传输协议

qdisc – 排队规则。

VoIP – 语音 over IP

[编辑 | 编辑源代码]
  • 流量整形 的详细说明 [1]
  • 分层令牌桶手册 [2]
  • Linux 中间队列 (imq) [3]
华夏公益教科书