IPv6(基本設定とACL)

目次

IPv6の有効化

CiscoルータでIPv6を使えるようにするためには、まずIPv6のルーティング機能をONにする必要があります。デフォルトでは無効化されているため、必ず次のコマンドを入力してください。

(config)# ipv6 unicast-routing

このコマンドを実行すると、ルータがIPv6パケットを中継できるようになります。試験でも「IPv6通信ができない原因」として、この設定忘れが問われやすいので要注意です。

IPv6アドレスの設定(グローバルユニキャストアドレス)

IPv6では、インターフェースごとにアドレスを割り当てる必要があります。基本の設定は次のように行います。

(config-if)# ipv6 address アドレス/プレフィックス長 [ eui-64 ] [ anycast ]

ここで重要なポイントを整理しておきます。

  • 手動割り当て
    管理者が明示的にアドレスを設定します。
    例: (config-if)# ipv6 address 2001:1:1:1::1/64
  • EUI-64による自動生成
    インターフェースのMACアドレスを基にホスト部が自動生成されます。
    例: (config-if)# ipv6 address 2001:1:1:1::/64 eui-64
  • エニーキャストアドレス
    複数の機器が同じアドレスを持ち、最も近い機器にトラフィックを届ける仕組みです。
    例: (config-if)# ipv6 address 2001:2:2:2::/64 anycast

試験対策:eui-64anycast の使い分けがよく問われます。ここは必ず覚えておきましょう。

IPv6アドレスの設定(リンクローカルアドレス)

リンクローカルアドレスは、同一リンク内で必ず必要となるIPv6アドレスです。通常は自動的に生成されるため、特に指定する必要はありません。しかし、運用上の分かりやすさから、手動で設定する場合もあります。

手動設定の例:

(config-if)# ipv6 address FE80::1234:abc:12:1 link-local

また、次のコマンドを使うと、そのインターフェースで自動的にリンクローカルアドレスが有効になります。

(config-if)# ipv6 enable

ただし、実務や試験では「グローバルアドレスを設定すればリンクローカルは自動生成される」という理解が重要です。

IPv6アドレスの自動取得(オプション)

ルータのインターフェースにも、ホストと同様に自動設定を行うことができます。あまり一般的ではありませんが、知識として覚えておきましょう。

(config-if)# ipv6 address autoconfig default

default を付けると、RA(ルータアドバタイズメント)の情報をもとにデフォルトルートも登録されます。ただし、この設定は1台のルータに1つのインターフェースでしか有効にできません。

インターフェースのIPv6確認

設定した内容は、次のコマンドで確認できます。

# show ipv6 interface

ここで表示される内容には以下が含まれます。

  • グローバルユニキャストアドレス
  • リンクローカルアドレス
  • 参加しているマルチキャストグループ

また、インターフェースが物理的にダウンしている場合、IPv6アドレスは「tentative(暫定)」と表示される点も試験で狙われやすいポイントです。

CatalystスイッチでのIPv6有効化

スイッチでは、IPv6を有効化する前に「SDMテンプレート」の設定が必要です。Catalyst3750シリーズなどでは、以下のように設定します。

(config)# sdm prefer dual-ipv4-and-ipv6 { default | routing | vlan }

選択肢の意味は以下の通りです。

  • default … IPv4/IPv6のL2・L3機能をバランスよく利用
  • routing … IPv4/IPv6のルーティング機能を最大限利用
  • vlan … VLAN機能を最大限利用

例:IPv6ルーティングを重視する場合

Catalyst(config)# sdm prefer dual-ipv4-and-ipv6 routing
Catalyst# copy run start
Catalyst# reload

この設定は再起動後に反映されるため、忘れずに reload を実行してください。

この流れをしっかり押さえると、IPv6の基本設定はほぼマスターできます。特に「unicast-routing の有効化」「EUI-64 の仕組み」「リンクローカルの自動生成」の3点は試験で頻出です。

IPv6 RA(Router Advertisement)の基本

IPv6ネットワークでは、ルータが送信するRAメッセージ(Router Advertisement)が、ホスト側の自動設定に大きな役割を持ちます。RAにはデフォルトルータの情報や利用可能なプレフィックスが含まれ、ホストはそれを基にアドレスやデフォルトゲートウェイを自動的に設定します。ここではRAに関する主な設定コマンドを整理します。試験では「RAの動作と調整項目」が頻出ですので、仕組みと代表的なコマンドは確実に覚えておきましょう。

