津村彰氏コラム第16回 マルチポイントトンネルを使ってLANを拡張しよう

1.  はじめに

ヤマハ ルーターの対応機種同士であれば、インターネットVPNを用いて動的にネットワークの拡張が可能な「マルチポイントトンネル」が利用可能です。

従来であれば、センターVPNルーターと拠点VPNルーターに分かれ、拠点追加の場合は随時双方のルーターに設定が必要でしたが、マルチポイントトンネルを使用することにより拠点VPNルーターのみの設定追加でLANを拡張する事が可能です。

この技術の詳細は以下のページにて紹介されていますが、この記事では実際に動作確認の取れたコンフィグ、および詳細な動作についてご紹介したいと思います。

2.  検証環境

上記のように、RTX1210を3台使用し、上記の通り接続・設定を行います。今回はThe Internetの代わりに、L3スイッチを使用しました。

シンプルに、全体をOSFP area 0(backbone)にて構成し、各々の拠点のLAN1同士がルーティングされ、各拠点の端末間がPing疎通することを確認します。

今回、ファームウェアは執筆時最新の Rev.14.01.20を使用しました。

 

3.  設定のポイント

先のRTProに掲載されているコンフィグでは設定が不足している為、そのままでは動作しません。

以下、センタールーター・スポークルーターの必要なコンフィグをご紹介します。

 

3.1.   センタールーター(桜坂拠点)

console prompt Sakurazaka-rt
ip route default gateway 172.16.10.254
ip lan1 address 192.168.10.1/24
ip lan1 ospf area backbone
ip lan3 address 172.16.10.1/24
pp disable all
no tunnel enable all
tunnel select 1
tunnel type multipoint server
tunnel multipoint local name Sakurazaka
ipsec tunnel 101
ipsec sa policy 101 1 esp aes-cbc sha-hmac
ipsec ike always-on 1 on
ipsec ike keepalive use 1 on heartbeat
ipsec ike local address 1 172.16.10.1
ipsec ike pre-shared-key 1 text Kyusyu-nw
ipsec ike remote address 1 any
ipsec ike remote name 1 common-name key-id
ip tunnel address 10.0.0.10/24
ip tunnel ospf area backbone
ip tunnel tcp mss limit auto
tunnel enable 1
ospf use on
ospf router id 10.0.0.10
ospf area backbone
ipsec auto refresh on
dhcp service server
dhcp scope 1 192.168.10.2-192.168.10.254/24

 

3.2.   スポークルーター(室見拠点、姪浜拠点も同様)

console prompt Muromi-rt
ip route default gateway 172.16.20.254
ip lan1 address 192.168.20.1/24
ip lan1 ospf area backbone
ip lan3 address 172.16.20.1/24
tunnel select 1
tunnel type multipoint
tunnel multipoint local name Muromi
tunnel multipoint server 1 172.16.10.1
ipsec tunnel 101
ipsec sa policy 101 1 esp aes-cbc sha-hmac
ipsec ike always-on 1 on
ipsec ike keepalive use 1 on heartbeat
ipsec ike local address 1 172.16.20.1
ipsec ike local name 1 common-name key-id
ipsec ike pre-shared-key 1 text Kyusyu-nw
ip tunnel address 10.0.0.20/24
ip tunnel ospf area backbone
ip tunnel tcp mss limit auto
tunnel enable 1
ospf use on
ospf router id 10.0.0.20
ospf log interface neighbor packet
ospf area backbone
ipsec auto refresh on
dhcp service server
dhcp server rfc2131 compliant except remain-silent
dhcp scope 1 192.168.20.2-192.168.20.254/24

ルーター毎の可変部分については、枠にてマークしました。上記のトポロジー図と照らし合わせて確認してください。

 

設定のポイントは以下の通りです。

  1. Tunnel内のほかに、OSPFの動作に必要なコマンドの記述
  2. IPSecの自動接続の為、「ipsec auto refresh on」コマンドの記述
  3. OSPFのルーターID(ルーターを識別するIPアドレス)は、Tunnel Interfaceのアドレスを明示的に指定
  4. LAN1のネットワークアドレスをアドバタイズする為には、「ip lan1 ospf area backbone」の投入、および物理インタフェースのリンクアップが必要。
  5. OSPFインスタンスの起動には、一度ルーターの再起動が必要

 

4.  動作検証

4.1.   IPSecの接続が正常である事を確認する

