MikroTik RB750Gr3のIPsecスループット

Mikrotik RB750Gr3 (hEX)のIPsecのスループットを測定してみました。直結での計測なので実際の利用時のスピードを測るものではなく、ルーターの性能評価を行うものです。

計測環境

RB750Gr3とDebian9をIPsecで接続し、それぞれにぶら下げたCentOS7 Aをiperf3のクライアント、CentOS7 Bをiperf3のサーバーとして、スループットの測定を行います。RB750Gr3のファームウェアはv6.44.3となります。

計測結果

CentOS Aでiperf3の実行した結果が以下となります。無負荷時の消費電力はTAP-TST10での目測値で2.4Wとなります。

receiver sender
暗号化 Mbps CPU 消費電力 Mbps CPU 消費電力
AES128-SHA1 262 46% 3.1W 288 50% 3.1W
AES256-SHA1 262 46% 3.2W 299 57% 3.2W
AES128-SHA256 260 46% 3.1W 297 56% 3.2W
AES256-SHA256 261 48% 3.1W 297 55% 3.2W

L2TP/IPsecの結果と違って、L2TPという余計な処理がないせいかかなり速くなりました。公式サイトのデータの469.3Mbpsにはほど遠いですが、IX2105並みの数値が出たのは、$50のルーターとしてはなかなかではないでしょうか。しかし、同じチップを使っているはずのER-Xは、RB750Gr3の結果を見ると不甲斐ないですね。100Mbps程度水をあけられています。

しかし、ER-Xの時もそうでしたが、復号化(上記でreceiver)のほうが暗号化(上記でsender)よりも遅いというのは、使っているチップの性質なのでしょうか?!?他のルーターではあまりこのような傾向がなかったので不思議なところではあります。

RB750Gr3のConfig

テストに使ったRB750Gr3のconfigは以下の通りです。Quick Set後に追加した差分のみ記載しています。IKEv2での接続としています。MSS Clampingは入れるのが面倒だったので入れてません。代わりにiperf3の際に-M 1398としてお茶を濁しています。

mikrotik.example.comはRB750Gr3のether1アドレス、debian.example.comはDebian9のeth0アドレスを検証環境のDNSに登録しています。

/ip ipsec peer
add address=debian.example.com exchange-mode=ike2 name=to_debian
/ip ipsec proposal
set [ find default=yes ] auth-algorithms=sha256,sha1 enc-algorithms=\
    aes-256-cbc,aes-128-cbc
/ip firewall filter
add action=accept chain=input protocol=ipsec-esp (注1)
/ip firewall nat
add action=accept chain=srcnat dst-address=192.168.200.0/24 src-address=\
    192.168.100.0/24 (注2)
/ip firewall raw
add action=notrack chain=prerouting dst-address=192.168.200.0/24 src-address=\
    192.168.100.0/24 (注3)
add action=notrack chain=prerouting dst-address=192.168.100.0/24 src-address=\
    192.168.200.0/24 (注3)
/ip ipsec identity
add my-id=fqdn:mikrotik.example.com peer=to_debian remote-id=\
    fqdn:debian.example.com secret=presharedkey
/ip ipsec policy
add dst-address=192.168.200.0/24 sa-dst-address=10.0.0.3 sa-src-address=\
    0.0.0.0 src-address=192.168.100.0/24 tunnel=yes (注4)

(注1) add action=drop chain=input in-interface-list=!LAN の前に入れないとダメです
(注2) MikroTikのWikiに入れろと書いてあったので、
add action=masquerade chain=srcnat ipsec-policy=out,none out-interface-list=WAN
の前に入れましたが、ipsec-policy=out,noneに対してはNATしないのでひょっとしたらいらないかもです。実際に入れなくても動作はしました。
(注3) MikroTikのWikiに入れるとパフォーマンスが改善すると書いてあったので入れました。実際30%くらい速度が改善しました。
(注4) sa-dst-addressはdebian.example.comとしたかったのですが、IPアドレスしか受け付けなかったので、仕方なくアドレスをベタ打ちしました。ipsec peerにdebian.example.comと入れているので改めてここで入れる意味がちょっとわかりませんが、とりあえず今回はスループットテストなので、これで我慢しています。

Debian9の設定

IPsecにはstrongSwan 5.5.1を使いました。テストでは暗号化の方法を変えてテストしていますが、RB750Gr3側のconfigは固定にし、strongSwan側のespの設定は以下の4パターンで変えながらテストを行っています。

  • esp=aes128-sha1!
  • esp=aes256-sha1!
  • esp=aes128-sha256!
  • esp=aes256-sha256!
IPsec関連(strongSwan)
# cat /etc/ipsec.conf

conn mikrotik
        left=%defaultroute
        leftid=debian.example.com
        right=mikrotik.example.com
        rightid=mikrotik.example.com
        leftsubnet=192.168.200.0/24
        rightsubnet=192.168.100.0/24
        keyexchange=ike
        authby=secret
        type=tunnel
        ike=aes128-sha1-modp1024!
        esp=aes128-sha1!
        reauth=no
        auto=start
        keyingtries=%forever

# cat /etc/ipsec.secrets

: PSK "presharedkey"

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です