У меня проблемы с производительностью при пересылке пакетов в Linux. В качестве маршрутизатора я использую старый ноутбук с iptables для маскировки и перенаправления ipv4.

  • Интранет-сеть подключена к гигабитной встроенной сетевой плате
  • Интернет-сеть связана с 32-битной картой PCMCIA.

Измеренные скорости:

  • Интернет <-> Маршрутизатор: 11,2 МБ / с
  • Интранет <-> Маршрутизатор: 112 МБ / с
  • Интранет <-> Интернет: не более 100 КБ / с

Я могу иметь оба интерфейса загрузки / выгрузки одновременно без каких-либо проблем.

Конфигурация оборудования маршрутизатора:

  • Pentium M 1.6 ГГц
  • 1,2 ГБ ОЗУ
  • DELL Latitude D410

Конфигурация программного обеспечения:

  • Linux 2.6.32-5-686 # 1 SMP Вт 8 марта 21:36:00 UTC 2011 i686 GNU/Linux (Debian 6)
  • iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
  • /proc/sys/net/ipv4/ip_forward установлен в 1

Понятия не имею, почему это происходит, есть ли у кого-нибудь представление о том, откуда может произойти такое падение производительности?

Я попробую переустановить операционную систему, но не думаю, что это что-то изменит.

2 ответа2

1

Я уже сталкивался с маршрутизатором Linux, который не будет пересылать более 100 кБ / с для каждого соединения.

Проблема заключалась в том, что интерфейс Ethernet к оборудованию провайдера был настроен на полудуплекс. Исправлено отключение автосогласования и принудительное принудительное включение полного дуплекса. Это можно сделать с помощью ethtool:

sudo ethtool -s eth1 speed 100 duplex full autoneg off
0

Интернет <-> Маршрутизатор: 11,2 МБ / с

Как это было измерено? Интернет-каналы со скоростью 100 Мбит / с встречаются редко. У вас дома есть стекловолокно? Если у вас есть какой-то тип ADSL, 100 КБ / с звучат разумно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .