Linux 数据包转发性能

Linux 数据包转发性能

我在 Linux 数据包转发方面遇到了性能问题。我使用一台旧笔记本电脑作为路由器,并iptables启用了伪装和 ipv4 转发功能。

  • 内网连接千兆内置网卡
  • 互联网连接到 32 位 PCMCIA 卡

测量速度:

  • 互联网<->路由器:11.2 MB/s
  • 内联网 <-> 路由器 : 112 MB/s
  • 内联网 <-> 互联网 :不超过 100 KB/s

我可以同时下载/上传两个界面,没有任何问题。

路由器硬件配置:

  • 奔腾 M 1.6GHz
  • 1.2 GB 内存
  • 戴尔 Latitude D410

软件配置:

  • Linux 2.6.32-5-686 #1 SMP 2011 年 3 月 8 日星期二 21:36:00 UTC i686 GNU/Linux (Debian 6)
  • iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
  • /proc/sys/net/ipv4/ip_forward设置为 1

我不知道为什么会发生这种情况,有人知道这种性能下降可能是由什么原因造成的吗?

我将尝试重新安装操作系统,但我认为这不会改变任何东西。

答案1

我已经遇到过一个 Linux 路由器,它每个连接的转发速度不会超过 100kB/s。

问题在于 ISP 设备的以太网接口设置为半双工。通过禁用自动协商并手动强制全双工即可解决。这可以通过 ethtool 完成:

sudo ethtool -s eth1 speed 100 duplex full autoneg off

答案2

互联网<->路由器:11.2 MB/s

这是如何测量的?100MBit/s 的互联网管道并不常见。你家里有玻璃纤维吗?如果你有某种 ADSL,100KB/s 听起来很合理。

相关内容