RAメッセージの送信間隔の調整

ルータが定期的にRAメッセージを送信する間隔を調整できます。デフォルトは 200秒 ですが、必要に応じて変更可能です。

(config-if)# ipv6 nd ra interval 最大値 [最小値]
  • 最大値:4~1800秒
  • 最小値:3~150秒(省略可)

ミリ秒単位で指定する場合は msec を使います。

例:300秒ごとにRAを送信

(config)# interface g0/0
(config-if)# ipv6 nd ra interval 300

試験対策:デフォルト値が200秒である点、最大・最小の範囲を覚えておきましょう。

ルータライフタイムの設定

ルータライフタイムは、「このルータをデフォルトルータとして利用できる時間」を表します。デフォルトは 1800秒(30分) です。

(config-if)# ipv6 nd ra lifetime 秒数

例:3600秒(1時間)に変更する場合

(config)# interface g0/0
(config-if)# ipv6 nd ra lifetime 3600

ホストは、この値をもとに「どのルータをデフォルトルータとして使うか」を判断します。

RA通知の停止

場合によっては、あるインターフェースからRAを送信したくないことがあります。その際は次のコマンドを使用します。

(config-if)# ipv6 nd ra suppress [all]

例:g0/0でRAを完全に無効化

(config)# interface g0/0
(config-if)# ipv6 nd ra suppress all

試験対策:RAはデフォルトで有効、無効化したい場合に suppress を使う、という点をしっかり押さえてください。

デフォルトルータの優先度(DRP)

複数のルータが同一リンク上にある場合、ホストがどのルータを優先してデフォルトルータに選ぶかを調整できます。

(config-if)# ipv6 nd router-preference { high | medium | low }

デフォルトは medium

例:このルータを最優先にする場合

(config)# interface g0/0
(config-if)# ipv6 nd router-preference high

試験対策:同じネットワークに複数のルータがあるときに「どちらをデフォルトゲートウェイとして選ぶか」を決める設定。

RAで通知するプレフィックスの定義

RAにはインターフェースで設定されたプレフィックスが自動的に含まれますが、有効期間(lifetime)を調整したい場合は以下のように設定します。

(config-if)# ipv6 nd prefix プレフィックス/長さ 有効期間 推奨期間
  • valid lifetime:プレフィックスが有効とされる時間(デフォルト 30日)
  • preferred lifetime:推奨される時間(デフォルト 7日)

例:有効期間60日、推奨期間14日とする場合

(config)# interface g0/0
(config-if)# ipv6 nd prefix 2001:1:2:3::/64 5184000 1209600

試験対策:デフォルト値(valid=30日、preferred=7日)がよく問われます。

RA設定では、「送信間隔」「ルータライフタイム」「通知の有無」「デフォルトルータ優先度」「プレフィックスの有効期間」の5つが代表的な調整項目です。特にデフォルト値や指定可能な範囲は試験問題に出やすいので、丸暗記ポイントとして押さえておきましょう。

IPv6スタティックルートの設定

IPv6環境でも、IPv4と同様にスタティックルートを設定することができます。コマンドの基本構文は次の通りです。

(config)# ipv6 route prefix/length [ nexthop | interface ] [distance]

ここで指定できる要素を整理しておきましょう。

  • prefix/length
    宛先ネットワークとプレフィックス長を指定します。例:2001:1:2:3::/64
  • nexthop
    宛先に到達するためのネクストホップを指定します。
    IPv6では、リンクローカルアドレスを指定することが推奨されます。
  • interface
    出力インターフェースを指定します。特にシリアルなどの ポイントツーポイント接続 ではインターフェース指定がよく使われます。
  • distance
    アドミニストレーティブディスタンスを指定できます。省略するとデフォルトの 1 が使われます。

設定例:スタティックルートの登録

(config)# ipv6 route 2001:1:2:3::/64 gigabitethernet0/0 fe80::2

この例では、宛先 2001:1:2:3::/64 へ到達するために、出力インターフェースを GigabitEthernet0/0、ネクストホップをリンクローカルアドレス fe80::2 として指定しています。

注意点:ネクストホップにリンクローカルアドレスを指定する場合、必ずインターフェースも併せて指定する必要があります。理由は、リンクローカルアドレスが同一リンク内で重複する可能性があるためです。

IPv6デフォルトルートの設定

IPv6では、全ての宛先を表すネットワークプレフィックスとして ::/0 を使用します。これを使ってデフォルトルートを設定します。

