NanoPi R4SのWireGuard性能を試す

テストについて

ARM CPU搭載デバイスはx86機と比べ非常に消費電力が低くかつ安価に入手できる。
これを友人の家に置いてVPN環境を作るにあたりどれくらいの速度が出るのか
先ずはローカルで検証していきたい。

NanoPi R4Sとは

FriendlyElec製のオープンハードで1GbpsのLANポートが2口あり
ルータ用途として最適である。
CPUにはRockchip RK3399(6 core)が使われておりルータとして十分な処理能力を持っている。

NanoPi R4S
CPU : 6コア (2GHz A72 x2 + 1.5GHz A53 x4)
RAM : 4GB
電源 : 5V3A USB TYPE-C
※裸の状態ではRK3399の熱を処理できないのでMetalCaseの購入をおすすめする。

テスト環境

NanoPi R4S

4GBRAM with MetalCase構成のR4Sを2台使用する。

OS

それぞれにArmbianをインストールする。
Armbian 22.08.1 Jammy with Linux 5.15.62-rockchip64

※「Armbian Linux Build Framework」を使ってminimal構成でビルドしたもの

カーネルパラメータ

以下に設定を変更している。

net.core.rmem_max = 33554432
net.core.wmem_max = 33554432
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr

LANポート

R4Sには1GbEのポートが2つある。

WAN(CPU直結)
LAN(PCIe変換)

LANはSSH接続用、WANは計測用として使用する。

ELECOMのCAT6AケーブルをR4SのWANポートに接続する。
※スイッチは挟まない。

注意事項

NanoPiはMACアドレスがユニークではなく固定である。
同じモデルのNanoPiを同一ネットワークに接続する際は
MACアドレスの変更が必要だ。

vim /etc/network/interfaces

# 以下追加(MACアドレスは適当に生成する)
hwaddress ether xx:xx:xx:xx:xx:xx

iperf3テスト

WireGuardのテストを行う前にiperf3でテストを行っておく。
R4S(1)をサーバ、R4S(2)をクライアントとし計測を行った。

平均940Mbpsで安定している。
メーカーのテスト値と同じ結果となった。

WireGuardテスト

R4S(1)をサーバ、R4S(2)をクライアントとし計測を行った。
尚、WireGuardでは[PresharedKey]を設定している。

平均530Mbps程。
予想より遅かったのでcpu governorをperformanceに設定し再度テスト。

平均630Mbpsに速度が上がった。
そこまで劇的に上がってないので、消費電力を考えるとondemandで良いような気がする。

2回目のテスト時のCPU使用率は以下

CPUを使い切ってないのが気になるが、個人宅を結ぶVPNとしては十分だろう。

コメント

タイトルとURLをコピーしました