RTX830のL2TP/IPsecスループット
YAMAHA RTX830のL2TP/IPsecのスループットを測定してみました。直結での計測なので実際の利用時のスピードを測るものではありませんが、ルーターの性能評価にはなります。
計測環境
RTX830にDebian9をL2TP/IPsec接続し、CentOS7をiperf3のクライアント、Debian9をiperf3のサーバーにしスループットの測定を行います。RTX830のファームウェアはRev.15.02.13です。
計測結果
トンネルのMTUを1350とし、CentOSでiperf3の実行した結果が以下となります。消費電力はTAP-TST10での目測値で無負荷時は4.4Wとなります。
receiver | sender | |||||
MSS | Mbps | CPU | 消費電力 | Mbps | CPU | 消費電力 |
1310(指定なし) | 688 | 50% | 4.9W | 880 | 38% | 4.8W |
1200 | 656 | 50% | 4.8W | 872 | 38% | 4.8W |
800 | 457 | 50% | 4.8W | 819 | 49% | 4.8W |
400 | 269 | 49% | 4.7W | 319 | 50% | 4.8W |
receiverの結果はDebian9から見てダウンロード方向、senderの結果はDebian9から見てアップロード方向の計測結果となります。CPUがデュアルコアで余裕があるせいか、RTX1210の結果より部分的に良くなっています。
Debian9からのアップロード速度のほうが早いのは、Debian9のほうがL2TPの処理やIPsecの処理がRTX830より上だからと思われます。Debian9はCore i3 8100TのESXiマシン上に構築しておりvcoreを1つ割り当てています。
RTX830のConfig
テストに使ったRTX830のconfigは以下の通りです。RTX830はNAT配下でないので、nat-traversalの設定や、UDP 4500を開ける設定は不要ですが、汎用性を考え一応入れております。なお、UDP 1701を開けるよう解説しているサイトもありますが、L2TP(UDP 1701)のパケットはESPに包まれて飛んできますので、UDP 1701を受け入れる設定は不要となり、ここでは入れていません。
ip route default gateway dhcp lan2
ip lan1 address 192.168.100.1/24
ip lan1 proxyarp on
ip lan2 address dhcp
ip lan2 secure filter in 1000 1010 1020 2000
ip lan2 secure filter out 3000 dynamic 100 101
ip lan2 nat descriptor 1
pp select anonymous
pp bind tunnel9
pp auth request chap-pap
pp auth username ppp1 test
ppp ipcp ipaddress on
ppp ipcp msext on
ip pp remote address pool dhcp
ip pp mtu 1350
pp enable anonymous
tunnel select 9
tunnel encapsulation l2tp
ipsec tunnel 109
ipsec sa policy 109 9 esp aes-cbc sha-hmac
ipsec ike keepalive use 9 off
ipsec ike local address 9 192.168.100.1
ipsec ike nat-traversal 9 on
ipsec ike pre-shared-key 9 text presharedkey
ipsec ike remote address 9 any
l2tp tunnel disconnect time off
l2tp keepalive use on 10 3
l2tp keepalive log on
ip tunnel tcp mss limit auto
tunnel enable 9
ip filter 1000 pass * 192.168.100.0/24 icmp
ip filter 1010 pass * 192.168.100.1 udp * 500,4500
ip filter 1020 pass * 192.168.100.1 esp
ip filter 2000 reject * *
ip filter 3000 pass * *
ip filter dynamic 100 * * tcp
ip filter dynamic 101 * * udp
nat descriptor type 1 masquerade
nat descriptor address outer 1 primary
nat descriptor masquerade static 1 1 192.168.100.1 udp 500
nat descriptor masquerade static 1 2 192.168.100.1 udp 4500
nat descriptor masquerade static 1 3 192.168.100.1 esp
ipsec auto refresh on
ipsec transport 9 109 udp 1701
dhcp service server
dhcp server rfc2131 compliant except remain-silent
dhcp scope 1 192.168.100.2-192.168.100.191/24
l2tp service on
Debian9の設定
IPsecにはstrongSwan 5.5.1、L2TPにはxl2tpdを使いました。なお、それぞれ手動での接続設定としていますので、これを参考にご自分の環境に入れる場合にはそれに注意して下さい。192.168.100.0/24へのルート追加も手動となります。rtx830.example.comはRTX830のLAN2アドレスとなります(当方ではDNSに当該名前の登録を行ってテストしました)。
IPsec関連(strongSwan)
# cat /etc/ipsec.conf conn rtx830 keyexchange=ikev1 authby=secret left=%defaultroute right=rtx830.example.com rightid=%any ike=aes128-sha1-modp1024! esp=aes128-sha1-modp1024! 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 rtx830] lns = rtx830.example.com require chap = yes pppoptfile = /etc/ppp/options.xl2tpd.rtx830 # cat /etc/ppp/chap-secrets "ppp1" "rtx830" "test" * # cat /etc/ppp/options.xl2tpd.rtx830 name ppp1 remotename rtx830 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 rtx830 # L2TP接続を行う echo "c rtx830" > /var/run/xl2tpd/l2tp-control # 192.168.100.0/24へのルート追加 ip route add 192.168.100.0/24 dev ppp0 # L2TP切断 echo "d rtx830" > /var/run/xl2tpd/l2tp-control # IPsec切断 ipsec down rtx830