例:ネクストホップをリンクローカルアドレス fe80::1 として指定

(config)# ipv6 route ::/0 gigabitethernet0/0 fe80::1

この設定により、ルーティングテーブルに明示的なルートが存在しない宛先はすべて、このデフォルトルートを経由するようになります。試験では「IPv6におけるデフォルトルートの表記は ::/0」という点が狙われやすいです。

IPv6 Nullルートの設定

特定の宛先ネットワークへのトラフィックを破棄したい場合、ネクストホップとして null0 を指定することで、強制的にパケットを捨てることができます。これは「ブラックホールルート」とも呼ばれます。

例:2001:1:2:3::/64 宛のトラフィックを全て破棄

(config)# ipv6 route 2001:1:2:3::/64 null0

このような設定は、セキュリティ対策やルーティングループ防止のために利用されます。

試験対策:IPv6のスタティックルートでは特に リンクローカルアドレス指定時にインターフェースも必要 という点、そして デフォルトルートは ::/0 という点が試験での重要ポイントです。

IPv6 ACLの基本

IPv6 ACL(アクセスコントロールリスト)は、IPv6トラフィックを制御するための仕組みで、IPv4 ACLとほぼ同じ考え方で利用できます。条件として指定できるのは以下の要素です。

  • 送信元IPv6アドレス
  • 宛先IPv6アドレス
  • ネクストヘッダ(IPv4におけるプロトコルフィールドに相当)
  • 送信元ポート番号
  • 宛先ポート番号

これらを組み合わせて、特定の通信を許可または拒否するルールを作成します。

IPv6 ACLの「暗黙のpermit」と「暗黙のdeny」

IPv4 ACLには「最後にすべて拒否する暗黙のdeny」が存在しますが、IPv6 ACLではそれに加えて、近隣探索(Neighbor Discovery, ND)を確実に動作させるための「暗黙のpermit」も存在します。

デフォルトで以下の3行が存在していると考えてください。

permit icmp any any nd-ns
permit icmp any any nd-na
deny ipv6 any any
  • nd-ns … Neighbor Solicitation(近隣要請)
  • nd-na … Neighbor Advertisement(近隣通知)

つまり、IPv6 ACLを作るときは、最後に「全て拒否」してしまうとNDメッセージまで遮断してしまう危険があるため、必要に応じて明示的にpermit文を追加することが大切です。

IPv6 ACLの設定手順

IPv6 ACLは、次の手順で設定・適用します。

  1. グローバルコンフィグモードで ipv6 access-list を使い、ACLルールを定義する
  2. インターフェースモードで ipv6 traffic-filter を使い、ACLを適用する

設定例

シナリオ:

  • ホスト 2001:1:1:10::11 からの SSH(22番ポート)Telnet(23番ポート) を拒否
  • ネットワーク 2001:1:1:10::/64 からホスト 2001:2:2:20::22 への PING(ICMP echo-request) を拒否
  • それ以外のトラフィックは許可

ACL名は TEST-V6ACL とします。

R1(config)# ipv6 access-list TEST-V6ACL
R1(config-ipv6-acl)# deny tcp host 2001:1:1:10::11 any eq 22
R1(config-ipv6-acl)# deny tcp host 2001:1:1:10::11 any eq 23
R1(config-ipv6-acl)# deny icmp 2001:1:1:10::/64 host 2001:2:2:20::22 echo-request
R1(config-ipv6-acl)# permit ipv6 any any

R1(config)# interface GigabitEthernet0/0
R1(config-if)# ipv6 traffic-filter TEST-V6ACL in

このように設定することで、不要な通信を制御しつつ、必要な通信は通すことができます。

IPv6 ACLの確認方法

設定後は、次のコマンドでACLの動作状況を確認できます。

  • ACLのヒット回数確認 show ipv6 access-list ※ カウンタをリセットしたいときは clear access-list counters を使用
  • ACLの適用状況確認 show ipv6 interface インターフェースにどのACLがどの方向(in/out)で適用されているかが分かります。

IPv6 ACLで注意すべき点

  • 必要最低限のdenyルールだけを書きたい場合は、最後に permit icmp any any nd-na permit icmp any any nd-ns を入れておくことが重要です。
  • 明示的に「permit ipv6 any any」を入れておくと、不要な遮断を避けられます。

試験対策:「IPv6 ACLには暗黙のpermitと暗黙のdenyが共存する」という点が問われやすいです。

◆まとめスライド

目次