CCRでEoIPv6 over ipsec

こんばんわ

RouterBoard CCR1016-12S-1S+を買った理由の一つだった
IPv6-VPNの設定をしてみました。
なかでもL2がやりたかったので、
EoIPv6 over ipsecを設定してみます。

Local IPv6
2001:db8:cafe:beef:aaaa:aaaa:aaaa:aaaa

Remote IPv6
2001:db8:cafe:beef:aaaa:bbbb:bbbb:bbbb

ipsecパスワード
hogehoge-secret

tunnel ID
1234

ローカルルータ

             model: CCR1016-12S-1S+
     serial-number: 
     firmware-type: tilegx
  factory-firmware: 3.33
  current-firmware: 6.41.2
  upgrade-firmware: 6.41.2

(リモートはRouterBoard CCR1036です)

WAN越しにやっています。
さくっと設定してみます。


ローカル側

[admin@MikroTik] > /interface eoipv6 print
Flags: X - disabled, R - running
 0  R name="eoipv6-test“ mtu=auto actual-mtu=1398 l2mtu=65535
      mac-address=02:64:24:**:**:** arp=enabled arp-timeout=auto
      loop-protect=off loop-protect-status=off loop-protect-send-interval=0s
      loop-protect-disable-time=0s local-address=2001:db8:cafe:beef:aaaa:aaaa:aaaa:aaaa
      remote-address=2001:db8:cafe:beef:aaaa:bbbb:bbbb:bbbb tunnel-id=1234 dscp=inherit
      clamp-tcp-mss=yes
      ipsec-secret="hogehoge-secret”

とくに難しいことはないかと思います。

IPアドレスの設定

[[admin@MikroTik] > /ip address export
/ip address
add address=10.39.41.2/30 interface=eoipv6 network=10.39.41.0

リモート側も同じように。。。

フィルタを追加

[[admin@MikroTik] > /ip firewall filter print
chain=input action=accept in-interface=eoipv6 log=no log-prefix=“”

リモート側も同じように。。。

帯域テスト
UDP
MTU1410で行います

送信

[admin@MikroTik] > /tool bandwidth-test remote-udp-tx-size=1410 local-udp-tx-size=1410 direction=transmit protocol=udp
address: 10.39.41.1
                status: running
              duration: 20s
            tx-current: 173.3Mbps
  tx-10-second-average: 174.8Mbps
      tx-total-average: 120.6Mbps
           random-data: no
             direction: transmit
               tx-size: 1410

[admin@MikroTik] > /system resource monitor interval=1
          cpu-used: 6%
  cpu-used-per-cpu: 0%,0%,0%,100%,3%,0%,0%,0%,0%,0%,0%,6%,0%,0%,0%,0%
       free-memory: 1648768KiB

1つのCPUが100%になるのは、Linuxの仕様?らしくきちんと負荷分散してくれません。
これがきちんと分散したらもう少し出るのかもしれません。

受信

[admin@MikroTik] > /tool bandwidth-test remote-udp-tx-size=1410 local-udp-tx-size=1410 direction=receive  protocol=udp
address: 10.39.41.1
                status: running
              duration: 16s
            rx-current: 183.1Mbps
  rx-10-second-average: 146.9Mbps
      rx-total-average: 103.9Mbps
          lost-packets: 298
           random-data: no
             direction: receive
               rx-size: 1410

[admin@MikroTik] > /system resource monitor interval=1
          cpu-used: 8%
  cpu-used-per-cpu: 8%,7%,11%,7%,11%,8%,8%,8%,10%,9%,10%,13%,7%,7%,6%,7%
       free-memory: 1681920KiB

受信はきちんと負荷分散してくれます。
が、送信側はCPUが100%になってしまいます。

送受信

[admin@MikroTik] > /tool bandwidth-test remote-udp-tx-size=1410 local-udp-tx-size=1410 direction=both   protocol=udp
address: 10.39.41.1
                status: running
              duration: 24s
            tx-current: 143.2Mbps
  tx-10-second-average: 157.8Mbps
      tx-total-average: 116.8Mbps
            rx-current: 124.1Mbps
  rx-10-second-average: 131.9Mbps
      rx-total-average: 101.3Mbps
          lost-packets: 2588
           random-data: no
             direction: both
               tx-size: 1410
               rx-size: 1410

[admin@MikroTik] > /system resource monitor interval=1
          cpu-used: 14%
  cpu-used-per-cpu: 9%,6%,9%,100%,6%,9%,7%,8%,12%,10%,11%,11%,6%,9%,8%,10%
       free-memory: 1637248KiB

やはり100%で張り付くCPUがいます。

CPU見てみる

[admin@MikroTik] > /system  resource irq print detail
Flags: ro - read-only
 0    irq=1 users=MicroSD cpu=auto active-cpu=0

 1    irq=2 users=TILEGx_Serial cpu=auto active-cpu=1

 2    irq=3 users=ts cpu=auto active-cpu=2

 3    irq=4 users=crypto cpu=auto active-cpu=3

 4    irq=5 users=Fancon cpu=auto active-cpu=4

 5    irq=6 users=eth phy cpu=auto active-cpu=5

 6    irq=7 users=eth cpu=auto active-cpu=6

 7    irq=8 users=eth cpu=auto active-cpu=7

 8    irq=9 users=usb1 cpu=auto active-cpu=8

 9    irq=10 users=usb2 cpu=auto active-cpu=9

張り付くのは「crypto」のようです。

IPSECの暗号化というよりは、
送信での負荷分散がきちんとできていないのが問題な気もします。

コメントを残す

メールアドレスが公開されることはありません。

Enter code * Time limit is exhausted. Please reload CAPTCHA.

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください