コンテンツへスキップ

【IPv4からIPv6の変更点】

・フィールドの簡素化
・40バイト固定長(基本ヘッダ)
・チェックサムの削除
・フローラベルの追加
・オプション機能は拡張ヘッダで対応
・ルータ(中継機器)でのフラグメント処理を禁止

フローラベル…効率的にアプリケーションフローを識別するためのフィールド
ネクストヘッダ…次のタイプのヘッダを定義する

Ipv6は一つのインターフェースに複数の種類(グローバルユニキャストアドレスやリンクローカルユニキャストアドレスなど)のIPv6アドレスを割り当てて使用できる
Ipv6アドレスが割り当てられるインターフェイス上には必ずリンクローカルアドレスが
割り当てられる

Ipv6のヘッダフォーマット

バージョントラフィッククラスフローラベル
ペイロード長ネクストヘッダホップリミット
送信元アドレス
送信先アドレス

【アドレス長】

IPv6アドレスは128ビットであり、16ビットずつ[:]で区切って
8個のフィールドに分けて16進数で表記する

【IPv6アドレスの省略表記】

・各フィールドの先頭は0の省略が可能
・0000は0に省略可能
・0のフィールドが連続する場合は[::]で表現可能
 一つのアドレスにつき一回だけ

【アドレス関連】

グローバルユニキャストアドレス

先頭3ビットが[001]の[2000::/3]で始まるアドレスで
IPv4ののグローバルアドレスに相当する。

リンクローカルユニキャストアドレス

先頭10ビットが1111111010[FE80::/10]で始まるアドレス。
物理的に接続されているローカルネットワーク内のみで有効なアドレス
ルータを超えて通信することができません。

ユニークローカルアドレス

IPv4のプライベートアドレスに相当するもの(FC00::/7)

EUI-64

IEEEによって標準化された64ビット超の識別子
MACアドレスを元にして一意なインターフェイスを生成
EUI‐64のインターフェイスはMACアドレスの上位3バイトと
下位3バイトの間に0xFFFEを挿入し、U/Lビットと呼ばれる
先頭から7番目のビットを反転する

マルチキャストアドレス

