VPN / マルチポイントVPN


概要
ポイントツーマルチポイント型トンネルインターフェース
基本仕様
基本設定
ハブ&スポーク構成(共通の事前共有鍵を使用)
ハブ&スポーク構成(個別の事前共有鍵を使用)
ハブ&スポーク構成(センター側では各拠点をRADIUS認証)
フルメッシュ構成
設定と状態の確認


マルチポイントVPNは、ポイントツーマルチポイント(一対多)型のトンネルインターフェースを利用することにより、1つのインターフェース設定で複数拠点とのVPN接続を実現する仕組みです。

概要

従来、VPN接続にはおもにポイントツーポイント(一対一)型のトンネルインターフェースが用いられてきましたが、この方式では接続先の数だけトンネルインターフェースの設定が必要になるため、ハブ&スポーク構成のハブ(センター)側ではスポーク(拠点)の追加にともなう設定変更量が多く、ネットワークの構成変更に手間がかかりました。

これに対して、ポイントツーマルチポイント型のトンネルインターフェースでは、1つのインターフェースで複数拠点との接続が可能なため、拠点追加にともなうセンター側の設定変更量がポイントツーポイント型よりも少なく、さらにRADIUSサーバー等を利用すればセンター側の設定変更なしで拠点を追加することも可能になります。


また、複数拠点でポイントツーマルチポイント型のトンネルインターフェースを使用すれば、メッシュ構成のVPNも従来よりシンプルな設定で実現可能です。


ポイントツーマルチポイント型トンネルインターフェース

次に、ポイントツーポイント型トンネルとポイントツーマルチポイント型トンネルのおもな違いをまとめます。
 
ポイントツーポイント
ポイントツーマルチポイント
接続先
1つ
複数
ブロードキャスト
なし
あり
リンク層アドレス(ARP)解決
不要
必要
経路設定時のネクストホップ指定方法
インターフェース
対向アドレス

ポイントツーポイント型トンネルインターフェースに転送されたパケットは、該当トンネルで使用しているトンネリングプロトコルによってカプセル化され、唯一の接続先である対向ルーターに転送されます。この場合、接続先が1つしかないためARP解決の必要はありません。

一方、ポイントツーマルチポイント型トンネルインターフェースは、同インターフェース上に複数の対向ルーターが存在しうるという点でEthernetに似た性質を持っています。そのため、ポイントツーマルチポイント型トンネルインターフェースにパケットを転送するにあたっては、同インターフェース上のどの対向ルーターに送信すればよいかの判断が必要になります。これはEthernetと同じようにネクストホップIPアドレスをARP解決することによって行いますが、得られるアドレスがMACアドレスではなく対向ルーターのトンネル終端IPアドレス(エンドポイントIPアドレス)になる点がEthernetと異なります。したがって、ポイントツーマルチポイント型トンネルインターフェース上のARPエントリーはリンク層アドレスがIPアドレスになります。

また、ポイントツーマルチポイント型トンネルインターフェースではブロードキャストもサポートしています。ポイントツーマルチポイント型トンネルインターフェースはその時点で把握している接続先(エンドポイント)の1つ1つに対してブロードキャストパケットを複製し、それぞれを適切にカプセル化してから各接続先に送信します。

基本仕様

マルチポイントVPNの基本的な仕様は次のとおりです。

基本設定

ここではいくつかの構成を例に、各ルーターにおけるマルチポイントVPN固有の設定だけを取り出して紹介します。
全体的な設定については、下記の設定例集をご覧ください。

なお、以下の各例では次のことを仮定しています。

ハブ&スポーク構成(共通の事前共有鍵を使用)

■ ハブ(センター)
crypto isakmp key friend hostname hub
interface tunnel0
 tunnel mode gre multipoint
 tunnel source ppp0
 tunnel endpoint dynamic
 tunnel local name hub
 tunnel protection ipsec
 ip address 172.16.0.1/28
!
ip route 192.168.20.0/24 172.16.0.2
ip route 192.168.30.0/24 172.16.0.3

■ スポーク1(拠点1)
crypto isakmp key friend hostname hub
interface tunnel0
 tunnel mode gre
 tunnel source ppp0
 tunnel destination 10.1.1.1
 tunnel local name spoke1
 tunnel remote name hub
 tunnel protection ipsec
 ip address 172.16.0.2/28
