Требования к оборудованию OpenVPN

Я планирую новую сеть. Весь трафик, исходящий из этой сети, будет перенаправлен в VPN для выхода в Интернет на удаленном сервере. Это будет сделано через OpenVPN. Там будет только один туннель.

Мы рассчитываем на очень высокоскоростное интернет-соединение с нисходящей скоростью 100 Мбит / с и восходящей скоростью 5 Мбит / с.

Какое оборудование мне понадобится для поддержки таких скоростей? Существуют ли какие-либо правила большого пальца для аппаратного определения размеров серверов OpenVPN?

Будет ли атомной доски достаточно? А как насчет AMD Geode 800 МГц?

Заранее спасибо за вашу помощь,

4 ответа

Я предполагаю, что процессор Atom будет обрабатывать 100 Мбит трафика OpenVPN. Под нагрузкой вы можете обнаружить, что Atom вводит немного большую задержку, чем более быстрый процессор, но это, вероятно, не будет значительным, если учесть задержку любых длинных удаленных соединений между сервером и клиентами.

Некоторые результаты ненаучных тестов: данные между моим нетбуком с процессором Atom на локальном сервере OpenVPN (по сети 1000 Мбит, но нетбук имеет только 100 Мбит NIC):

dspillett@minirant:~$ time dd if=/dev/zero bs=1024 count=1048576 | nc -q 0 192.168.43.1 3333
1048576+0 records in
1048576+0 records out
1073741824 bytes (1.1 GB) copied, 91.2072 s, 11.8 MB/s
real        1m31.227s
user        0m1.792s
sys         0m25.874s
dspillett@minirant:~$ 

dspillett@minirant:~$ time dd if=/dev/zero bs=1024 count=1048576 | nc -q 0 192.168.44.1 3333
1048576+0 records in
1048576+0 records out
1073741824 bytes (1.1 GB) copied, 113.082 s, 9.5 MB/s
real        1m53.107s
user        0m1.468s
sys         0m15.337s
dspillett@minirant:~$

где 192.168.43.1 - сервер, видимый только через локальную сеть, а 192.168.44.1 - тот же компьютер, который виден через канал OpenVPN через эту сеть. VPN находится в режиме моста, используя соединение на основе UDP.

htop показал, что процессор во время теста VPN облагался налогом больше, чем рассчитывает пользователь +sys time указать, потому что time только считает ddПроцессорная активность, а не VPN. Он показал cpu0 на уровне ~70% и cpu1 на уровне ~30% на протяжении всего теста, что позволило бы предположить, что ЦП близок к пределу, который он может передавать через OpenVPN в этом тесте (что Atom был одноядерным, но с гиперпоточностью) - хотя это все же удалось перемешивать со скоростью 9,5 Мбайт / с

В качестве указания на задержку, добавляемую VPN (которая будет представлять собой комбинацию издержек из-за работы ЦП при шифровании данных и служебных данных из метода туннелирования), пинг с небольшими (по умолчанию, 56-байтовая полезная нагрузка) пакетами:

--- 192.168.43.1 ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 8997ms
rtt min/avg/max/mdev = 0.138/0.166/0.183/0.015 ms
--- 192.168.44.1 ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 8998ms
rtt min/avg/max/mdev = 0.544/0.614/0.860/0.091 ms

и более крупные (2048 байт):

--- 192.168.43.1 ping statistics ---
10 packets transmitted, 10 received, 0% packet los
rtt min/avg/max/mdev = 0.514/0.521/0.531/0.021 ms
--- 192.168.44.1 ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9011ms
rtt min/avg/max/mdev = 0.710/0.997/1.437/0.173 ms

Очевидно, что вы получите разные результаты с VPN, которая обрабатывает несколько соединений с реальными шаблонами трафика, поэтому вам может потребоваться выполнить некоторые более подробные тесты самостоятельно. Возможно, вам удастся выжать больше с некоторой настройкой - мой набор OpenVPN в значительной степени работает на стандартных настройках по умолчанию.

Мне не известны какие-либо опубликованные тесты, кроме некоторых неформальных тестов, которые несколько человек выполнили и разместили на своих веб-сайтах. Как ни странно, криптографический код (OpenSSL), похоже, не самый оптимизированный в мире, но, похоже, тоже не является свиньей. Простым тестом для вас может быть настройка сервера и клиента OpenVPN на нескольких ПК в локальной сети и время, в течение которого через них будет проходить некоторый трафик, а также загрузка ЦП на обоих.

Я могу вам сказать, что я могу насыщать канал 802.11g, работающий на скорости 54 Мбит / с, зашифрованным трафиком, не используя при этом максимальную нагрузку на процессор на ненужной машине Pentium II 400 МГц, которая является сервером OpenVPN в моей домашней локальной сети. Это заставляет меня думать, что Geode, вероятно, тоже может это сделать.

OpenSSL (и, следовательно, OpenVPN) также поддерживает некоторые аппаратные решения. Бюджетным решением Via является "навесной замок" Via, включенный в некоторые чипсеты Via. Это также может быть способом сохранить ваши требования к процессору низкими. Увидеть:

Я установил 2 сервера OpenVPN, и оба работают нормально, я сделал 3 клиента для каждого, и они работают нормально.

Один из них основан на RasPi 3 с очень быстрой Micro SD на 32 ГБ и дополнительным USB-ключом на 32 ГБ, пока что все хорошо.

Другой - ноутбук с 4Gb Ram и 500Gb HD с UBUNTU, этот тоже работает нормально.

Мой вывод таков; если у вас не много клиентов в моем случае 3, вам действительно не нужно много хрустящего зверя, поэтому очень малы затраты на его настройку.

Моя скорость загрузки через Интернет составляет 60 Мбит / с, а скорость загрузки - 16 Мбит / с, поэтому у меня 3 клиента, т.е. ~ 5 Мбит / с каждый.

ура

Сиамак

Я бы порекомендовал VIA Nano. С помощью VIA Nano L2200 @ 1600MHz я могу выдвинуть 330 Мбит. VIA nano находится в том же ценовом диапазоне, что и Atom, и имеет аппаратную поддержку AES. Чтобы получить такую ​​производительность, вам нужно перейти с blowfish с AES и добавить в openssl.conf следующее:

openssl_conf = openssl_def
[openssl_def]
engines = openssl_engines
[openssl_engines]
padlock = padlock_engine
[padlock_engine]
default_algorithms = ALL

Вот ссылка на пример комбо mobo/CPU: http://www.via-itx.com/via-vb8001.html

Другие вопросы по тегам