VPN / GRE
GRE(Generic Routing Encapsulation)は、任意のネットワーク層プロトコルパケットを、別のネットワーク層プロトコルパケットに包み込んで送信する汎用のトンネリングプロトコルです。本製品はIPv4/IPv6ネットワーク上におけるIPv4/IPv6パケットのトンネリングに対応しています。
また、トランスポートモードIPsecを併用した通信内容の暗号化と認証にも対応しています。
本製品のGREトンネルインターフェースの基本仕様は以下のとおりです。
- デリバリー(外側)プロトコル:IPv4/IPv6
IPv4およびIPv6ネットワーク上にGREトンネルを構築可能
- ペイロード(内側)プロトコル:IPv4/IPv6
- トンネルインターフェースにIPv4アドレスを割り当てれば、IPv4インターフェースとしてIPv4パケットのルーティングが可能
- トンネルインターフェースにIPv6アドレスを割り当てれば、IPv6インターフェースとしてIPv6パケットのルーティングが可能
- トンネルインターフェースにIPv4アドレスを割り当てれば、IPv4インターフェースとしてIPv4パケットのルーティングが可能
- トランスポートモード IPsec を併用することによりトンネルトラフィックの保護(ESPによる暗号化と認証)が可能。
またIPアドレスが不定な対向装置との接続も可能。
本章ではGREトンネルインターフェースに特化した説明を行います。
トンネルインターフェース全般については「VPN」の「トンネルインターフェース」を、インターフェース全般については「インターフェース」の「一般設定」を、IPsecについては「VPN」の「IPsec」をご覧ください。
基本設定
GRE over IPv4
IPv4ネットワーク上にGREトンネルインターフェースを作成し、拠点間でIPv6パケットをトンネリングするには、次の手順にしたがいます。
以下では、上記構成図のルーターAを例に具体的な設定手順を示します。
なお、前提事項として、ルーターA・BはIPv4でインターネットに接続しているものとします。WAN側インターフェースのIPアドレスは固定であり、ルーター間でのIP通信もできているものとします。
- トンネルインターフェースtunnel0を作成します。
awplus(config)# interface tunnel0
- トンネリング方式としてgre(GRE over IPv4)を指定します。これには、tunnel mode greコマンドを使います。
awplus(config-if)# tunnel mode gre
- トンネルインターフェースから送信するデリバリーパケットの始点・終点アドレス(自装置と対向装置のIPアドレス)を指定します。これには、tunnel source / tunnel destinationコマンドを使います。
awplus(config-if)# tunnel source 10.1.1.1 awplus(config-if)# tunnel destination 10.2.2.2
- トンネルインターフェースtunnel0にIPv6のリンクローカルアドレスを設定して、同インターフェースでIPv6パケットのルーティングが行われるようにします。これには、ipv6 enableコマンドを使います。
awplus(config-if)# ipv6 enable
- 対向拠点へのスタティック経路を登録します。これには、ipv6 routeコマンドを使います。
awplus(config-if)# exit awplus(config)# ipv6 route 2001:db8:10:20::/64 tunnel0
IPsecによる保護
上記設定ではGREトンネル上を流れるIPv6パケットは平文のままです。トンネル上のトラフィックを暗号化するには、次の手順を追加してIPsec保護を有効にしてください。- ISAKMPの事前共有鍵を設定します。これにはcrypto isakmp keyコマンドを使います。addressパラメーターで指定するのは、IPsecの接続相手(対向装置)、すなわち、ルーターBのIPアドレスです。
awplus(config)# crypto isakmp key ouR4ecret address 10.2.2.2
- GREトンネルインターフェースtunnel0に対し、IPsecによる保護を適用します。これにはtunnel protection ipsecコマンドを使います。
awplus(config)# interface tunnel0 awplus(config-if)# tunnel protection ipsec
GRE over IPv6
IPv6ネットワーク上にGREトンネルインターフェースを作成し、拠点間でIPv4パケットをトンネリングするには、次の手順にしたがいます。
以下では、上記構成図のルーターAを例に具体的な設定手順を示します。
なお、前提事項として、ルーターA・BはIPv6でインターネットに接続しているものとします。WAN側インターフェースのIPv6アドレスは固定であり、ルーター間でのIPv6通信もできているものとします。
- トンネルインターフェースtunnel0を作成します。これにはinterfaceコマンドを使います。
awplus(config)# interface tunnel0
- トンネリング方式としてgre ipv6(GRE over IPv6)を指定します。これには、tunnel mode greコマンドを使います。
awplus(config-if)# tunnel mode gre ipv6
- トンネルインターフェースから送信するデリバリーパケットの始点・終点アドレス(自装置と対向装置のIPv6アドレス)を指定します。これには、tunnel source / tunnel destinationコマンドを使います。
awplus(config-if)# tunnel source 2001:db8:1:1::1 awplus(config-if)# tunnel destination 2001:db8:2:2::2
- トンネルインターフェースtunnel0にIPアドレスを設定して、同インターフェースでIPv4パケットのルーティングが行われるようにします。これには、ip addressコマンドを使います。
awplus(config-if)# ip address 192.168.254.1/30
- 対向拠点へのスタティック経路を登録します。これには、ip routeコマンドを使います。
awplus(config-if)# exit awplus(config)# ip route 192.168.20.0/24 tunnel0
IPsecによる保護
上記設定ではGREトンネル上を流れるIPv4パケットは平文のままです。トンネル上のトラフィックを暗号化するには、次の手順を追加してIPsec保護を有効にしてください。- ISAKMPの事前共有鍵を設定します。これにはcrypto isakmp keyコマンドを使います。addressパラメーターで指定するのは、IPsecの接続相手(対向装置)、すなわち、ルーターBのIPアドレスです。
awplus(config)# crypto isakmp key ouR4ecret address 2001:db8:2:2::2
- GRE over IPv6トンネルインターフェースtunnel0に対し、IPsecによる保護を適用します。これにはtunnel protection ipsecコマンドを使います。
awplus(config)# interface tunnel0 awplus(config-if)# tunnel protection ipsec
設定と状態の確認
GREトンネルインターフェースの情報はshow interfaceコマンドで確認できます。awplus> show interface tunnel10
Interface tunnel10
Link is UP, administrative state is UP
Hardware is Tunnel
IPv6 address 2001:db8:10:10::1/64
IPv6 address fe80::21a:ebff:fe92:a4bc/64
index 27 metric 1 mtu 1476
<UP,POINTOPOINT,RUNNING,MULTICAST>
SNMP link-status traps: Disabled
Tunnel source 10.1.1.1, destination 10.2.2.2
Tunnel name local 10.1.1.1, remote 10.2.2.2
Tunnel ID local (not set), remote (not set)
Tunnel protocol/transport gre, key disabled, sequencing disabled
Tunnel TTL 64
Checksumming of packets disabled, path MTU discovery disabled
input packets 0, bytes 0, dropped 0, multicast packets 0
output packets 8, bytes 480, multicast packets 0 broadcast packets 0
Time since last state change: 0 days 00:01:29