!
ip route 192.168.10.0/24 172.16.0.1
ip route 192.168.30.0/24 172.16.0.1

■ スポーク2(拠点2)
crypto isakmp key friend hostname hub
interface tunnel0
 tunnel mode gre
 tunnel source ppp0
 tunnel destination 10.1.1.1
 tunnel local name spoke2
 tunnel remote name hub
 tunnel protection ipsec
 ip address 172.16.0.3/28
!
ip route 192.168.10.0/24 172.16.0.1
ip route 192.168.20.0/24 172.16.0.1

ハブ&スポーク構成(個別の事前共有鍵を使用)

■ ハブ(センター)
crypto isakmp key friend1 hostname spoke1
crypto isakmp key friend2 hostname spoke2
interface tunnel0
 tunnel mode gre multipoint
 tunnel source ppp0
 tunnel endpoint dynamic
 tunnel local name hub
 tunnel protection ipsec
 ip address 172.16.0.1/28
!
ip route 192.168.20.0/24 172.16.0.2
ip route 192.168.30.0/24 172.16.0.3

■ スポーク1(拠点1)
crypto isakmp key friend1 hostname hub
interface tunnel0
 tunnel mode gre
 tunnel source ppp0
 tunnel destination 10.1.1.1
 tunnel local name spoke1
 tunnel remote name hub
 tunnel protection ipsec
 ip address 172.16.0.2/28
!
ip route 192.168.10.0/24 172.16.0.1
ip route 192.168.30.0/24 172.16.0.1

■ スポーク2(拠点2)
crypto isakmp key friend2 hostname hub
interface tunnel0
 tunnel mode gre
 tunnel source ppp0
 tunnel destination 10.1.1.1
 tunnel local name spoke2
 tunnel remote name hub
 tunnel protection ipsec
 ip address 172.16.0.3/28
!
ip route 192.168.10.0/24 172.16.0.1
ip route 192.168.20.0/24 172.16.0.1

ハブ&スポーク構成(センター側では各拠点をRADIUS認証)

■ ハブ(センター)
radius-server host 192.168.10.5 key RadiusPasswordHere
aaa authentication isakmp default group radius
crypto isakmp profile spoke
 remote authentication eap-radius
 transform 1 integrity SHA1 encryption AES128 group 14
crypto isakmp peer dynamic profile spoke
crypto isakmp key friend hostname hub
interface tunnel0
 tunnel mode gre multipoint
 tunnel source ppp0
 tunnel endpoint dynamic
 tunnel local name hub
 tunnel protection ipsec
 ip address 172.16.0.1/28
!
ip route 192.168.20.0/24 172.16.0.2
ip route 192.168.30.0/24 172.16.0.3

■ スポーク1(拠点1)
crypto isakmp profile hub
 local authentication eap-radius
 transform 1 integrity SHA1 encryption AES128 group 14
crypto isakmp peer hostname hub profile hub
crypto isakmp key friend hostname hub
crypto isakmp key friend1 hostname hub type eap
interface tunnel0
 tunnel mode gre
 tunnel source ppp0
 tunnel destination 10.1.1.1
 tunnel local name spoke1
 tunnel remote name hub
 tunnel protection ipsec
 ip address 172.16.0.2/28
!
ip route 192.168.10.0/24 172.16.0.1
ip route 192.168.30.0/24 172.16.0.1

■ スポーク2(拠点2)
crypto isakmp profile hub
 local authentication eap-radius
 transform 1 integrity SHA1 encryption AES128 group 14
crypto isakmp peer hostname hub profile hub
crypto isakmp key friend hostname hub
crypto isakmp key friend2 hostname hub type eap
interface tunnel0
 tunnel mode gre
 tunnel source ppp0
 tunnel destination 10.1.1.1
 tunnel local name spoke2
 tunnel remote name hub
 tunnel protection ipsec
 ip address 172.16.0.3/28
!
ip route 192.168.10.0/24 172.16.0.1
ip route 192.168.20.0/24 172.16.0.1

フルメッシュ構成

