web-dev-qa-db-ja.com

OpenVPNハードウェア要件

新しいネットワークを計画しています。このネットワークから出てくるすべてのトラフィックは、離れたサーバー上のインターネットに出るためにVPNに転送されます。これはOpenVPN経由で行われます。トンネルは1つだけになります。

ダウンストリーム速度が100Mbit/s、アップストリーム速度が5 Mbit/sの非常に高速なインターネット接続を検討しています。

このような速度をサポートするには、どのようなハードウェアが必要ですか? OpenVPNサーバーのハードウェアサイジングに関する経験則はありますか?

atomボードで十分ですか?AMD Geode 800Mhzはどうですか?

よろしくお願いします、

2

Atom CPUは100メガビットのOpenVPNトラフィックを処理すると思います。負荷がかかると、Atomは、より高速なCPUよりも少し待ち時間が長くなりますが、これはサーバーとクライアントの間にある長距離のリンクの待ち時間と比較すると、おそらく重要ではありません。

いくつかの非科学的なテスト結果、Atom CPUを備えたネットブックとローカル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テスト中にCPUがtimeからのuser + sysカウントよりも多く課税されていることを示しました。これは、timeがVPNではなくddのCPUアクティビティのみをカウントしているためです。テスト全体を通して、cpu0が約70%、cpu1が約30%であることが示されました。これは、CPUがそのテストでOpenVPNを介して転送できる制限に近いことを示しています(Atomはシングルコアでした)ただし、ハイパースレッディングを使用)-9.5Mバイト/秒でシャッフルすることができました。

VPNによって追加された遅延(データを暗号化するCPU作業からのオーバーヘッドとトンネリング方法からのオーバーヘッドの組み合わせ)の指標として、小さい(デフォルトの56バイトのペイロード)パケットでpingを実行します。

--- 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セットは、すぐに使用できるデフォルトでほぼ実行されています。

4
David Spillett

数人が実行してWebサイトに投稿した非公式のテスト以外に、公開されているベンチマークを知りません。ちなみに、暗号コード(OpenSSL)は世界で最も最適化されているようには見えませんが、豚でもないようです。簡単なベンチマークは、LAN上の2台のPCにOpenVPNサーバーとクライアントをセットアップし、両方のCPU負荷を監視しながらトラフィックを移動することです。

自宅のLAN上のOpenVPNサーバーであるジャンクPentiumII 400MhzマシンのCPUを最大化することなく、暗号化されたトラフィックで54Mbpsで動作する802.11gリンクを飽和させることができると言えます。それは、Geodeもおそらくそれを行うことができると私に思わせます。

OpenSSL(したがってOpenVPN)は、いくつかのハードウェアオフロードソリューションもサポートしています。ローエンドのソリューションは、一部のViaチップセットに含まれているVia「南京錠」です。これは、CPU要件を低く抑える方法でもあります。見る:

2
Evan Anderson

私は2台のOpenVPNサーバーをセットアップし、両方とも正常に動作しています。それぞれに3台のクライアントを作成しましたが、それらは正常に動作します。

1つはRasPi3に基づいており、32Gbの非常に高速なMicroSDと追加の32GbUSBキーを備えています。

もう1つは、UBUNTUを実行している4GbRAMと500GbHDを搭載したラップトップです。これも正常に動作しています。

私の結論はこれです。私のケース3でクライアントがあまりいない場合は、実際には多くの数のクランチビーストを必要としないため、セットアップにかかるコストはごくわずかです。

私のインターネットのダウンロード速度は60Mb/sで、アップロード速度は16 Mb/sです。そのため、3つのクライアント、つまりそれぞれ〜5Mb/sがあります。

乾杯

シャマック

1
Siamak

VIA Nanoをお勧めします。 via VIA Nano L2200 @ 1600MHzを使用すると、330メガビットをプッシュできます。 VIA nanoはAtomと同じ価格帯であり、ハードウェアAESをサポートしています。このようなパフォーマンスを得るには、AESのblowfishから変更し、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

0
voidlogic