センタールーターである桜坂拠点では、以下のようにIPSecのSAが確立できていれば正常です。

Sakurazaka-rt# show ipsec sa
Total: isakmp:2 send:2 recv:2

sa    sgw isakmp connection    dir  life[s] remote-id
----------------------------------------------------------------------------
1     1    -     isakmp        -    26457   10.0.0.20
2     1    1     tun[0001]esp  send 26458   10.0.0.20
3     1    1     tun[0001]esp  recv 26458   10.0.0.20
4     1    -     isakmp        -    26459   10.0.0.30
5     1    4     tun[0001]esp  send 26460   10.0.0.30
6     1    4     tun[0001]esp  recv 26460   10.0.0.30

 

ここでは、remote-idとして10.0.0.20(室見拠点)、および10.0.0.30(姪浜拠点)とトンネルが確立できている事が確認します。

 

次にスポークルーターである室見拠点・姪浜拠点では、以下のようにIPSecのSAが確立できていれば正常です。

Muromi-rt# show ipsec sa
Total: isakmp:1 send:1 recv:1

sa    sgw isakmp connection    dir  life[s] remote-id
----------------------------------------------------------------------------
1     1    -     isakmp        -    26356   10.0.0.10
2     1    1     tun[0001]esp  send 26358   10.0.0.10
3     1    1     tun[0001]esp  recv 26358   10.0.0.10
Meinohama-rt# show ipsec sa
Total: isakmp:1 send:1 recv:1
 
sa    sgw isakmp connection    dir  life[s] remote-id
----------------------------------------------------------------------------
1     1    -     isakmp        -    26334   10.0.0.10
2     1    1     tun[0001]esp  send 26336   10.0.0.10
3     1    1     tun[0001]esp  recv 26336   10.0.0.10

4.2.   OSPFのネイバーが確立できている事を確認する

次に、OSPFによりセンタールーターとスポークルーター間でネイバー(経路交換)が確立できている事を確認します。

センタールーターである桜坂拠点では、以下のようにOSPFのネイバーが表示されれば成功です。

Sakurazaka-rt# show status ospf neighbor
Neighbor ID     Pri   State           Dead Time   Address         Interface
10.0.0.20         0   FULL/  -        00:00:33    10.0.0.20       TUNNEL[1]
10.0.0.30         0   FULL/  -        00:00:35    10.0.0.30       TUNNEL[1]

次にスポークルーターである室見拠点・姪浜拠点では、OSPFのネイバーが表示されれば成功です。

Muromi-rt# show status ospf neighbor
Neighbor ID     Pri   State           Dead Time   Address         Interface
10.0.0.10         0   FULL/  -        00:00:40    10.0.0.10       TUNNEL[1]

 

Meinohama-rt# show status ospf neighbor
Neighbor ID     Pri   State           Dead Time   Address         Interface
10.0.0.10         0   FULL/  -        00:00:40    10.0.0.10       TUNNEL[1]

 

4.3.   相互にLAN1のネットワークアドレスが経路交換されている事を確認する

事前に、各拠点のルーターのLAN1をリンクアップさせます。必ずしもIPを割り当てる必要はないので、ここでは適当なスイッチなどに接続する等で十分です。

 

センタールーターである桜坂拠点では、以下のように経路が表示されていれば成功です。

以下、種別が「OSPF」となっているものが、OSPFにより動的に交換された経路です。

Sakurazaka-rt# show ip route
宛先ネットワーク    ゲートウェイ     インタフェース  種別  付加情報
default             172.16.10.254          LAN3    static
10.0.0.0/24         -                 TUNNEL[1]  implicit
10.0.0.10/32        10.0.0.20         TUNNEL[1]      OSPF     cost=3124
10.0.0.10/32        10.0.0.30         TUNNEL[1]      OSPF     cost=3124
10.0.0.20/32        -                 TUNNEL[1] temporary
10.0.0.30/32        -                 TUNNEL[1] temporary
172.16.10.0/24      172.16.10.1            LAN3  implicit
192.168.10.0/24     192.168.10.1           LAN1  implicit
192.168.20.0/24     10.0.0.20         TUNNEL[1]      OSPF     cost=1563
192.168.30.0/24     10.0.0.30         TUNNEL[1]      OSPF     cost=1563

次に、スポークルーターである室見拠点では、以下のように経路が表示されていれば成功です。

