IX2105のIPsecスループット
IX2105のIPsecのスループットを測定してみました。直結での計測なので実際の利用時のスピードを測るものではなく、ルーターの性能評価を行うものです。
計測環境
IX2105とDebian9をIPsecで接続し、それぞれにぶら下げたCentOS7 Aをクライアント、CentOS7 Bをサーバーとして、iperf3を実行しスループットの測定を行います。IX2105のファームウェアは10.1.16となります。
計測結果
トンネルのMTUは明示しませんでしたが、IXが「NAT-Tなし+AES+PPPoEなし」の場合の最適値1438を自動的に設定してくれました。CentOS Aでiperf3の実行した結果が以下となります。消費電力はTAP-TST10での目測値で無負荷時は3.7Wとなります。
receiver | sender | |||||
暗号化 | Mbps | CPU | 消費電力 | Mbps | CPU | 消費電力 |
AES128-SHA1 | 308 | 95% | 4.2W | 319 | 93% | 4.2W |
AES256-SHA1 | 309 | 95% | 4.2W | 319 | 93% | 4.2W |
AES128-SHA256 | 315 | 95% | 4.3W | 339 | 93% | 4.3W |
AES256-SHA256 | 315 | 95% | 4.2W | 304 | 93% | 4.2W |
receiverの結果はCentOS7 Aから見てダウンロード方向、senderの結果はCentOS7 Aから見てアップロード方向の計測結果となります。L2TP/IPsecの結果と違って、L2TPという余計な処理がないせいか、なかなかのスループットが出てます。IX2105のカタログスペックは440Mbpsですが、カタログ通りのスループットが出ていると言えます(フィルタやNATを入れているのでカタログのスペックには届きませんが)。
PPPoEの場合にはもっと悪化することが予想されまが、中古で5,000円程度で購入可能な機械としては、site-to-siteのVPNに関して言えばIX2105は結構使えますね。
IX2105のConfig
テストに使ったIX2105のconfigは以下の通りです。IKEv2での接続としており、MTUは自動設定に任せ1438に設定されています。ix2105.example.comはIX2105のGigaEthernet0.0のアドレス、debian.example.comはDebian9のeth0アドレスを検証環境のDNSに登録しています。
ip route 192.168.200.0/24 Tunnel0.0 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 dynamic lan-to-wan access ip-pass ! dns cache enable ! proxy-dns ip enable ! ikev2 authentication psk id fqdn debian.example.com key char presharedkey ! 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 ! ikev2 default-profile dpd interval 10 sa-proposal dh 1024-bit source-address GigaEthernet0.0 ! 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 dhcp binding lan1 no shutdown ! interface Loopback0.0 no ip address ! interface Null0.0 no ip address ! interface Tunnel0.0 tunnel mode ipsec-ikev2 ip unnumbered GigaEthernet1.0 ip tcp adjust-mss auto ikev2 connect-type auto ikev2 ipsec pre-fragment ikev2 peer any authentication psk id fqdn debian.example.com no shutdown
Debian9の設定
IPsecにはstrongSwan 5.5.1を使いました。テストでは暗号化の方法を変えてテストしていますが、IX2105側のconfigは固定にし、strongSwan側のespの設定は以下の4パターンで変えながらテストを行っています。
- esp=aes128-sha1!
- esp=aes256-sha1!
- esp=aes128-sha256!
- esp=aes256-sha256!
IPsec関連(strongSwan)
# cat /etc/ipsec.conf conn ix2105 left=%defaultroute leftid=debian.example.com right=ix2105.example.com rightid=ix2105.example.com leftsubnet=192.168.200.0/24 rightsubnet=192.168.100.0/24 keyexchange=ike authby=secret type=tunnel ike=aes128-sha1-modp1024! esp=aes128-sha1! reauth=no auto=start keyingtries=%forever # cat /etc/ipsec.secrets : PSK "presharedkey"