先頭ビットが[1111 1111 (FF00::/8)

その後、フラグ(4ビット)スコープ(4ビット)残り112ビットはグループIDとして使用される
フラグはマルチキャストのタイプを表す。
 4ビットのうち3ビットが将来のための予約されている領域であり、常に000であり
 末尾1ビットがタイプをしめす。
 永続的に割り当てられるアドレス:0
 一時的なアドレス:1

スコープはマルチキャストパケットの有効範囲を表す
 スコープが2
 →特定リンクでのみ有効なリンクローカルアドレス

Ipv6マルチキャストアドレスのグループはIpv4マルチキャストアドレスを元に以下のテーブルのようになっている

説明IPv4IPv6
同一リンク上の全ノード224.0.0.1FF02::1
同一リンク上の全ルータ224.0.0.2FF02::2
同一リンク上のOSPFルータ224.0.0.5FF02::5
同一リンク上のOSPF指定ルータ(DR/DBR)224.0.0.6FF02::6
同一リンク上のRIP(RIPng)ルータ224.0.0.9FF02::9
同一リンク上のEIGRPルータ224.0.0.10FF02::A

【ステートレスアドレス自動設定】

(SLAAC:Stateless Addless Autoconfiguration)
IPv6ホストが自動的にグローバルユニキャストアドレスを生成する方法
DHCPサーバーの必要がない

【DHCPv6】

DHCPサーバーによってIPv6ホストにIPアドレスやDNSなどのネットワーク設定情報を動的に割り当てる
管理者がホストアドレスの管理をしたいときに使われる
ステートフルアドレス設定とも呼ばれる

【ルーターからのアドレス配布】

ステートレスアドレス自動設定ともいう
ルーターはRA(タイプ134)でプレフィックスを通知する
ホストはRS(タイプ133)でプレフィックスを要求する
RAに含まれるプレフィックス長は64ビット
RAの宛先はマルチキャストアドレス(FF02::1)

【RIPng】

RIPng(RIP next generation)はディスタンスベクタールーティングであり
RIPv2を受け継いでいるらしい

コマンド周り

インターフェイスの確認
#show ipv6 interface

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

(config)#ipv6 route <ipv6-address>/<prefix-length> {<nexthop> | <interface> } [distance]

(config)#ipv6 route 2000::1/128 2013::1/126 10

【ipv6へ移行する理由】

パケット転送処理の高速化(ヘッダ変更、チェックサム廃止)
ブロードキャストの廃止
アドレス自動設定機能(フラグアンドプレイ)
セキュリティ強化(Ipsecの標準実装)

【デュアルスタック】

1台の機器にIPv4とIPv6の両方のアドレスを設定し、IPv4ネットワークと
IPv6ネットワーク間で相互に通信する移行技術

【トンネリング】

IPv6ネットワーク同士をIPv4ネットワーク経由で、もしくはIPv4ネットワークを
IPv6経由で通信させる技術

【NAT-PT】

IPv4ホストとIPv6ホスト間で通信するために、トランスレータでIPv4パケットと
IPv6パケットを相互に変換する移行技術

標準アクセスリスト

アクセスリストはトラフィックを条件によって分類することができる
特定のパケットフローを特定し制御することができる条件リスト

パケットを識別する際に送信元アクセスからのパケットをチェックする
設定は送信元アドレスとワイルドカードでできる。省略も可能

そもそもパケットにはIP、TCP,UDPヘッダがある。

レイヤ3送信元IPアドレス、宛先IPアドレス、プロトコル
レイヤ4送信元ポート、宛先ポート

標準アクセスリストでは、レイヤ3の送信元IPアドレスのみチェック
拡張アクセスリストでは、レイヤ3,4全ての項目がチェックできる。

番号付きACL

ACLには番号をつけて識別することが可能で標準/拡張ACLによって利用できる番号がわかれている

Ipv41~99 1300~1999
Ipv6100~199 2000~2699

ワイルドカードマスク

ワイルドカードマスクは直前に設定したIPアドレスに対して
「どの部分をチェックするか」を決めるもの。

ACLの条件文でIPアドレスを指定する場合はワイルドカードを使用する
ワイルドカードは32ビットの値で8ビットずつドットで区切って10進数で表す。
0はチェックして、1は無視する

全ビットをチェック0.0.0.0
全ビットを無視255.255.255.255

なお、特定のホストアドレスを指定したい場合、host
全てのアドレスを指定する場合、any でも代用可能


アクセスリスト[1]で192.168.0.1/24からのパケットを許可した場合

(config)access-list 1 permit 192.168.0.1 0.0.0.255

ACLをインターフェイスへ適用する

ACLをインターフェイスへ適用する

ACLを適用したいコンフィグインターフェイスモードに移動して

(config-if)#ip access-group <acl-number> {in | out}

特定の送信元IPアドレスのみ対象のインターフェースの
から転送できないようにする

例 192.168.0.0/24からきたパケットをserial 0/0から転送させない

(config)#access-list <acl-number> deny 192.168.0.0 0.0.0.255
(config)#access-list <acl-number> permit 0.0.0.0 255.255.255.255
(config)#interface serial 0/0
(config-if)#ip access-group <acl-number> out 

permitとdenyの順番

denyをどの順番を置いたとしても
permitがdenyより先にマッチしてしまうとそこで条件が終了して
denyを無視してパケットが通過してしまう。

なので、条件が細かいものほど先に記述する。


deny
deny
permit ここで 通過する。

permit 1ホストのみ
permit 1ホストのみ
deny 上記の合計2ホストにマッチしなかったら拒否
permit any aclには暗黙のdenyがあるため残り全て許可を置く

番号付き拡張アクセスリストの条件順番

プロトコル 送信元IPアドレス 送信元ポート 宛先IPアドレス
宛先ポート

プロトコルを決めた後に 送信元のIP、ポート 宛先IP、ポートと
覚えたらよい

(config)#access-list <acl-number> {permit | deny} <protocol> <sr> <wrc> <port>
 <sr> <wrc><port> 

例 192.168.100.64/24からのサーバ172.16.24.100のSSH接続のみ拒否する場合
(config)#access-list 100 deny tcp 192.168.100.64 0.0.0.255 host 172.16.24.100 eq 22
(config)#access-list 100 permit ip any any
(config)line vty 0 4 (ルータのリモートアクセス用の仮想ポートに移動)
(config-line)#access-class 100 in (access-classに変わるから要注意)

拡張ACLのコンフィグレーションモードに移動して設定する

シーケンス番号は低い数値から優先される

(config)#ip access-list extended TEST
(config-ext-nacl)#5 permit ip ~~~

(config)#show access-lists
5 permit ip ~~~
10 deny ~~~
20 deny ~~~

ACLの確認コマンド

#show access-lists  全てのIPリストを表示
#show ip access-lists <acl-numbers> 特定のACLのみ
#show ip access-lists すべてのIPv4のACLを表示