MikroTik RB4011iGS+RMのL2TP/IPsecスループット

MikroTik RB4011iGS+RMのL2TP/IPsecのスループットを測定してみました。直結での計測なので実際の利用時のスピードを測るものではなく、ルーターの性能評価を行うものです。

計測環境

RB4011にDebian9をL2TP/IPsec接続し、CentOS7をiperf3のクライアント、Debian9をiperf3のサーバーにしスループットの測定を行います。RB4011のファームウェアはv6.44.3となります。

計測結果

トンネルのMTUを1350としました。

receiver sender
MSS Mbps CPU 消費電力 Mbps CPU 消費電力
1310(指定なし) 802 52% 10.9W 602 37% 10.0W
1200 748 54% 10.9W 499 28% 9.8W
800 350 40% 10.1W 364 29% 10.2W
400 283 71% 11.3W 145 32% 9.9W

(*) iperf3を60秒間実行。無負荷時はTAP-TST10の目測値で7.8W。receiverはL2TP Client(Debian9)へのダウンロード、senderはL2TP Client(Debian9)からのアップロード。CPU負荷はWeb管理画面の表示で、タイミングによってかなり変動があるので参考値。

かなり速いっ!んですが、数値の出方が不可解です。receiverのケースはRB4011で暗号化、senderのケースはRB4011で復号化の方向となりますが、暗号化のほうが復号化よりも速い計測結果となっています。RB750Gr3のケースではこのような挙動は見られませんでした。IPsecの処理速度がDebian9を上回っているのか?!?しかしながら、RTX1210でのL2TP/IPsecテスト時とDebian9は同じ環境(Core i5-7500T)であるため、その結果との比較で言うとやはり不可解です。

それと赤字の箇所ですが、計測の度に200Mbps程度変動します。掲載の値は最良のケースで、悪い場合にはCPU負荷も25%程度となり、負荷をうまく分散できていません。RB4011は4コアのCPUでうまくこの多コアを生かして負荷分散できると良い結果となります。

RB4011のConfig

テストに使ったRB4011のconfigは以下の通りです。ここの設定の後の追加した差分のみ記載しています。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はRB4011の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

コメントを残す

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