问题是,当使用 wget 测试下载速度时,我总是将最终客户端计算机限制为互联网热点带宽的约 1/3(三分之一,约 200/300kb)。
我已经配置了一个 Debian 7 linux 路由器(名为“服务器”)和 2 个 wifi 适配器:
- wlan0 -> pci 上的旧贝尔金 wifi 卡,频率为 33mhz(BCM4306)(54Mb/s),使用 Hostap 使其成为热点
- wlan1 -> USB 上的新 RTL8192CU (54Mb/s) 连接到另一个热点(netbox,具有 Internet 连接,但无法更改其上的任何配置)。
所以通过互联网的路线是
laptop -> server -> hotspot -> internet
我已经使用以下配置在服务器上配置了 Netfilter:
#!/bin/sh
PATH=/sbin
EXTIF="wlan1"
INTIF="wlan0"
iptables -F
iptables -t nat -F
iptables -X
iptables -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
iptables -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i $EXTIF -o $INTIF -j ACCEPT
iptables -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward
qdisc 是默认的,它们是:
root@server:~# tc qdisc show
qdisc mq 0: dev wlan0 root
qdisc pfifo_fast 0: dev wlan0 parent :1 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev wlan0 parent :2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev wlan0 parent :3 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev wlan0 parent :4 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc mq 0: dev wlan1 root
qdisc pfifo_fast 0: dev wlan1 parent :1 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev wlan1 parent :2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev wlan1 parent :3 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev wlan1 parent :4 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
我用笔记本电脑 (debian 8) 连接到我的 Linux 路由器(服务器)
在服务器上使用 wget 进行下载测试,我达到了 1Mb/s,但是当尝试从我的笔记本电脑测试下载时,我无法达到该速度,它似乎仅限于总带宽的三分之一左右服务器通过互联网,也CPU负载服务器的利用率保持在很低的水平 (<=1%)
tcp_window_scaling 已启用且 net.core.wmem_max= 1048576 net.core.rmem_max= 1048576
我已经挖掘了好几天了,但我无法找到一种方法来从我的笔记本电脑中获得全速,有人有解决这个问题的想法吗?我目前怀疑 io 总线上存在一些瓶颈......