IPCop/HFSC 高级 QoS
本手册旨在帮助您在没有任何流量整形知识的情况下快速上手
使用本手册将使您能够在没有任何 QoS 知识的情况下让流量整形在您的 IPCop 防火墙上工作。但是,您需要了解以下内容:
现在您已经有了副本,请使用 winscp 连接到您的 IPCop 机器(如果您是从 Windows 机器连接)。虽然 SSH 是通过端口 22 完成的,但 IPCop 使用端口 222。连接到防火墙后,首先导航到文件系统的根目录,然后进入标记为“tmp”的文件夹。进入后,将您从 Source Forge 获取的 qos tar 文件传输到其中。
好的,我们确实需要在这里帮助人们 - 我知道我花了大约一天时间搜索如何做到这一点,这大致正确 - 使用类似的东西
- 如果您使用的是 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”
- 如果您使用的是 Windows 作为您的桌面,请尝试 WinSCP
- 使用 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 - 如果您有多个网络接口,例如蓝色和橙色(红色将始终是最高的编号)
- 首先将默认类从下拉框中更改为 199。
- 现在将您的上传速度(以 kbps 为单位)添加到默认类下方的文本框中。您在此处输入的数字应为 ISP 为您提供的上传速度限制的 90%。
- 例如:
- ISP 上传速度 = 256 kbps×90% = 230 kbps。
- 所以将 230 添加到文本框中。
- 4. 现在单击保存。
这是用于为像 MSN、IRC 和 SSH 这样的相对时间敏感协议建立通道的类。
- 使用“添加新类 ppp0[eth1]”部分,从类下拉框中选择 100。
- 选择优先级为 2。
- 将“最小上传速度(以 kbit 为单位)”设置为 50 Kbps。
- 将“最大延迟(以毫秒为单位)”设置为 40 毫秒。
- 将“最大上传速度(以 kbit 为单位)”设置为您的 ISP 提供的上传速度。
- 单击保存。
此类用于 RTP 数据和任何非常时间敏感的东西,例如在线游戏和 VoIP
- 使用“添加新类 ppp0[eth1]”部分,从类下拉框中选择 101。
- 选择优先级为 1。
- 将“最小上传速度(以 kbit 为单位)”设置为 90 Kbps。
- 将“最大延迟(以毫秒为单位)”设置为 20 毫秒。
- 将“最大上传速度(以 kbit 为单位)”设置为您的 ISP 提供的上传速度。
- 单击保存。
此类用于所有不时间敏感的流量,例如 P2P 和 FTP。
- 使用“添加新类 ppp0[eth1]”部分,从类下拉框中选择 103。
- 选择优先级为 7。
- 将“最小上传速率(Kbps)”设置为 0 Kbps。
- 将“最大延迟(毫秒)”设置为 150 毫秒。
- 将“最大上传速率(Kbps)”设置为比您的 ISP 提供的总上传速度低 50-100 Kbps。
- 单击保存。
此类用于所有未被规则涵盖的流量,即未定义的流量。
- 使用“添加新类 ppp0[eth1]”部分,从类下拉框中选择 199。
- 选择优先级为 4。
- 将“最小上传速率(Kbps)”设置为 0 Kbps。
- 将“最大延迟(毫秒)”设置为 50 毫秒。
- 将“最大上传速率(Kbps)”设置为比您的 ISP 提供的总上传速度低 50-100 Kbps。
- 单击保存。
ACK 是 TCP 协议的一部分,将 ACK 数据包设置为高优先级将加速所有 TCP 连接,因此应将其分配给 101 类。
因此,在 IPCop 的 QoS 页面上执行以下操作:
- 转到“为 ppp0[eth1] 上的 ACK 选择类”部分。
- 从下拉框中选择 101。
- 单击保存。
现在所有类都已定义,您需要选择哪种流量通过哪个类。这可以通过规则来实现。规则是通过端口或通过第 7 层过滤器定义的。
不同的应用程序使用不同的端口号或端口号范围。它们也使用不同的数据包协议,例如 TCP 和 UDP。要定义流量规则,您需要找出应用程序使用的端口号和它使用的数据包协议。这些信息通常在应用程序手册或应用程序的配置选择中找到。如果没有,您可以使用 谷歌 搜索。要添加基于端口的规则,请执行以下操作:
- 转到“添加规则”部分。
- 为规则命名,例如应用程序名称(名称中不允许空格,且长度不能超过 15 个字符)。
- 从下拉框中将接口设置为您的红色接口。
- 从协议下拉框中选择应用程序的协议类型。
- 从标记下拉框中选择您希望此应用程序数据绑定的类。例如,如果是 VoIP,则将其设置为 101 类。
- 在“源端口”文本框中输入应用程序的端口号。端口号可以是单个端口或范围,例如 80-90。
- 单击保存。
第 7 层过滤器允许独立于端口识别协议。如果您无法预测用户将使用哪些端口,这将非常有用。这会消耗一些 CPU 时间,但这与网络流量的流速成正比,对于具有 IPCop 最小硬件规格要求的家庭或办公室网络来说,这应该不是问题。
要添加基于第 7 层的规则,请执行以下操作:
- 转到“添加 l7 规则”部分。
- 在“规则名称”文本框中输入协议的名称。
- 从下拉框中将接口设置为您的红色接口。
- 从“协议”下拉框中选择您要控制的协议的名称。
- 然后,从“标记”下拉框中选择您希望协议的流量流经的类。
- 单击保存。
使用 imq0 虚拟设备将允许您控制下载数据包的优先级,与之前讨论的上传数据包相反。
设置此设备与之前的设备非常相似,但对于 ADSL 连接,带宽在下行方向更大,因此需要在类中进行调整。
设置与之前相同。
- 使用可用下载带宽的 90% 设置根类。
- 快速类 (200) – 更改最大和最小带宽以适应。
- 极快类 (201) – 更改最大和最小带宽以适应。
- 批量流量类 (203) – 更改最大和最小带宽以适应。
- 默认类 (299) – 更改最大和最小带宽以适应。
- 使用端口规则或第 7 层过滤器添加此设备所需的规则。
要卸载,只需执行以下操作:
- 使用 PuTTy 连接到 IPCop,记住使用端口 222 连接。
- 在终端窗口中键入以下内容:
- # /var/ipcop/qos/bin/uninstall
IPCOP 需要更新的内核才能使 QOS 包正常工作,在安装 QOS 后,请访问以下链接 MHADDONS,下载并安装内核,并按照相关说明进行操作。可能存在更新的内核版本,请查看 下载 中的附加组件部分。
CBQ – 基于类的排队。
HFSC – 分层公平服务曲线
HTB – 分层令牌桶 - 一种数据包调度器
IMQ – 一种虚拟设备,在数据包被排入真实设备之前拦截所有数据包。
L7-filter – 应用层数据包分类器
RTP – 实时传输协议
qdisc – 排队规则。
VoIP – 语音 over IP