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の余計な処理が入るとは言えちょっと物足りない数値です。中古なら同程度の値段で購入可能なIX2105RTX810にも負けてますしね。

なお、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

コメントを残す

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