IX2105のL2TP/IPsecスループット
IX2105のL2TP/IPsecのスループットを測定してみました。直結での計測なので実際の利用時のスピードを測るものではなく、ルーターの性能評価を行うものです。
計測環境
IX2105にDebian9をL2TP/IPsec接続し、CentOS7をiperf3のクライアント、Debian9をiperf3のサーバーにしスループットの測定を行います。IX2105のファームウェアは10.1.16となります。
計測結果
トンネルのMTUを1350とし、CentOSでiperf3の実行した結果が以下となります。消費電力はTAP-TST10での目測値で無負荷時は3.7Wとなります。
receiver | sender | |||||
MSS | Mbps | CPU | 消費電力 | Mbps | CPU | 消費電力 |
1310(指定なし) | 164 | 97% | 4.1W | 177 | 97% | 4.1W |
1200 | 156 | 97% | 4.1W | 164 | 97% | 4.1W |
800 | 97.8 | 97% | 4.1W | 111 | 97% | 4.1W |
400 | 51.8 | 97% | 4.1W | 56.1 | 97% | 4.1W |
receiverの結果はDebian9から見てダウンロード方向、senderの結果はDebian9から見てアップロード方向の計測結果となります。そんなに速くないですが、ファイル転送とかではなく、リモートデスクトップくらいなら全く問題ないスループットです。外出先からのちょっとしたアクセス程度の運用であれば未だ現役で使うことが出来るでしょう。
IX2105のConfig
テストに使ったIX2105のconfigは以下の通りです。IX2105はNAT配下でないので、nat-traversalの設定や、UDP 4500を開ける設定は不要ですが、汎用性を考え一応入れております。トンネルのMTUは1350に設定していますが、これを入れないときにはIXが自動的に1400に設定していました。
ip dhcp enable ip access-list all-block deny ip src any dest any ip access-list ike-pass permit udp src any sport any dest any dport eq 500 ip access-list ike-pass permit udp src any sport any dest any dport eq 4500 ip access-list ip-pass permit ip src any dest any ip access-list ipsec-pass permit 50 src any dest any ip access-list sec-list permit ip src any dest any ip access-list dynamic lan-to-wan access ip-pass ! ike nat-traversal ! ike proposal ike1 encryption aes hash sha group 1024-bit ike proposal ike2 encryption aes-256 hash sha group 2048-bit ! ike policy ike-policy peer any key presharedkey ike1,ike2 ! ipsec autokey-proposal sec1 esp-aes esp-sha ! ipsec dynamic-map ipsec-map sec-list sec1 ! dns cache enable ! proxy-dns ip enable ! ppp profile lns authentication request chap authentication password ppp1 test lcp pfc lcp acfc ipcp ip-compression ipcp provide-ip-address range 192.168.100.200 192.168.100.220 ! ip dhcp profile lan1 assignable-range 192.168.100.2 192.168.100.199 default-gateway 192.168.100.1 dns-server 192.168.100.1 ! device GigaEthernet0 ! device GigaEthernet1 ! interface GigaEthernet0.0 ip address dhcp receive-default ip napt enable ip napt static GigaEthernet0.0 udp 500 ip napt static GigaEthernet0.0 50 ip napt static GigaEthernet0.0 udp 4500 ip filter ipsec-pass 1 in ip filter ike-pass 2 in ip filter all-block 100 in ip filter lan-to-wan 1 out no shutdown ! interface GigaEthernet1.0 ip address 192.168.100.1/24 ip proxy-arp ip dhcp binding lan1 no shutdown ! interface Loopback0.0 no ip address ! interface Null0.0 no ip address ! interface Tunnel0.0 ppp binding lns tunnel mode l2tp-lns ipsec ip unnumbered GigaEthernet1.0 ip mtu 1350 ip tcp adjust-mss auto ipsec policy transport ipsec-map no shutdown
ここで
ike proposal ike2 encryption aes-256 hash sha group 2048-bit
は今回のテストには不要ですが、Windows 10から接続する際には必要になるので一応入れておきました。
Debian9の設定
IPsecにはstrongSwan 5.5.1、L2TPにはxl2tpdを使いました。ix2105.example.comはIX2105のGE0.0アドレスとなります(内部DNSに当該名前の登録を行ってテストしました)。
IPsec関連(strongSwan)
# cat /etc/ipsec.conf conn ix2105 keyexchange=ikev1 authby=secret left=%defaultroute right=ix2105.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 ix2105] lns = ix2105.example.com require chap = yes pppoptfile = /etc/ppp/options.xl2tpd.ix2105 # cat /etc/ppp/chap-secrets "ppp1" "ix2105" "test" * # cat /etc/ppp/options.xl2tpd.ix2105 name ppp1 remotename ix2105 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 ix2105 # L2TP接続を行う echo "c ix2105" > /var/run/xl2tpd/l2tp-control # 192.168.100.0/24へのルート追加 ip route add 192.168.100.0/24 dev ppp0 # L2TP切断 echo "d ix2105" > /var/run/xl2tpd/l2tp-control # IPsec切断 ipsec down ix2105