Muromi-rt# show ip route
宛先ネットワーク    ゲートウェイ     インタフェース  種別  付加情報
default             172.16.20.254          LAN3    static
10.0.0.0/24         -                 TUNNEL[1]  implicit
10.0.0.10/32        -                 TUNNEL[1] temporary
10.0.0.20/32        10.0.0.10         TUNNEL[1]      OSPF     cost=3124
10.0.0.30/32        10.0.0.10         TUNNEL[1]      OSPF     cost=3124
172.16.20.0/24      172.16.20.1            LAN3  implicit
192.168.10.0/24     10.0.0.10         TUNNEL[1]      OSPF     cost=1563
192.168.20.0/24     192.168.20.1           LAN1  implicit
192.168.30.0/24     10.0.0.10         TUNNEL[1]      OSPF     cost=3125

最後に、スポークルーターである姪浜拠点では、以下のように経路が表示されていれば成功です。

Meinohama-rt# show ip route
宛先ネットワーク    ゲートウェイ     インタフェース  種別  付加情報
default             172.16.30.254          LAN3    static
10.0.0.0/24         -                 TUNNEL[1]  implicit
10.0.0.10/32        -                 TUNNEL[1] temporary
10.0.0.20/32        10.0.0.10         TUNNEL[1]      OSPF     cost=3124
10.0.0.30/32        10.0.0.10         TUNNEL[1]      OSPF     cost=3124
172.16.30.0/24      172.16.30.1            LAN3  implicit
192.168.10.0/24     10.0.0.10         TUNNEL[1]      OSPF     cost=1563
192.168.20.0/24     10.0.0.10         TUNNEL[1]      OSPF     cost=3125
192.168.30.0/24     192.168.30.1           LAN1  implicit

4.4.   相互にLAN1配下の機器同士でPingが疎通する事を確認する

ここでは、桜坂拠点のLAN1に接続したWindows 10端末より、室見拠点・姪浜拠点のLAN1に接続した機器(192.168.xx.2)へPingを送信し、無事に疎通している事を確認します。

C:\>ipconfig
 
Windows IP 構成
 
イーサネット アダプター イーサネット:
 
IPv4 アドレス . . . . . . . . . . . .: 192.168.10.2
サブネット マスク . . . . . . . . . .: 255.255.255.0
デフォルト ゲートウェイ . . . . . . .: 192.168.10.1
 
C:\>ping 192.168.20.2
 
192.168.20.2 に ping を送信しています 32 バイトのデータ:
192.168.20.2 からの応答: バイト数 =32 時間 <1ms TTL=254
192.168.20.2 からの応答: バイト数 =32 時間 <1ms TTL=254
192.168.20.2 からの応答: バイト数 =32 時間 <1ms TTL=254
192.168.20.2 からの応答: バイト数 =32 時間 <1ms TTL=254
 
192.168.20.2 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
最小 = 0ms、最大 = 0ms、平均 = 0ms
 
C:\>ping 192.168.30.2
 
192.168.30.2 に ping を送信しています 32 バイトのデータ:
192.168.30.2 からの応答: バイト数 =32 時間 <1ms TTL=254
192.168.30.2 からの応答: バイト数 =32 時間 <1ms TTL=254
192.168.30.2 からの応答: バイト数 =32 時間 <1ms TTL=254
192.168.30.2 からの応答: バイト数 =32 時間 <1ms TTL=254
 
192.168.30.2 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
最小 = 0ms、最大 = 0ms、平均 = 0ms
 

以上でマルチポイントトンネルの最小限の設定およびテストが終わりました。

5.  この仕組みについて

まず、この仕組みを理解する為には、IPSecトンネルのアグレッシブモード(片方の拠点が動的IPアドレスの場合のIPSec接続)、およびOSPF(動的ルーティングプロトコル)の理解が必要であり、導入する技術レベルとしては比較的高いです。

しかし、冒頭にも解説した通り、センタールーターの設定を変更せずとも、動的に拠点の追加・削除が可能なことは、運用する際のメリットとしてはとても大きいでしょう。

例えば飲食業・建築業など、仮設現場などで頻繁に拠点の追加・削除が発生する場合に、この仕組みを応用すると運用負荷は軽減します。

 

6.  おわりに

今回はヤマハ ルーターを用いた多拠点VPNの応用例についてご紹介しました。ぜひヤマハ ルーターの機能を使用して運用負荷の低減および安定したネットワークの構築を行っていただければと思います。