目次
ISATAPトンネルとは
ISATAP(Intra-Site Automatic Tunnel Addressing Protocol)トンネルは、IPv4ネットワーク上のデュアルスタックホストをIPv6ネットワークへ接続するために利用します。ISATAPトンネルによって、トンネルを終端するルータとデュアルスタックホスト間はあたかも1つのIPv6サブネットであるかのように扱うことができます。ISATAPトンネルのプレフィクスは自由に設定することができます。
ISATAPトンネルのアドレス
ISATAPトンネルでは、次のようにインタフェースIDの部分に転送用IPv4ヘッダで指定するべきIPv4アドレスを埋め込んでいます。
ISATAPトンネルのIPv6アドレス
<任意のプレフィクス>:0:5EFE:<IPv4アドレス>
リンクローカルアドレス FE80::5EFE:<IPv4アドレス>
ISATAPトンネルのIPv6パケットの転送
次のネットワーク構成において、ISATAPトンネルでのIPv6パケットの転送について見ていきます。
ルータとデュアルスタックホスト間でISATAPトンネルを設定すると、ルータとデュアルスタックホストは同一のIPv6ネットワークに接続されているものとみなして、任意のプレフィクスを割り当てることができます。上の図では2001:1:1:1::/64をISATAPトンネルのプレフィクスとしています。そして、インタフェースIDの下位32ビットにそれぞれのIPv4アドレスが埋め込まれます。また、デュアルスタックホストはデフォルトゲートウェイとして、ルータのリンクローカルアドレスFE80::5EFE:C0A8:01:FEを利用します。
このようなネットワーク構成で、デュアルスタックホストからIPv6ネットワークへ通信するときは、別ネットワークなのでIPv6パケットをデフォルトゲートウェイに転送します。デフォルトゲートウェイのアドレスの下位32ビットにルータのIPv4アドレスが埋め込まれています。IPv6パケットに転送用IPv4ヘッダを付加して、その宛先IPv4アドレスとしてルータのIPアドレスを指定して転送します。
ISATAPトンネルの設定
ISATAPトンネルインタフェースの設定の流れは次のようになります。
- ISATAPトンネルインタフェースの作成
- トンネルインタフェースにIPv6アドレスを割り当て
- ルーティングの設定
また、トンネルを終端するデュアルスタックホストでの設定も必要です。
- ISATAPトンネルを終端するルータのIPv4アドレスの指定
1. ISATAPトンネルインタフェースの作成
ISATAPトンネルの設定は、トンネルインタフェースを作成してトンネルモードをISATAPに変更します。ISATAPトンネルではIPv6パケットを直接IPv4でカプセル化します。そして、転送用IPv4ヘッダの送信元IPアドレスとなるtunnel sourceを指定します。
(config)#interface tunnel <num>
(config-if)#tunnel mode ipv6ip isatap
(config-if)# tunnel source {<src-interface-name>|<src-ip-address>}
<num> : インタフェース番号
<src-interface-name> : 転送用IPv4ヘッダの送信元IPv4アドレスとして利用するインタフェース名
<src-ipv4-address> : 転送用IPv4ヘッダの送信元IPv4アドレス
この設定でISATAPトンネルのトンネルインタフェースはup/upになります。
トンネルインタフェースにIPv6アドレスを割り当て
トンネルインタフェースにIPv6パケットをルーティングするためには、IPv6アドレスの設定が必要です。ISATAPトンネルには任意のIPv6プレフィクスを設定できます。インタフェースIDにtunnel sourceで指定したIPv4アドレスが埋め込まれます。ISATAPトンネルのIPv6アドレスの設定でeui-64のオプションを指定することでISATAPトンネルのインタフェースIDの設定となります。
(config)#interface tunnel <num>
(config-if)#ipv6 address <prefix>/<prefix-length> eui-64
<num> : インタフェース番号
<ipv6-address> : 設定するIPv6アドレス
<prefix-length> : プレフィクス長
また、ISATAPトンネルのインタフェースにはFE80:05EFE:<tunnel sourceのIPv4アドレス>のリンクローカルアドレスが自動的に割り当てられます。
ISATAPトンネルでは、RAメッセージの送信がデフォルトで無効化されています。RAメッセージを送信するためには、次の設定を行います。
(config)#interface tunnel <num>
(config-if)#no ipv6 nd suppress-ra
これにより、ISATAPトンネルで接続しているデュアルスタックホストへIPv6プレフィクスをアドバタイズできるようになります。
ルーティングの設定
ISATAPトンネルを設定するときのルーティングは、トンネルを終端するルータ以外のルータをきちんと考えてください。トンネルを終端するルータ以外のルータがISATAPトンネルに割り当てたIPv6プレフィクスをきちんと学習できるようにしないといけません。
そのためには、ISATAPトンネルを終端するルータでISATATPトンネルのプレフィクスをRIPngやOSPFv3でアドバタイズします。スタティックルートを利用するときには、トンネルを終端するルータ以外のルータでスタティックルートを設定することになります。
ISATAPトンネルを終端するルータのIPv4アドレスの指定
デュアルスタックホスト側では、ISATAPトンネルを終端するルータを指定します。Windowsのホストでは、コマンドプロンプトから以下のように設定します。
C:\>netsh interface ipv6 isatap set router <ip-address>
<ip-address> : ISATAPトンネルを終端するルータのIPv4アドレス
デュアルスタックホストは、指定したルータのIPv4アドレスを埋め込んだISATAPのインタフェースIDのリンクローカルアドレス(FE80::5EFE:<ip-address>)をデフォルトゲートウェイとして利用します。
また、ルータからRAメッセージを受信すると、ISATAPトンネルに割り当てたプレフィクスのIPv6アドレスを生成できます。デュアルスタックホスト自身ののISATAPインタフェースのリンクローカルアドレスは自身のIPv4アドレスを埋め込んだアドレスです。
ISATAPトンネルの設定例
ISATAPトンネルの設定例として、以下のネットワーク構成を考えます。
ISATAPトンネルインタフェースの作成
R1でISATAPトンネルを作成します。トンネルモードをISATAPにして、tunnel sourceとしてFa0/0を指定します。
R1
interface tunnel 1 tunnel mode ipv6ip isatap tunnel source fa 0/0
トンネルインタフェースにIPv6アドレスを割り当て
ISATAPトンネルインタフェースにIPv6パケットをルーティングできるようにするためにIPv6アドレスを設定します。今回は、2001:10:10:10::/64のプレフィクスを設定します。また、ISATAPトンネルインタフェースでRAを送信できるようにします。
R1
interface tunnel 1 ipv6 address 2001:10:10:10::/64 eui-64 no ipv6 nd suppress-ra
これでR1でのISATAPの設定は完了です。R1でshow ipv6 interfaceコマンドでISATAPトンネルの状態を確認すると、次のようになります。
R1
R1#show ipv6 interface tunnel 1 Tunnel1 is up, line protocol is up IPv6 is enabled, link-local address is FE80::5EFE:C0A8:1FD Global unicast address(es): 2001:10:10:10:0:5EFE:C0A8:1FD, subnet is 2001:10:10:10::/64 [EUI] Joined group address(es): FF02::1 FF02::2 FF02::1:FFA8:1FD MTU is 1480 bytes ICMP error messages limited to one every 100 milliseconds ICMP redirects are enabled ND DAD is not supported ND reachable time is 30000 milliseconds ND advertised reachable time is 0 milliseconds ND advertised retransmit interval is 0 milliseconds ND router advertisements live for 1800 seconds Hosts use stateless autoconfig for addresses.
ISATAPトンネルを終端するルータのIPv4アドレスの指定
デュアルスタックホストでは、ISATAPトンネルを終端するR1のIPv4アドレスを指定します。コマンドプロンプトで以下の設定を行います。
C:\> netsh interface ipv6 isatap set router 192.168.1.253
デュアルスタックホストは、R1からのRAによって2001:10:10:10のプレフィクスを取得します。デュアルスタックホストのIPv6設定を確認すると、次のようになります。
C:\> ipconfig ~省略~ Tunnel adapter isatap.v-t-5.kta: 接続固有の DNS サフィックス . . . : v-t-5.kta IPv6 アドレス . . . . . . . . . . . : 2001:10:10:10:0:5efe:192.168.1.4 リンクローカル IPv6 アドレス. . . . : fe80::5efe:192.168.1.4%22 デフォルト ゲートウェイ . . . . . : fe80::5efe:192.168.1.253%22 ~省略~
IPv6
- [演習] IPv6ルーティング RIPng&OSPFv3
- IPv6ヘッダフォーマット
- IPv6アドレスの表記フォーマット
- IPv6ユニキャストアドレス
- IPv6マルチキャストアドレス
- IPv6アドレスの設定方法 ~手動/SLAAC/DHCPv6~
- Cisco IPv6アドレスの設定と確認コマンド
- Cisco IPv6アドレスの設定例
- IPv6アドレス解決の仕組み
- IPv6 トンネリングの概要
- IPv6 over IPv4 スタティックトンネル
- 6to4トンネル
- ISATAPトンネル
- 基本的なIPv6ネットワークの設定例
- IPv6 設定ミスの切り分けと修正 Part1
- IPv6 設定ミスの切り分けと修正 Part2
- IPv6 設定ミスの切り分けと修正 Part3