■ ノード1(サイト1)
crypto isakmp key friend hostname node1
interface tunnel0
 tunnel mode gre multipoint
 tunnel source ppp0
 tunnel local name node1
 tunnel endpoint 10.2.2.2
 tunnel endpoint 10.3.3.3
 tunnel protection ipsec
 ip address 172.16.0.1/28
!
ip route 192.168.20.0/24 172.16.0.2
ip route 192.168.30.0/24 172.16.0.3

■ ノート2(サイト2)
crypto isakmp key friend hostname node2
interface tunnel0
 tunnel mode gre multipoint
 tunnel source ppp0
 tunnel local name node2
 tunnel endpoint 10.1.1.1
 tunnel endpoint 10.3.3.3
 tunnel protection ipsec
 ip address 172.16.0.2/28
!
ip route 192.168.10.0/24 172.16.0.1
ip route 192.168.30.0/24 172.16.0.3

■ ノード3(サイト3)
crypto isakmp key friend hostname node3
interface tunnel0
 tunnel mode gre multipoint
 tunnel source ppp0
 tunnel local name node3
 tunnel endpoint 10.1.1.1
 tunnel endpoint 10.2.2.2
 tunnel protection ipsec
 ip address 172.16.0.3/28
!
ip route 192.168.10.0/24 172.16.0.1
ip route 192.168.20.0/24 172.16.0.2

設定と状態の確認

■ マルチポイントGREトンネルインターフェースの情報はshow interfaceコマンドで確認できます。
awplus# show interface tunnel0
Interface tunnel0
  Link is UP, administrative state is UP
  Hardware is Tunnel
  IPv4 address 172.16.0.1/28 broadcast 172.16.0.15
  index 15 metric 1 mtu 1434
  <UP,BROADCAST,RUNNING,MULTICAST>
  VRF Binding: Not bound
  SNMP link-status traps: Disabled
  Bandwidth 1g
  Tunnel source 10.1.1.1
  Tunnel name local hub
  Tunnel protocol/transport gre multipoint, key disabled, sequencing disabled
  Tunnel endpoint 10.2.2.2
  Tunnel endpoint 10.3.3.3
  Tunnel TTL 64
  Checksumming of packets disabled, path MTU discovery disabled
  Tunnel protection via IPsec (profile "default")
  Router Advertisement is disabled
  Router Advertisement default routes are accepted
  Router Advertisement prefix info is accepted
    input packets 56, bytes 3804, dropped 0, multicast packets 0
    output packets 121, bytes 5364, multicast packets 0, broadcast packets 0
    input average rate : 30 seconds 0 bps, 5 minutes 0 bps
    output average rate: 30 seconds 0 bps, 5 minutes 0 bps
    input peak rate 972 bps at 2019/03/14 00:30:13
    output peak rate 1.53 Kbps at 2019/03/14 00:30:13
  Time since last state change: 0 days 02:18:50

■ マルチポイントGREトンネルインターフェース上のARPエントリーは、リンク層アドレス(LL Address)が対向ルーターのトンネル終端IPアドレス(エンドポイントIPアドレス)になっています。これはshow arpコマンドで確認できます。
awplus# show arp
IP Address      LL Address       Interface            Port        Type
172.16.0.2      10.2.2.2         tunnel0              -           dynamic

■ IPsecの接続相手はshow ipsec peerコマンドで確認できます。
awplus# show ipsec peer
IPsec
  Selectors (local:remote)
    Address:  10.1.1.1 : any
    Protocol: gre:gre
    Port:     any:any
    Mark:     any:any
  Profile: default         
    SPI (In:Out): c11b381d:cdfcfc96
        Selectors:  10.1.1.1/32[gre] 10.2.2.2/32[gre]
      Proto:      ESP
      Mode:       transport
      Encryption: AES256
      Integrity:  SHA256
      Expires:    28794s
ISAKMP
  LocalID:  hub 
  RemoteID: spoke1
    Cookies (Initiator:Responder) d67d8e23b5626547:cadf02b393a4047c
      Ver:            2             Lifetime: 84450s    State: Established
      Authentication: PSK           Group:    14
      Encryption:     AES256        NATT:     no
      Integrity:      SHA256        DPD:      yes


(C) 2015 - 2019 アライドテレシスホールディングス株式会社

PN: 613-002107 Rev.AA