CrashPlan 似乎在标准 HTTPS 端口 443 上上传内容。
有没有办法可以为其分配与所有其他 HTTPS 流量分开的批量 QoS 优先级,或者我是否已经完全陷入困境?
我正在使用 DD-WRT。
答案1
使用进程名称和目标端口通过本地机器策略设置您想要的 DSCP 值,以确保您只标记 crashplan 流量,而不是端口 443 上的任何其他流量。
我刚刚在博客中谈到了这一点,其中包括视频:
http://blog.paulgeorge.co.uk/2012/06/07/crashplan-upload-traffic-with-dscp-tos-and-qos-on-windows-7/
编辑:更新了路由器设置的帖子http://blog.paulgeorge.co.uk/2012/06/11/setting-up-qos-on-draytek-2920n-router-using-dscp/
答案2
我认为这个适用于 DD-WRT + Crashplan。
首先,测试您的连接速度测试网或类似的性能工具。
在 Crashplan 中配置 TOS
在 Crashplan 中,转到设置 → 网络 → TCP 数据包 TOS。在这里我选择了 DSCP 并输入了值 56。这对应于
0x38
;向右移动两位得到0xE
,这是我们可以编程的 DSCP 代码点IPTABLES
。我为 WAN 和 LAN 都设置了这个值;保存后,我重新启动了。
为了确认这没问题,我安装了 Wireshark 并对 进行了跟踪
tcp.port == 443
。启动 Crashplan 后,我可以看到输出的备份流量;果然,展开 IP 标头显示 DS 代码点是0xE
。在 DD-WRT 中启用 QoS
只需在 DD-WRT 路由器上启用 QoS,如上面的注释所述:NAT/QOS → QoS → 启动 QoS(设置为“启用”)。
我编程占用了 85% 的可用上传和下载带宽。
创建 iptables 规则
在这里,我们配置
iptables
为在 DS 代码点 (DSCP) 上进行模式匹配,然后将“设置标记”设置为 BULK 组。转到管理 → 命令,然后在文本框中输入以下内容:iptables -t mangle -I POSTROUTING -m dscp --dscp 0x0e -j MARK --set-mark 40 iptables -t mangle -I PREROUTING -m dscp --dscp 0x0e -j MARK --set-mark 40
单击“保存防火墙”以提交这些更改。
最后,我重新启动了。
测试
我发现很难制作表格或诊断来表明我的规则有效。所以,我只是做了最终测试,即在 Crashplan 运行时重新运行上面描述的性能测试。成功了!即使 Crashplan 在后台运行,上传和下载速度基本相同。
答案3
CrashPlan 有一个设置可以自行标记其数据包:
答案4
我使用的是 Tomato,而不是 DD-WRT,但我发现为 crashplan 设置 QoS 非常容易。
我根据 central.crashplan.com 端口 443 上的目标 IP 配置了 QoS,并将其归类为批量流量。