IPv6の普及が進む一方で、依然として多くのネットワークではIPv4が利用されています。 そのため、「IPv4とIPv6を共存させる構成」=デュアルスタック構成が一般的です。 本記事では、IPv6のルーティングの基本と、デュアルスタック構成を実現するための考え方・設定方法をわかりやすく解説します。
1. IPv6ルーティングの基本
IPv6のルーティングは、基本的な仕組みはIPv4と同じであり、宛先ネットワークへの最適経路を選択しパケットを転送します。 ただし、IPv6ではプロトコルの構造が簡素化され、ルータの動作が効率化されています。
◆ IPv6ルータの役割
- 隣接ルータやホストに対してRouter Advertisement(RA)メッセージを送信
- IPv6ルーティングテーブルに基づいてパケットを転送
- 静的ルーティングまたは動的ルーティング(RIPng / OSPFv3 / BGP4+など)をサポート
◆ IPv6ルーティングテーブルの例(Linux)
$ ip -6 route show
2001:db8:100::/64 dev eth0 proto kernel metric 256
2001:db8:200::/64 via fe80::1 dev eth1 metric 1024
default via fe80::1 dev eth0 metric 1024
この例では、2001:db8:100::/64が直接接続ネットワーク、 2001:db8:200::/64はルータfe80::1経由で到達できることを示しています。
2. IPv6静的ルーティングの設定例
◆ Ciscoルータでの設定例
Router(config)# ipv6 unicast-routing
Router(config)# interface GigabitEthernet0/0
Router(config-if)# ipv6 address 2001:db8:1::1/64
Router(config)# ipv6 route 2001:db8:2::/64 2001:db8:1::2
この設定では、2001:db8:2::/64宛のパケットを隣接ルータ2001:db8:1::2に転送する静的ルートを追加しています。 IPv6ルーティングを有効化するためには、必ず最初にipv6 unicast-routingコマンドが必要です。
◆ Linuxでの設定例
# IPv6ルート追加
sudo ip -6 route add 2001:db8:2::/64 via 2001:db8:1::2 dev eth0
# 確認
ip -6 route show
3. デュアルスタック構成とは
デュアルスタック構成(Dual Stack)とは、1台の機器・ネットワークがIPv4とIPv6の両方を同時にサポートする構成です。 つまり、端末・サーバ・ルータが「2つのIPアドレス」を持ち、どちらのプロトコルでも通信できるようになります。
◆ 構成イメージ
PC1
├─ IPv4アドレス: 192.168.1.10
└─ IPv6アドレス: 2001:db8:100::10
ルータ
├─ IPv4: 192.168.1.1
└─ IPv6: 2001:db8:100::1
このように、各機器がIPv4とIPv6の両方のアドレスを持つことで、 相手の対応状況に応じて最適なプロトコルで通信を行います。
4. デュアルスタックの動作原理
デュアルスタック環境では、通信先のドメイン名(例:example.com)に対してDNSでIPv4/IPv6両方のアドレスが返されます。
◆ DNS応答の例
$ nslookup example.com
Name: example.com
Address: 93.184.216.34 # IPv4
Address: 2606:2800:220:1:248:1893:25c8:1946 # IPv6
クライアントは「どちらの経路が利用可能か」を判断し、通常はIPv6を優先して通信します(RFC 6724に基づく優先順位)。
5. IPv4とIPv6の共存技術
すべてのネットワークがすぐにIPv6へ完全移行できるわけではありません。 そのため、IPv4とIPv6を共存・移行させるための仕組みが複数存在します。
◆ 主な共存技術
| 方式 | 概要 |
|---|---|
| デュアルスタック | IPv4とIPv6の両方を同時に利用。現在最も一般的な方法。 |
| トンネリング(6to4 / GRE / ISATAP) | IPv6パケットをIPv4ネットワーク上にカプセル化して転送。 |
| NAT64 / DNS64 | IPv6クライアントとIPv4サーバ間の通信を仲介する仕組み。 |
特に企業ネットワークでは、当面の間デュアルスタック構成が主流となります。 新しいサービスをIPv6で提供しつつ、既存IPv4サービスも継続利用できるためです。
6. トラブルシューティングのポイント
デュアルスタック構成では、どちらのプロトコルで通信しているかを把握することが重要です。
- ① IPv6優先通信の影響 → IPv6が有効だが通信不可な場合、IPv4フォールバックまで時間がかかる(DNSのAAAA応答優先問題)
- ② デフォルトルートの設定漏れ → IPv6ルートが未設定の場合、IPv4では通信できるがIPv6だけ疎通不可となる
- ③ ファイアウォール設定の不備 → IPv6のICMPv6(Neighbor Discovery)やRAメッセージをブロックしていないか確認
◆ 疎通確認コマンド
# IPv6接続確認
ping6 2001:db8::1
traceroute6 2001:db8::1
# IPv4接続確認
ping 192.168.1.1
traceroute 192.168.1.1
7. まとめ
- IPv6ルーティングはIPv4と同様にルートテーブルを基に動作する
- デュアルスタック構成では、IPv4とIPv6の両方を同時にサポート
- 完全移行までは「共存技術(トンネリング / NAT64など)」が重要
- トラブル時は、どちらのプロトコルで通信しているかを確認することが鍵
IPv6への移行期において、デュアルスタックは最も現実的かつ柔軟なアプローチです。 ルーティングや共存技術の理解を深めることで、IPv6時代のネットワーク設計をより確実に行うことができます。


