У нас есть виртуальная машина RedHat 5.8, работающая на ESX поверх Cisco UCS, которая действует как межсетевой экран с использованием iptables. Коробка имеет несколько сетевых адаптеров, одна из которых служит шлюзом в нашу сеть, а остальные подключены к отдельной VLAN / сети. Проблема, которую я вижу, заключается в том, что выполнение теста iperf с хоста непосредственно на виртуальную машину брандмауэра дает скорость 800+ Мбит / с, но при попытке выполнить тест iperf с хоста за пределами брандмауэра на хост внутри брандмауэра (вызывая прохождение трафика через брандмауэр) обеспечивает скорость около 30 Мбит / с или меньше.
Детали:
Что я пробовал:
Поскольку я могу получить 800+ Мбит / с на самом брандмауэре, это наводит меня на мысль, что нет ничего плохого в конфигурации самих сетевых адаптеров. Мне кажется, что это проблема с пересылкой в самой ОС, поскольку она проявляется только тогда, когда трафик проходит через брандмауэр. Также должен отметить, что никаких скачков ЦП во время этого процесса я не наблюдал.
Я уверен, что опускаю некоторые подробности, поэтому, если возникнут дополнительные вопросы, дайте мне знать. Я ценю любую помощь!
Мы нашли решение. Нам пришлось отключить LRO на уровне лезвия в UCS (как показано здесь -> http://docwiki.cisco.com/wiki/Disable_LRO). Как только мы это сделали, скорость поднялась до 700+ МБ / с, ограничиваясь только процессором и обработкой iptables.