MikroTik RB750Gr3のL2TP/IPsecスループット
Mikrotik RB750Gr3 (hEX)のL2TP/IPsecのスループットを測定してみました。直結での計測なので実際の利用時のスピードを測るものではなく、ルーターの性能評価を行うものです。
計測環境
RB750Gr3にDebian9をL2TP/IPsec接続し、CentOS7をiperf3のクライアント、Debian9をiperf3のサーバーにしスループットの測定を行います。RB750Gr3のファームウェアはv6.44.3となります。
計測結果
トンネルのMTUを1350としました。無負荷時の消費電力はTAP-TST10での目測値で2.4Wとなります。
receiver | sender | |||||
MSS | Mbps | CPU | 消費電力 | Mbps | CPU | 消費電力 |
1310(指定なし) | 139 | 45% | 2.9W | 143 | 40% | 2.9W |
1200 | 129 | 46% | 2.9W | 131 | 40% | 2.9W |
800 | 88.8 | 48% | 2.9W | 87.6 | 40% | 2.9W |
400 | 46.4 | 46% | 2.9W | 43.4 | 38% | 2.8W |
(*) iperf3を60秒間実行。無負荷時はTAP-TST10の目測値で2.7W。receiverはL2TP Client(Debian9)へのダウンロード、senderはL2TP Client(Debian9)からのアップロード。CPU負荷はWeb管理画面の表示で、タイミングによってかなり変動があるので参考値。
意外なことに、同じチップを使っているER-Xの結果よりも結構いいです。作りこみがMikroTikのほうがいいのでしょうか。ちょっとしたリモートアクセスくらいになら問題なく使えそうです。しかし、公式のページではipsecのスループットが469.3Mbpsとなっていることと比較すると、L2TPの余計な処理が入るとは言えちょっと物足りない数値です。中古なら同程度の値段で購入可能なIX2105やRTX810にも負けてますしね。
なお、re-transmissionはあまり発生しなかったので掲載は割愛しました。
RB750Gr3のConfig
テストに使ったRB750Gr3のconfigは以下の通りです。Quick Set後に追加した差分のみ記載しています。NAT配下でないので、UDP 4500を開ける設定は不要ですが、汎用性を考え一応入れております。
/interface bridge add admin-mac=xx:xx:xx:xx:xx:xx arp=proxy-arp auto-mac=no comment=defconf \ name=bridge protocol-mode=none /ppp profile add bridge=bridge change-tcp-mss=yes local-address=192.168.100.1 name=\ lt2p-profile remote-address=dhcp use-encryption=yes /interface l2tp-server server set default-profile=lt2p-profile enabled=yes ipsec-secret=presharedkey \ max-mru=1350 max-mtu=1350 use-ipsec=yes /ip firewall filter add action=accept chain=input dst-port=500,1701,4500 protocol=udp add action=accept chain=input protocol=ipsec-esp /ppp secret add name=ppp1 password=test profile=lt2p-profile
Debian9の設定
IPsecにはstrongSwan 5.5.1、L2TPにはxl2tpdを使いました。mikrotik.example.comはRB750Gr3のether1アドレスとなります(内部DNSに当該名前の登録を行ってテストしました)。
IPsec関連(strongSwan)
# cat /etc/ipsec.conf conn mikrotik keyexchange=ikev1 authby=secret left=%defaultroute right=mikrotik.example.com rightid=%any ike=aes128-sha1-modp1024! esp=aes128-sha1! auto=add leftprotoport=17/1701 rightprotoport=17/1701 type=transport # cat /etc/ipsec.secrets : PSK "presharedkey"
L2TP関連(xl2tpd)
# cat /etc/xl2tpd/xl2tpd.conf [global] auth file = /etc/ppp/chap-secrets [lac mikrotik] lns = mikrotik.example.com require chap = yes pppoptfile = /etc/ppp/options.xl2tpd.mikrotik # cat /etc/ppp/chap-secrets "ppp1" "mikrotik" "test" * # cat /etc/ppp/options.xl2tpd.mikrotik name ppp1 remotename mikrotik ipcp-accept-local ipcp-accept-remote lcp-echo-interval 30 lcp-echo-failure 4 require-chap noccp nobsdcomp noauth mtu 1350 mru 1350 nodefaultroute usepeerdns connect-delay 5000 persist debug
接続コマンド
# IPsec接続を行う、ipsec statusで接続状況確認可能 ipsec up mikrotik # L2TP接続を行う echo "c mikrotik" > /var/run/xl2tpd/l2tp-control # 192.168.100.0/24へのルート追加 ip route add 192.168.100.0/24 dev ppp0 # L2TP切断 echo "d mikrotik" > /var/run/xl2tpd/l2tp-control # IPsec切断 ipsec down mikrotik