Медленная скорость VPN strongswan на FreeBSD

Вопрос или проблема

Я установил VPN сервер с strongswan 5.4.0 на FreeBSD 11.0-RELEASE-p1 на RaspberryPi 2. Пока что всё работает нормально, но скорость варьируется и значительно ниже, чем на Raspian, который я использовал до этого.

Вот конфигурация:

/etc/rc.conf

hostname="rpi2"
ifconfig_ue0="DHCP"
sshd_enable="YES"

powerd_enable="YES"

# Хорошо, если у вас есть сеть, иначе мешает.
ntpd_enable="YES"

strongswan_enable="YES"

pf_enable="YES"
pf_rules="/etc/pf.conf"
pflog_enable="YES"
pflog_logfile="/var/log/pflog"  # здесь pflogd должен хранить файл журнала
gateway_enable="YES"            # Включить как шлюз LAN

dnsmasq_enable="YES"

/usr/local/etc/ipsec.conf

# ipsec.conf - файл конфигурации strongSwan IPsec

 config setup
    charondebug="ike 2, knl 2, cfg 2, net 2, esp 2, dmn 2,  mgr 2"
    uniqueids = never


 conn ikev2
    left=%defaultroute
    leftid=example.com
    leftcert=VPN.crt
    leftsendcert = always
    leftsubnet=0.0.0.0/0
#   leftfirewall=yes
    right=%any
    rightsourceip=10.0.0.1/24
    keyexchange=ikev2
    auto=add
    fragmentation=yes
    ike=aes128-sha256-ecp256!
    esp=aes128gcm16!

/usr/local/etc/strongswan.conf

# strongswan.conf - файл конфигурации strongSwan
charon {
    dns1 = 192.168.1.58
    plugins {
            include strongswan.d/charon/*.conf
    }
}

include strongswan.d/*.conf

/etc/pf.conf

nat on ue0 from 10.0.0.1/24 to any -> (ue0)

Скорость загрузки на подключенной машине примерно 5 Mbit/s, на Raspian она была около 20 Mbit/s. (Использование ЦП около 33 % на одном ядре и использование памяти 44MB, так что это не должно быть препятствием для более высокой пропускной способности)

У меня вопрос: сделал ли я какие-то ошибки в своей конфигурации? Что я могу сделать, чтобы ускорить это?

Также VPN сервер иногда вызывает сбой XNU. Могла ли это быть проблема сервера?

Редактировать:

Я только что снова проверил скорости соединения. Скорость загрузки по VPN составляет около 5-8 Mbps, а скорость загрузки по VPN составляет около 13-18 Mbps. Интернет-соединение на Raspberry должно быть нормальным, я проверил его с помощью wget, который дает мне около 6 MBps, вероятно, ограниченным ядром ЦП. На Debian скорость загрузки и выгрузки по VPN составляет около 20 Mbps. Так что должны быть некоторые улучшения на FreeBSD? Дополнительный вопрос: если я выясню, в чем проблема, есть ли способ использовать несколько ядер ЦП, чтобы еще больше улучшить скорость?

Редактировать2:

Я только что проверил производительность AES-GCM, используя OpenSSL 1.0.2j, который дает мне скорости около 7000kB/s. Может быть, кто-то может объяснить мне, почему я могу или не могу иметь такие скорости на ESP?

Я только что снова проверил Raspian и включил параллельное шифрование. Теперь я получаю около 50 Mbps. Я думаю, что не смогу достичь этого с FreeBSD, поэтому останусь на Linux.

Ответ или решение

Оптимизация скорости VPN на StrongSwan в FreeBSD

У вас возникла проблема со скоростью VPN-сервера на базе StrongSwan версии 5.4.0 на FreeBSD 11.0-RELEASE-p1, установленного на Raspberry Pi 2. Данная ситуация требует анализа и оптимизации конфигурации для достижения лучших результатов по скорости.

1. Оценка конфигурации

Ваша текущая конфигурация включает настройки, которые могут влиять на производительность:

  • Сертификаты и ключи: Убедитесь, что сертификаты оптимально настроены и не требуют слишком много расчетных ресурсов для их обработки. Использование более легких алгоритмов аутентификации, таких как aes128-sha256, может положительно сказаться на производительности, но необходимо учитывать компромисс между безопасностью и производительностью.

  • Уровень отладки: Наличие высоких значений в charondebug (ike 2, knl 2 и т. д.) может приводить к увеличенной нагрузке на систему. Попробуйте установить более низкий уровень отладки на этапе тестирования.

2. Настройки сети

  • PF: Убедитесь, что ваш файрвол не создает узкие места. Временное отключение pf для тестирования может помочь вам определить, негативно ли влияет он на скорость.

  • Настройка NAT: Убедитесь, что правила NAT оптимально настроены. Комплексные правила могут замедлять передачу пакетов.

3. Замеченные проблемы с производительностью

Вы указали, что наблюдается скачкообразная скорость в диапазоне 5-8 Мбит/с для загрузки и 13-18 Мбит/с для выгрузки. Необходимо учитывать следующие моменты:

  • ЦП и память: Хотя загрузка ЦП в 33% и использование памяти в 44 МБ не указывают на узкие места, необходимо учесть, что однопоточные процессы могут зацикливаться на использовании одного ядра. Ваша Raspberry Pi 2 имеет 4 ядра, но StrongSwan может не использовать их все должным образом.

  • AES-GCM: Вы упомянули, что производительность AES-GCM достигает 7000 кБ/с, в то время как фактическая скорость VPN ниже. Это может быть связано с потери пакетов, настройками шифрования на уровне сетевого интерфейса или ограничениями в передаче данных через IPsec.

4. Оптимизация конфигурации и возможные изменения

  1. Улучшение многопоточности: Убедитесь, что StrongSwan настроен на использование нескольких ядер. Возможно, вам нужно будет обновить версию StrongSwan или использовать более новые версии FreeBSD, поскольку они могут предлагать лучшую многопоточность.

  2. Тестирование других шифров: Попробуйте использовать другие алгоритмы шифрования, такие как aes256 или chacha20, и посмотрите, насколько они влияют на производительность.

  3. Отключение ненужных функций: Убедитесь, что отключены ненужные плагины и функции в конфигурации StrongSwan, которые могут увеличивать накладные расходы.

  4. Мониторинг трафика: Используйте инструменты типа iftop или tcpdump, чтобы проверить, не замедляет ли что-то трафик.

5. Заключение

Ваша текущая конфигурация может быть оптимизирована с помощью некоторых вышеописанных шагов. При необходимости дальнейшего углубленного анализа, стоит рассмотреть возможность перехода на более новую версию StrongSwan или использование Linux-дистрибутивов, которые уже продемонстрировали лучшую производительность в вашем случае.

В конечном итоге, если вы не сможете достичь желаемого уровня производительности на FreeBSD, разумным решением может стать переключение на дистрибутив Linux, где вы уже наблюдали более высокие результаты.

Оцените материал
Добавить комментарий

Капча загружается...