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

コメントを残す

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