Назад | Перейти на главную страницу

Что помогает повысить производительность IP-маршрутизации iptables?

Проблема, с которой я столкнулся, заключается в том, что у меня есть оптоволоконная линия со скоростью 500 Мбит / с, и кажется, что iptables является узким местом на моем маршрутизаторе рабочей станции Linux (~ 200 Мбит / с) при выполнении трансляции сетевых адресов (NAT). Проведение теста скорости прямо на WAN VLAN дает мне полные 500 Мбит / с (подробнее о конфигурации ниже).

На рабочей станции есть гостевая машина Virtualbox Linux, которая выполняет NAT LAN VLAN к WAN VLAN на моем коммутаторе Dell Enterprise S3048-ON. Операционная система хоста - Windows 10. Между прочим, она использует два логических интерфейса, но использует только физический порт коммутатора.

Технические характеристики рабочей станции: 16-ядерный 1950X, 128 ГБ ОЗУ с гигабитным сетевым контроллером Intel I211-AT.

Кроме того, я не уверен, имеет ли это значение для производительности или нет, но по какой-то причине теги VLAN удаляются до того, как они попадают в гостевую ОС Linux VM. Чтобы он заработал, мне нужно перейти к диспетчеру устройств Win10 и создать виртуальные интерфейсы, назначенные для WAN VLAN и LAN VLAN тогда гостевая виртуальная машина Linux видит их как обычные немаркированные порты и NAT Linux между ними.

Не создает ли гость, у которого нет доступа к собственным VLAN, проблемы с производительностью?

Или мне просто нужно перейти на более качественную сетевую карту? Я не уверен, что здесь разрешены рекомендации по оборудованию, так что мне нужно будет искать в сетевой карте, если это так?

Я пытался найти ответы, но по этой теме очень мало. Если бы кто-то мог предоставить дополнительную информацию, чтобы помочь мне разобраться в этом, я был бы очень благодарен.

Это было бы лучше для комментария, но моя текущая репутация не позволяет мне это сделать. Поехали:

NATTing будет происходить от IP к IP, что означает, что IP-адрес некоторой машины, который находится в вашей LAN VLAN, сможет получить доступ к Интернету, будучи привязанным к IP-адресу, который находится в WAN VLAN. Итак, я не думаю, что удаление тегов VLAN - это то, о чем вам следует слишком беспокоиться.

сетевая карта может быть проблемой, но я в этом сомневаюсь. У вас есть гигабитная сетевая карта и оптоволоконная линия со скоростью 500 Мбит / с (это максимальная пропускная способность, на которую вы можете подняться), я думаю, вы все в порядке.

Переходя к iptables, я согласен, что это может быть проблемой. https://people.netfilter.org/kadlec/nftest.pdf здесь говорится, что производительность боксов снизилась вдвое при использовании для NAT, однако производительность была протестирована с большим количеством правил цепочки. В вашем случае у вас может быть один общедоступный IP-адрес, на который вы выполняете NATTing. Я сам столкнулся с проблемой с iptables, но заменил его на Cisco CSR1000v (лицензированный), поскольку это производственная версия. Однако компания платила, а CISCO стоит дорого.

Вы можете попробовать некоторые методы ускорения, упомянутые ниже, чтобы увидеть, имеет ли это значение. https://wiki.archlinux.org/index.php/High_Performance_Firewall а также раздел 4.3 https://people.netfilter.org/kadlec/nftest.pdf и посмотрите, поможет ли это.