MikroTik RB4011iGS+RMのIPsecスループット
MikroTik RB4011iGS+RMのIPsecのスループットを測定してみました。直結での計測なので実際の利用時のスピードを測るものではなく、ルーターの性能評価を行うものです。
計測環境
RB4011とDebian9をIPsecで接続し、それぞれにぶら下げたCentOS7 Aをiperf3のクライアント、CentOS7 Bをiperf3のサーバーとして、スループットの測定を行います。RB4011のファームウェアはv6.44.3となります。
計測結果
CentOS Aでiperf3の実行した結果が以下となります。無負荷時の消費電力はTAP-TST10での目測値で7.8Wとなります。
receiver | sender | |||||
暗号化 | Mbps | CPU | 消費電力 | Mbps | CPU | 消費電力 |
AES128-SHA1 | 902 | 35% | 10.3W | 902 | 45% | 10.2W |
AES256-SHA1 | 899 | 35% | 10.3W | 897 | 47% | 10.3W |
AES128-SHA256 | 694 | 28% | 10.4W | 733 | 38% | 9.9W |
AES256-SHA256 | 729 | 38% | 9.8W | 720 | 38% | 9.8W |
RB4011の真価発揮!!900Mbpsオーバーです。L2TP/IPsecの結果と違って、L2TPという余計な処理がないためにやっぱり速くなりました。LANポートが1Gbpsなので公式サイトの数値1,577Mbpsに届くことが出来ませんが、RB4011やっぱりいいです。IPsecの高速通信中もCPUにも余裕があります。
RB4011のConfig
テストに使ったRB4011のconfigは以下の通りです。IPsecの追加設定分のみ記載しています。IKEv2での接続としています。MSS Clampingは入れるのが面倒だったので入れてません。代わりにiperf3の際に-M 1398としてお茶を濁しています。
mikrotik.example.comはRB4011の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に入れるとパフォーマンスが改善すると書いてあったので入れましたが、RB750Gr3のケースと違ってパフォーマンスに与える影響はあまりありませんでした。CPUに余裕があるからでしょうか。
(注4) sa-dst-addressはdebian.example.comとしたかったのですが、IPアドレスしか受け付けなかったので、仕方なくアドレスをベタ打ちしました。ipsec peerにdebian.example.comと入れているので改めてここで入れる意味がちょっとわかりませんが、とりあえず今回はスループットテストなので、これで我慢しています。
Debian9の設定
IPsecにはstrongSwan 5.5.1を使いました。テストでは暗号化の方法を変えてテストしていますが、RB4011側の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"