IPv6オペレータ育成プログラム

iDC/ISP/CATV サーバ編
株式会社BeaconNC データセンター事業部
國武 功一
功© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

ここで取り上げること• 目的– Linuxを用い、IPv6環境下でのサーバ運用を行う上での必要な知識を身につける。

（注）ディストリビューションに依存する部分については、
CentOS(RedHat系）とGNU/Debianを取り上げます。
© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

Overview• IPv6の主な特徴• LinuxでIPv6を扱うための基礎知識– IPv6のアドレス表記– IPv6のアドレス体系– ULAについて– ヘッダ情報について– デュアルスタックとは– DNSのIPv6対応とは© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム• IPv6
IPv6の主な特徴の主な特徴• LinuxでIPv6を扱うための基礎知識– IPv6のアドレス表記– IPv6のアドレス体系– ULAについて– ヘッダ情報について– デュアルスタックとは– DNSのIPv6対応とは© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

IPv6の主な特徴• 広大なアドレス空間(32bitから128bitへ)
広ド• アドレスの自動設定– 管理コストの低減を目指す• IPsec標準装備
標準装備• MobileIP– IPv4でのMobileIPを、もっと洗練されたものへ
その他：Headerの簡略化、途中経路でのフラグメントの禁止、
拡張ヘッダの導入など© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

IPｖ６の広大なアドレス空間• IPv4のアドレス空間を１とすると、IPv6は79228162514264337593543950336
全世界の人に現行のIPv4アドレスをひとりずつ
全世界の人に現行のIP
4アドレスをひとりずつ配ってもまだまだ余る！


但し、ネットマスクの考え方の違いから、上の例ほど
但し
ネ トマスクの考え方の違いから 上の例ほど単純には比較できない© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

IPｖ６の広大なアドレス空間(Cont)• IPv4/IPv6でアドレス個数を比較することは無意味だが、十分に広いと言える。
• 構築可能なセグメント数は？(※)– IPv4 : 1073741824– IPv6
IP 6 : 18446744073709551616(※)IPv4は、全アドレス帯を/30で分割した場合。IPv6は、/64で分割した場合。すべてがグローバルアドレスとして利用できるわけではないので、あくまでも目安© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

アドレスの自動設定• IPv6では、予想される莫大な数のデバイス
IP 6では 予想される莫大な数のデバイスに対応するため、アドレスの自動設定が標準機能として用意されている– DHCPV6を利用することも可能

RA
RS

RS

© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

Router Solicitation/Router
Advertisement
•
•
•
•
•
•
•

RSの宛先アドレスはFF02::2、Hop Limitは255
RAの宛先アドレスはFF02::1かRS内の始点アドレス、Hop Limitは255
RA内のCurrent Hop Limitフィールドでノードが用いるホップ制限を設定
M‐flagが0ならステートレスアドレス自動設定、1ならDHCPv6によるアドレス設定
が なら テ ト
ド
自動設定 ならによる ド設定
O‐flagが1ならアドレス以外の情報をDHCPv6により取得
Router Lifetimeはデフォルトルータのみが1以上（65535以下）を指定
DRP（D f lt Router
DRP（Default
R t Preference：RFC4191）によってデフォルトルータの優先度の
P f
RFC4191）によ てデフォルトル タの優先度の通知が可能– High（01）、Medium（00）、Low（11）– ノード、ルータ双方がサポートしている必要がある、
要 あFE80::1① Router Solicitation
Src=FE80::1
Dst=FF02::2

FE80::2② Router Advertisement
Src=FE80::2
Dst FF02::1 (or FE80::1)
Dst=FF02::1
Data=Subnet prefix, lifetime, current hop limit
Flag (management, other) , preference9© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

IPv6アドレスの状態、アドレスのlifetime•

tentative address– インタフェースに付与されていないアドレスでNDメッセージにしか使用できない。この時点でアドレスの一意性をDADで確認する。

•

preferredfd addressdd– インタフェースに付与されたアドレス。アドレスが一意で通信可能な状態•

deprecated address– 有効ではあるが、新規通信への使用をしないことが望まれる
有効ではあるが 新規通信への使用をしないことが望まれる•

valid address– Preferredとdeprecatedのアドレスの双方を指す•

Invalid address– 有効アドレスの有効期間が過ぎるとこの無効アドレスになる
アドレスの有効期間と状態変移
Valid address

preferred address deprecated address

0

t1

t2

I
Invalid
lid addressdd

t1：preferred lifetime
t2：valid lifetime
10© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

ステートレス自動アドレス設定の流れ
自動 ド
設定 流れ
fe80::211:22ff:fe33:4455
2001:db8::211:22ff:fe33:4455
MAC:00:11:22:33:44:55

fe80::211:22ff:fe66:7788
2001:db8::211:22ff:fe66:7788
MAC:00:11:22:66:77:88①近隣要請（NS）
近隣広告がなければターゲットアドレスの利用が可能＜重複アドレス検出＞
要請ノードマルチキャスト

①

②

③

④
グローバル
アドレス確定Dst MAC 33:33:FF:33:44:55
Src IPv6 ::（未定義アドレス）
Dst IPv6

ff02::1:ff33:4455

ICMPv6 Type 135
Target fe80::211:22ff:fe33:4455
Src MAC 00:11:22:33:44:55②ルータ要請（RS）
全ルータマルチキャスト（ff02::2）宛に送信

リンクローカル
アドレス確定Src MAC 00:11:22:33:44:55

Dst MAC 33:33:00:00:00:02
Src IPv6 fe80::211:22ff:fe33:4455
Dst IPv6

ff02::2

ICMPv6 Type 133③ルータ広告（RA）
全ノードマルチキャスト（ff02::1）宛に送信
取得プレフィックス
を用いてグローバル
アドレスを生成Src MAC 00:11:22:66:77:88
Dst MAC 33:33:00:00:00:01
Src IPv6 fe80::211:22ff:fe66:7788
Dst IPv6

ff02::1

ICMPv6 Type 134
Prefix 2001:db8::

Src MAC 00:11:22:33:44:55④近隣要請
近隣広告がなければ
Dst MAC 33:33:FF:33:44:55
ターゲットアドレス
Src IPv6 ::（未定義アドレス）の利用が可能Dst IPv6 ff02::1:ff33:4455
応答があるとアドレス
ICMPv6 Type 135
を再構成する必要あり Target 2001:db8::211:22ff:fe33:4455
11＜重複アドレス検出＞© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

リンクレイヤアドレスの解決の流れ
fe80::211:22ff:fe33:4455
2001:db8::211:22ff:fe33:4455
MAC:00:11:22:33:44:55

fe80::211:22ff:fe66:7788
2001:db8::211:22ff:fe66:7788
MAC:00:11:22:66:77:88①②
MACアドレス
取得完了③

Src MAC 00:11:22:33:44:55①近隣要請（NS）
通信相手のMACアドレ Dst MAC 33:33:FF:66:77:88
Src IPv6 fe80::211:22ff:fe33:4455
スを探索
Dst IPv6 ff02::1:ff66:7788
近隣広告がない場合
はICMPv6 Type 135
Target 2001:db8::211:22ff:fe66:7788
オンリンクでないと判
リ ク な
判
断
Src MAC 00:11:22:66:77:88②近隣広告（NA）
Dst MAC 00:11:22:33:44:55
ターゲットアドレスを
Src IPv6 fe80::211:22ff:fe66:7788
持つノードが回答
ただし誰でもこの応答は Dst IPv6 fe80::211:22ff:fe33:4455
可能
ICMPv6 Type 136③通信開始

Target 2001:db8::211:22ff:fe66:7788
Target MAC 00:11:22:66:77:88

12© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

IPsec標準装備• IPレイヤで通信を保護– アプリケーションの改造が必要ない
アプリケ シ ンの改造が必要ない

The Internet© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

MobileIP• ユビキタスとの親和性
ビキタ と 親和性
– どこでも同じアドレスが使用可能– IPv4でのMobileIPを、より現実的なものへ
The Internet

移動しても同じアドレスが使用可能© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

LinuxでIPv6を扱うための基礎知識© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム• IPv6の主な特徴• LinuxでIPv6を扱うための基礎知識– IPv6
IPv6のアドレス表記のアドレス表記– IPv6のアドレス体系– ULAについて– ヘッダ情報について– デュアルスタックとは© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

IPv6のアドレス表記• IPv4のアドレス表記– 例）192.0.2.1
10進数で表した数字を“.”で区切って表記• IPv6のアドレス表記
ア
表記– 例）fe80:0000:0000:0000:02d0:b7ff:fea0:beea
16進数で表した数字を : で区切って表記
16進数で表した数字を“:”で区切って表記© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

IPv6における略記
fe80:0000:0000:0000:02d0:b7ff:fea0:beea• 各パートの先頭にある０は省略可能
各パ トの先頭にある０は省略可能
fe80:0000:0000:0000:2d0:b7ff:fea0:beea• 0000が連続する場合は、一度だけ “::” で省略可能
fe80::02d0:b7ff:fea0:beea
よって、fe80::2d0:b7ff:fea9:beeaと表記できることとなる© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

では以下の場合は？
• 2001:0db8:0000:0000:fff0:0000:0000:000f
2001:db8::fff0:0:0:f
2001
db8 fff0 0 0 f
ままたは
2001:db8:0:0:fff0::f注）2001:db8::fff0::fとは省略できない© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム• IPv6の主な特徴• LinuxでIPv6を扱うための基礎知識– IPv6のアドレス表記– IPv6
IPv6のアドレス体系のアドレス体系– ULAについて– ヘッダ情報について– デュアルスタックとは– DNSのIPv6対応とは© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

IPv6のアドレス体系
IPv6アドレスの分類（一例）• 挙動• 適用範囲（スコープ）
適用範囲（スコ プ）• 特殊アドレス© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

パケットの挙動による分類• ユニキャストアドレス• マルチキャストアドレス• エニーキャストアドレス
エニ キ ストアドレス© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

ユニキャストアドレス• 単一のインターフェースに割り当てられるアドレス• １対１の通信に使用される（普段はこのアドレスが使用される）© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

ユニキャストアドレス

IPv6オペレータ育成プログラム

マルチキャストアドレス• あるグループを表すアドレス– あるマルチキャストアドレス宛てにパケットをなげると、そのグル プに属するすべてのインタ
ると、そのグループに属するすべてのインターフェースに届けられる– IPv4におけるブロ
IPv4におけるブロードキャストはドキャストは、マルチキャスト
マルチキャストの１種として取り扱われる。

© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

マルチキャストアドレス
128bits
11111111

フラグ

スコープ

グループID

8

4

4

112

Bits

T=0 永久的なマルチキャストを示す
T=1 一時的なマルチキャストを示す

マルチキャストスコープ：4ビットのマルチキャストの力が及ぶ範囲は下記のマルチキャストグループに限られている。
チキ
ト
プ ビ ト
チキ
ト 力が及ぶ範囲は下記
チキ
トグ
プに限られ
る
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F

予約
ノードローカルスコープ
リンクローカルスコープ
リンクロ
カルスコ プ（アンアサインド）（アンアサインド）
サイトローカルスコープ（アンアサインド）（アンアサインド）
オーガニゼーションローカルスコープ（アンアサインド）（アンアサインド）（アンアサインド）（アンアサインド）（アンアサインド）
グローバルスコープ
リザーブド© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

マルチキャストアドレス

IPv6オペレータ育成プログラム

エニーキャストアドレス• マルチキャスト同様、あるグループを表すアド表
レス– マルチキャストとは違い、あるグル
マルチキャストとは違い あるグループに属する
プに属する
インターフェース、すべてに配送されるわけではなく どれか一つに配送されるとなく、どれかつに配送されると、それ以上は配それ以上は配送されない。

© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

エニーキャストアドレス

XIPv6オペレータ育成プログラム

適用範囲による分類• グローバルアドレス• サイトローカルアドレス（廃止）– ユニークローカルアドレス（ULA)へ
ユニ クロ カルアドレス（ULA)へ• リンクローカルアドレス© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

グローバルアドレス• IPv4でいうところのグローバルアドレスと同義。
• 全世界で一意に決まる識別子

128bits

サブネットプレフィックス

インターフェイス ID

n

128-n

Bits

© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

サイトローカルアドレス（廃止に）• IPv4でいうところのプライベートアドレス
IPv4でいうところのプライベ トアドレス• このアドレスから来るパケットは、他組織には転送されない• 問題点が多く廃止に（Unique Local IPv6
U i
Unicastt Add
Addressへ受け継がれる）受け継がれる）128bits

1111111011

0

サブネットID

インターフェイスID

10

38

16

64

Bits

Unique Local IPv6 Unicast(ULA)アドレスでは
Unicast(ULA)アドレスでは、サイトローカルアドレスとサイトローカルアドレスとは異なり、プライベートアドレス的に使えるが、ほぼ他組織と、アドレスが重複することがない© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

リンクローカルアドレス• ノードが直接繋がっているリンク内のみで有効なアドレス• 近隣にRAを投げるルータがなくても自動的に生成される。
成• よく知られたリンクローカルアドレス
よく知られたリンクロ カルアドレス• ff02::1 （マルチキャストアドレスでもある）– 同一リンク上のすべてのノードが参加している。
同 リンク上のすべてのノ ドが参加している。

• かならずスコープIDを伴って利用する必要がある。
–例
例： “ping6
p g –I eth0 ff03::1”,, “ssh fe80::dead:beaf%eth0”© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

各アドレスの適用範囲
グローバルアドレス
ユニークローカル
ユニークローカル
ユニクロ カル

ユニークローカルクカ

ユニークローカル

リンクローカル© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

特殊なアドレス• 未指定アドレス• ループバックアドレス• IPv4互換アドレス
IP 4互換アドレス• IPv4射影アドレス
射影ア© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

未指定アドレス• アドレスが付けられてないことを示します。
ドが• システムの初期化中でまだアドレスがついてないホストがソースアドレスとして使うことがある
００００：００００：００００：００００：００００：００００：００００：００００：：© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

ループバックアドレス• IPv4での127.0.0.1と同じく、ノードがパケットを自分自身に送る場合に用いられる

００００：００００：００００：００００：００００：００００：００００：０００１：：１© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

IPv4互換アドレス（廃止へ）•IPv4ネットワークにしかつながっていないIPv6ノード同士が通信する際に使用されるアドレス•利便性を考え、IPv4アドレス部は１０進数表記のままとされている例) “192.168.0.1” => “::192.168.0.1”
128bits

0000…………………………………0000

80

0000

IPv4アドレス

16

32

Bits

© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

IPv4射影アドレス•IPv6ノードが、IPv4しかサポートしていないノ ドがしかサポ トしていないノードと通信する際に使用するアドレス•利便性を考え、IPv4アドレス部は１０進数表記の利便性を考え IP 4アドレス部は１０進数表記のままとされている例）“192.168.0.1” => “::ffff:192.168.0.1”
128bits

0000
0000…………………………………0000
0000

80

FFFF

IPv4アドレス

16

32

Bits

© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム• IPv6の主な特徴• LinuxでIPv6を扱うための基礎知識– IPv6のアドレス表記– IPv6のアドレス体系– ULA
ULAについてについて– ヘッダ情報について– デュアルスタックとは– DNSのIPv6対応とは© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

Unique Local IPv6 Unicast Addresses• Globallyy uniqueq pprefix• Site boundariesで簡単にfilter• 外部(ISP等)との接続なしに使用できる• 万が一外部にアドレスを漏らしても、他と重複
万が 外部にアドレスを漏らしても、他と重複することがない• アプリケーションはグローバルアドレスと同様
アプリケ ションはグロ バルアドレスと同様にこのアドレスを取り扱える© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

Format7
Prefix41
Global ID

16
Subnet ID

64
Interface ID• Prefix
P fi：例(FC00::/7)
例(FC00 / )• Global ID ：Global Identifier• Subnet ID ：サイト内部で使用できるsubnet用ID• Interface
I t f
ID

© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

Global ID• MD5 based p
pseudo-random algorithm使用g• ２つのPrefixを想定– FC00::/8 Centrally assigned– FD00::/8 Locally assigned• Centrally assigned• Locally assigned© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

Centrally assigned• 割り当て組織が、アドレスの衝突がないことを保証する• 定期的な使用料を払うことなく、永続的に使
定期的な使用料を払うことなく 永続的に使用できる• 但し１回の割り当てで、１０ユーロ(払い戻し不可)の手数料が必要というようなことが 検討されています（まだ未決定）というようなことが、検討されています（まだ未決定）……

© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

Locally assigned• Pseudo-random algorithmによってGlobalg
ID が生成される• 割り当て組織やISPに申請等の必要無し– ULAを自分で作成するには？
• ULA Generatorが便利
http://www.kame.net/~suz/gen-ula.html© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム• IPv6の主な特徴• LinuxでIPv6を扱うための基礎知識– IPv6のアドレス表記– IPv6のアドレス体系– ULAについて– ヘッダ情報について– デュアルスタックとは– DNSのIPv6対応とは© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

ヘッダ情報について• ヘッダフォーマットが簡略化– 40バイトの固定長に（拡張ヘッダを使用）• チェックサムの廃止– UDPのチェックサムは必須© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

IPv4ヘッダ
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Bits
バ ジョン
バージョン

IHL

全パケット長

TOS

フラグ

識別子

TTL

プロトコル

フラグメントオフセット

ヘッダチェックサム

送信元アドレス

宛先アドレスオプション＋パディング© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

IPv6ヘッダ
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Bits
バージョン

フローラベルトラフィッククラス

ペイロード長次ヘッダ番号

ホップリミット

送信元アドレス

宛先アドレス

•IPv4に比べ簡略化されている•オプションが廃止された代わりに拡張ヘッダが用意されている© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

拡張ヘッダ• 中継オプションヘッダ
中継オプシ
ダ– パケットの配送経路上のすべてのノードにおいて、参照される必要がある
情報が含まれる• 終点オプションヘッダ
– 終点ノードでのみ参照されるオプションが含まれる• 経路制御ヘッダ– 支店から終点へパケットが伝送される際に、訪れるべき中継ノードの一覧が含まれる• 断片ヘッダ– パケットが分割されていることを示す。IPv4とは違い、途中ルータでパケッ
トが分割されることはない。

• 認証ヘッダ
認証ダ• 暗号ペイロードヘッダ– この２つはIPレベルでセキュアな通信を行うためにIPsecにおいて使われる© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

数珠繋ぎ構造の拡張ヘッダ
IPv6

TCP

ヘッダ

ヘッダ

アプリケーションデータ

次のヘッダ
= TCP

IPv6
ヘッダ

ルーティングヘッダ

次のヘッダ= ルーティング

IPv6
ヘッダ

TCP

アプリケーションデータ

ヘッダ

次のヘッダ
= TCP

ルーティングヘッダ

フラグメント
ヘッダ

次のヘッダ
次のヘッダ
= ルーティング
= フラグメント

TCP
ヘッダ

アプリケーションデータ
(フラグメント)

次のヘッダ
= TCP
© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

拡張ヘッダ詳細• 基本型
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Bits
オプションタイプ

Opt Data Len

オプションデータ© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

中継点オプションヘッダ
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Bits
Hdr Ext Len

オプション

・・・

・・・

次のヘッダ

•IPパケットが通過する
IPパケットが通過する、すべてのノ
すべてのノードにおいて処理されるオプション
ドにおいて処理されるオプション© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

終点オプションヘッダ
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Bits
次のヘッダ

Hdr Ext Len

・・・

・・・

オプション

•終点ノードでのみ処理されるオプション
終点
ド
処 されるオプ© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

経路制御
経路制御ヘッダダ
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Bits
Next Header

ルーティングタイプ

Hdr Ext Len

Segment Left

Reserved

アドレス[1]ド[ ]アドレス[2]

・・・

・・・

・・・

アドレス[n]•通過すべきノードを、明示的に指定する場合に使用するオプション© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

断片ヘッダ
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Bits
次のヘッダ

Reserved

フラグメントオフセット

Res M

Identification© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

認証ヘッダ
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Bits
次ヘッダ番号

ペイロ ド長ペイロード長R
Reservedd

セキュリティパラメーターインデックス (SPI)
シーケンスナンバー

・・・

・・・

認証データ

•通信相手を認証するためのオプション（IPsecで使用される）© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

暗号化ペイロード
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Bits
セキ リテ パラメ タ ズインデ クス（S )セキュリティパラメーターズインデックス（SPI)

シーケンスナンバー

・・・

・・・

ペイロードデータ（バリエイブル）
ペイロードデータ

パディング（0-255octets）
パッド長

・・・

・・・

オーセンティケーションデータ

次ヘッダ番号•通信相手と、暗号化されたデータ通信を行う際に使用されるオプション（IPsecにおいて使用される）

IPv6オペレータ育成プログラム推奨される拡張ヘッダの順序
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Bits
ペイロード長イロ ド長フローラベル次ヘッダ番号
次
ッダ番号
送信元アドレス
宛先アドレス

ホップリミット

IPv6 ヘッ
ッダ

トラフィッククラス

Hop-by-Hop オプションヘッダ
ルーティングヘッダ
フラグメントヘッダ
終点オプションヘッダ
認証 ヘッダ
ダ

拡張
張ヘッダ

バージョン

暗号ペイロードヘッダ
終点オプションヘッダ
上位層ヘッダ© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム• IPv6の主な特徴• LinuxでIPv6を扱うための基礎知識– IPv6のアドレス表記– IPv6のアドレス体系– ULAについて– ヘッダ情報について– デュアルスタックとは– DNSのIPv6対応とは© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

デュアルスタックということ
ノードは、IPv6/IPv4の両方のアドレスを持ち、そのどちらでも通信が可能
www.example.com.
mail example com
mail.example.com.

IN
IN
IN

A
192.0.2.1
A
192 0 2 1
192.0.2.1
AAAA 2001:db8::1• AAAAってなに？
な– DNSのレコードのひとつで、IPv6アドレスが格納さ
Sのレコ ドのひと で、アドレスが格納される。
© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

TCPコネクション確立①アドレスを引く②AAAA RR, A RRが返る③IPv6で接続④IPv6で接続できないと、IPv4へフォールバック
The Internet①②

IP 6ノ ド
IPv6ノード③④

AAAA/Aを持つサイト
を持イ© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

プログラムからその挙動を見てみる#include <stdio.h>#i l d <#include<sys/types.h>/th>#include <sys/socket.h>#include <netdb.h>• IPv6対応とは、
IPv6対応とはアドレスファミリ
独立なネ
独立なネットワークプログラミ
ングをするのと同義

int sock,err;
struct addrinfo hints, *res0, *res;memset(&hints, 0, sizeof(hints));
hints.ai_family = PF_UNSPEC;hints.ai_socktype = SOCK_STREAM;/* getaddrinfo で、AAAAおよびAレコードを取得*/
err = getaddrinfo("www.linux-ipv6.org",
getaddrinfo("www linux ipv6 org" "http""http", &hints&hints, &res0);

if (err) {fprintf(stderr, "error : %s", gai_strerror(err));
freeaddrinfo(res0);
exit(1);}/* getaddrinfoの結果を利用し、接続が成功するまで試行する */for (res = res0; res; res = res->ai_next) {sock = socket (res->ai_family, res->ai_socktype, res->ai_protocol);if (sock < 0)continue;if (connect(sock, res->ai_addr, res->ai_addrlen) < 0) {close (sock);continue;}break;}
freeaddrinfo(res0);・・・© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム• IPv6の主な特徴• LinuxでIPv6を扱うための基礎知識– IPv6のアドレス表記– IPv6のアドレス体系– ULAについて– ヘッダ情報について– デュアルスタックとは
– DNS
DNSの
のIPv6
IPv6対応とは
対応とは© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

DNSのIPv6対応とは• 保持できるRRの対応– AAAAを返す• 逆引きは、同じくPTRだが、”in-addr.arpa”に対して、逆引きは 同じくPTRだが ”i dd”に対して “ipv6.arpa”“i 6”を利用。ipv6.arpaではなく、ipv6.int が使われていたこともあったが、いまは使われない。

– bind8.4 以上またはbind9で対応• IPv6
6 ttransportへの対応
a spo t の対応– クエリの送受信をIPv6プロトコルを用いて行う。
– 自身のFQDNに、AAAAが登録される。
※AAAAは、IPv4ネットワークを通じて、返信することも可能なので、DNSサーバがIPv6に対応しました！というのは上記のどちらの話なのか（もしくは両方なのか）、に留意する必要がある。
ましたというのは上記のどちらの話なのか（もしくは両方なのか）、に留意する必要がある。

© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

DNSクエリに関するOSの対応• DNSリゾルバの改良（IPv4通信の品質を保つため）– Aレコード解決を優先する（FreeBSD、Windows
Aレコ ド解決を優先する（F BSD Wi d
ViVista）t ）• IPv6が優勢になった時に問題になる可能性あり– Aレコード解決時にNXDOMAINならAAAAレコード解決をし
解決時
な
解決を
ない（Windows Vista）– Aレコードのレスポンス時間によりAAAAレコードの処理待ち時間を決定（FreeBSD Windows Vista）
ち時間を決定（FreeBSD、Windows• AAAAレコードがない場合のタイムアウト時間を小さくするため• AAAAレコード解決の抑制– グローバルIPv6アドレスが付与されない限りAAAAクエリによる名前解決は実施しない（Windows Vista）
66© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

DNSクエリの順序• クエリ順序はOSで異なる– FreeBSD‐5.5R• IPv4の名前解決とIPv6の名前解決を交互に繰り返し名前
解決が き 時点 終解決ができた時点で終了– Windows XP SP2• まずIPv6の名前解決を全て実施し次にIPv4の名前解決を全て実施– Windows
Wi d
Vi
Vista
t
• まずIPv4の名前解決を全て実施し次にNXDOMAINが返されたもの以外の全てに関してIPv6の名前解決を実施
67© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

LinuxにおけるIPv6設定およびその確認• ネットワーク設定の基礎– ルーティングの基礎の基礎
ル ティングの基礎の基礎– IPv4/IPv6アドレスの設定・確認– IPv4/IPv6経路の確認
IP 4/IP 6経路の確認– Bondingについて– 各種設定ファイルについて– トンネリングについて• 稼働状況の確認方法© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

LinuxにおけるIPv6設定およびその確認• ネットワーク設定の基礎–ルルーティングの基礎の基礎
ティングの基礎の基礎– IPv4/IPv6アドレスの設定・確認– IPv4/IPv6経路の確認
IP 4/IP 6経路の確認– Bondingについて– 各種設定ファイルについて– トンネリングについて• 稼働状況の確認方法© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

ネットワーク設定の基礎• インターネットでは、データはIPパケット（小包）に包まれて目的地までバケツリレ で配送されて包まれて目的地までバケツリレーで配送されていく– 宛先、差出人に書く住所が、IPアドレス

IPアドレス© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

パケットが転送される仕組み

Application Layer

Application Layer

Transport Layer

Transport Layer

Network Layer

L3 Layer

L3 Layer

Network Layer

Data Link Layer

L2 Layer

L2 Layer

Data Link Layer

Physical Layer

L1 Layer

L1 Layer

Physical Layer

RouterRouter© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

クラスフルな世界
従来はIPアドレスはクラスに分けられていた

IP Address Range

netmask

lengthクラスA

1 0 0 0-126
1.0.0.0
126.255.255.255
255 255 255

255 0 0 0
255.0.0.0

/8

クラスB

128.0.0.0-191.255.255.255.255 255.255.0.0

/16

クラスC

192.0.0.0-223.255.255.255/24

例：クラスB

255.255.255.0

128.2.0.0/16

128.2 .

0. 0

ネットワークアドレス
ネットワ
クアドレス

ホストアドレス
２^16-2 =65534台分のアドレス© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム
例：クラスB

サブネットの登場

128.2 .
ネットワークアドレス

0. 0
ホストアドレス

例：サブネットの仕組みを使ってネットワーク部分を拡張
例：サブネットの仕組みを使ってネットワ
ク部分を拡張128.2.100 . 0
ネットワークアドレス

l thlengthS b netmask
Sub
t
k

ホスト数

/16

255.255.0.0

65534

/17

255.255.128.0

32766

/18

255 255 192 0
255.255.192.0

16382

/19

255.255.224.0

8190

/20

255.255.240.0

4094

/21

255.255.248.0

2046

/22

255.255.252.0

1022

/23

255.255.254.0

510

/24

255.255.255.0

254

/25

255.255.255.128

126

/26

255.255.255.192

62

/27

255.255.255.224

30

/28

255.255.255.240

14

/29

255.255.255.248

6/30

255.255.255.252

2

ホストアドレス2^8-2=254台分のホストアドレスが利用可能© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

IPv6では？
• もちろんクラスレス• Netmaskに関しては、サNetmaskに関しては サーバとして利用する
バとして利用する
限りは、/64固定と考えてよい。
128bits

サブネットプレフィックス

インターフェイス ID

64bit

64bit

Bits

© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

ルーティングの基礎の基礎• ここで取り扱うのは静的経路– ルーティングはlongest prefix match– 一般的に動的経路より静的経路の方が強い
般的 動的経路
静的経路 方が強– 一般的に静的経路より直接接続の方が強い
192.0.2.254

間違ったネットワーク図：この場合どうなる？

192 0 2 0/24
192.0.2.0/24

eth0:
th0 192
192.0.2.1
021

192.0.0.0/8

eth1

network

Next hop

MetircInterface0.0.0.0/0

192.0.2.254

0

eth0

192 0 2 0/24
192.0.2.0/24

0000
0.0.0.0

0

eth0
th0

192.0.0.0/8

0.0.0.00

eth1© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム• ネットワーク設定の基礎– ルーティングの基礎の基礎
ル ティングの基礎の基礎– IPv4/IPv6
IPv4/IPv6アドレスの設定・確認
アドレスの設定・確認– IPv4/IPv6経路の確認
IP 4/IP 6経路の確認– Bondingについて– 各種設定ファイルについて– トンネリングについて• 稼働状況の確認方法© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

IPアドレスの設定• IPアドレスを設定するには、以下のコマンドがドドが知られている。
– ifconfig• 書式： ifconfig interface [aftype] options | address …

– ip• 書式：ip
書式 i [OPTIONS] OBJECT { COMMAND | helph l }© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

IPv4アドレスの設定 – ifconfig • IPv4アドレスの設定例
IP 4アドレスの設定例
IPv4 アドレスの設定# ifconfig eth0 192.0.2.1 netmask 255.255.255.0
設定確認# ifconfig eth0p
HWaddr 00:00:XX:XX:XX:XX
eth0
Link encap:Ethernet
inet addr:192.0.2.1 Bcast:192.0.2.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:169
インタフェースを上げる# ifconfig eth0 up
インタフェースを落とす# ifconfig eth0 down

© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

IPv6アドレスの設定 – ifconfig • IPv6アドレスの設定例
IP 6アドレスの設定例
IPv6 アドレスの設定（事前にinterfaceを upしておく必要がある）# ifconfig eth0 add 2001:db8::80/64
IPv6アドレスの削除# ifconfig eth0 del 2001:db8::80/64
設定確認# ifconfig eth0
eth0
Link encap:Ethernet HWaddr 00:XX:XX:XX:XX:XX
inet addr:192.0.2.1 Bcast:192.0.2.255 Mask:255.255.255.0
inet6 addr: 2001:db8::80/64 Scope:Global
inet6 addr: fe80::2d0:xxxx:xxxx:xxxx/64 Scope:Link
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:169
インタフェースを落とす(IPｖ6の場合は、落とすとグローバルアドレスが消える）
インタフ
スを落とす
の場合は 落とすとグロ バルアドレスが消える）# ifconfig eth0 down
© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

IPv4/IPv6アドレスの設定 – ipコマンド –IPv4/IPv6アドレスの設定# ip addr add 192.0.2.1/24 dev eth0
# ip addr add 2001:db8::80/64 dev eth0
設定確認
# ip addr show dev eth0
3: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
inet 192.0.2.1/24 brd 192.0.2.255 scope global eth0
inet6 fe80::202:xxx:xxx:xxx:xxx/64 scope link
valid_lft forever preferred_lft foreverinet6 2001:db8::80/64 scope global
valid_lft forever preferred_lft forever
インタフェースを上げる# ip link set eth0 up
インタフェースを落とす# ip link set eth0 down

© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

IPv4/IPv6アドレスの設定 / lifetime# ip addr show dev eth0
3: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
inet 192.0.2.1/24 brd 192.0.2.255 scope global eth0
inet6 fe80::202:xxx:xxx:xxx:xxx/64 scope link
valid_lft forever preferred_lft foreverinet6 2001:db8::80/64 scope global
valid_lft forever preferred_lft forever© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

IPv4/IPv6 L2アドレスの確認
IPv4の場合：ARPコマンドの代わりに# ip -4 neigh show
192.0.2.1 dev eth0 lladdr 00:00:XX:00:XX:XX REACHABLE
IPv6の場合：# ip -6 neigh show
2001:db8:0:1::dead:beaf dev eth0 lladdr 00:00:XX:XX:XX:XX router REACHABLE
fe80::XXX:XXXX:XXXX:XXXX dev eth0 lladdr 00:00:XX:XX:XX:XX router REACHABLE© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

routeコマンドによる経路の設定および確認
Default経路の設定# route add –A inet default gw 192.0.2.254 dev eth0
# route add –A inet6 default gw fe80:x:x:x:x:x dev eth0
ネットワーク別経路の設定# route add –net 192.0.2.0 netmask 255.255.255.0 gw 192.168.0.1 dev eth0
# route add –A inet6 2001:db8::/64 gw fe80::2d0:b7ff:fea0:beea dev eth0
経路の確認
# route -n –A inet6# route –n –A inet

© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

ipコマンドによる経路の設定および確認

Default経路の設定# ip route add default via 10.0.0.1 dev eth0
# ip
i routet add
dd ddefault
f lt via
i ffe80::202:b3ff:fe32:faa2
80 202 b3ff f 32 f 2 dev
d
eth0
th0
ネットワーク別経路の設定# ip
p route add 192.0.2.0/24/
via 10.0.0.1 dev eth0
# ip route add 2001:db8::/48 via fe80::202:b3ff:fe32:faa2 dev eth0
経路の確認
# ip
i -4
4 routet showh# ip -6 route show

© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム• ネットワーク設定の基礎– ルーティングの基礎の基礎
ル ティングの基礎の基礎– IPv4/IPv6アドレスの設定・確認– IPv4/IPv6経路の確認
IP 4/IP 6経路の確認– Bonding
Bondingについてについて– 各種設定ファイルについて– トンネリングについて• 稼働状況の確認方法© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

bonding• ネットワークの冗長化などで利用される。
– IPv6でも、特に動作に問題はない。

• Active-backupで冗長化した例
Active backupで冗長化した例/etc/modprobe d/bonding/etc/modprobe.d/bonding
alias bond0 bondingoptions
bond0 miimon=100 mode=1

eth0

eth1

bond0

確認
$ cat /proc/net/bonding/bond0© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム• ネットワーク設定の基礎– ルーティングの基礎の基礎
ル ティングの基礎の基礎– IPv4/IPv6アドレスの設定・確認– IPv4/IPv6経路の確認
IP 4/IP 6経路の確認– Bondingについて– 各種設定ファイルについて– トンネリングについて• 稼働状況の確認方法© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

設定ファイルについて（共通）
名前解決に関するファイル
名前解決に関するフイル/etc
hosts - IPアドレスとホスト名の対応表
ア
ホ
名 対 表
resolv.conf – リゾルバ設定ファイル
h thost.conf
f – リゾルバ設定ファイル
リゾルバ設定フ イル
127.0.0.1

hoge.example.jp

localhost hoge

# The following lines are desirable for IPv6 capable hosts::1
ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00 0 i
ff00::0
ip6-mcastprefix
6tfi
ff02::1 ip6-allnodes
search example.jp
ff02::2 ip6-allroutersnameserver 192.0.2.254
ff02::3 ip6-allhosts
order hosts,bindmulti on© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

設定ファイルについて（共通）
サービス名などの解決に関するファイル
サ
ビス名などの解決に関するファイル/etc
services : ネットワークサービスリスト
protocolstl : プロトコル定義ファイル
プロトコル定義フ イル
tcpmuxecho
echo
discarddiscardsystatdaytimedaytimenetstat
qotd
msp
msp
p
chargenchargen
ftp-data
ftp
fsp
ssh
ssh
～省略～

1/tcp
7/tcp
7/udp
9/tcp
9/udp
11/tcp13/tcp13/udp15/tcp17/tcpip 18/tcp
0
18/udp#hopopt 0p
icmp19/tcp
1
19/udpigmp
220/tcpggp
3
21/tcpipencap4
st 21/udp
5
22/tcptcp
6
22/udpegp
8# TCP port service multiplexer

sink nullsink null
users

quote
# message
send protocolIP# internet
protocol,pseudo protocol number
HOPOPT# IPv6 Hop-by-Hop
Hop by Hop Option [RFC1883]
ICMPttytst source# internet control message protocol
IGMPttytst source# Internet Group Management
GGP# gateway-gateway protocol
IP-ENCAP# IP encapsulated in IP (officially ``IP'')
fspd
ST# ST datagram mode
# SSH Remote Login Protocol
TCP# transmission control protocol
EGP# exterior gateway protocol© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

設定ファイルについて
CentOS/etc
sysconfig
yg
network : ネットワークオプション設定など
network-scripts

Debianifcfg-{dev} : ネットワークインターフェース設定

/ t
/etc
network
options : ネットワークオプション設定
interfaces : ネットワークインターフェース設定
ッ
クイ タ
設定
※１最近のDebian/Ubuntuでは、network-managerパッケージがインストールされていると、設定が反映されない。
© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

CentOSのネットワーク設定/etc/sysconfig/network
HOSTNAME=hoge.example.jp# IPv4NETWORKING=yes
GATEWAY=192.0.2.254#IPv6
NETWORKING_IPV6=yes
IPV6_DEFAULTGW=fe80::xxxx%eth0#IPV6_AUTOCONF=no#IPV6FORWARDING=no
HOSTNAMEFQDNを記述NETWORKING
yes: rcスクリプトである
クリプト ある network を実行
GATEWAY
IPv4ネットワークのdefault gatewayを指定
NETWORKING_IPV6
yes: IPv6ネットワークを有効化
ネ ト
クを有効化
IPV6_DEFAULTGW
IPv6ネットワークのdefault gatewayを指定© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

CentOSのネットワーク設定/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
ONBOOT
yes
NETWORK=192.0.2.0
NETMASK=255.255.255.0
IPADDR=192.0.2.1
IPV6INIT yes
IPV6INIT=yes#IPV6_AUTOCONF=no
IPV6ADDR=2001:db8::80/64
ETHTOOL_OPTS="autoneg off speed 100 duplex full"

DEVICE
物理インタフェース名
BOOTPROTO
none : 使用しない
bootp: BOOTPを使用
dhcp : DHCPを使用
ONBOOTyes : 起動時に有効
no : 起動時には無効

IPADDRyes : 起動時に有効
no : 起動時には無効
NETWORK
ネットワークアドレスを指定
NETMASK
ネットマスクを指定

IPV6INIT
yes: IPv6の初期化を有効
No : IPv6の初期化を無効
IPV6ADDR
IPv6アドレス/ネットマスク
ETHTOOL_OPTS
ethtoolへのオプションを指定© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

Debianのネットワーク設定(廃止)/etc/network/options
ip_forward=nospoofprotect=yes
syncookies=noki
ip_forward
yes: LinuxをRouterとして利用する際に設定
spoofprotect
yes: Reverse Pathが検証される。Stub networkにつながっている
場合は設定を推奨
syncookies
yes: TCP syn flooding attack対策のため、cookieを発行するようになる。
/etc/network/optionsは廃止になったため、これらは、/etc/sysctl.conf に記述/etc/sysctl.conf
net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp filter = 1
net.ipv4.conf.default.rp_filter
net.ipv4.conf.all.rp_filter = 1
net.ipv4.tcp_syncookies = 1© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム/etc/network/interface

Debianのネットワーク設定

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.0.2.1
192 0 2 1
netmask 255.255.255.0
gateway 192.0.2.254# dns-serarch example.jp# dns-nameserversd
192 0 2 254
192.0.2.254
up ethtool -s eth0 autoneg off speed 100 duplex fulliface eth0 inet6 static
address
dd
2001:db8::80
2001 db8 80
netmask 64
gateway fe80::xxx%eth0
pre uppre-up
インタフェースをupさせる前に実行するコマンド
up
インタフェースをupしたときに実行するコマンド
post-up
post
up
インタフェースをupした後に実行するコマンド

pre down
pre-down
インタフェースをdownさせる前に実行するコマンド
down
インタフェースをdownした時に実行するコマンド
post-down
post
down
インタフェースをdownした後に実行するコマンド

Also See man interfaces© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム• ネットワーク設定の基礎– ルーティングの基礎の基礎
ル ティングの基礎の基礎– IPv4/IPv6アドレスの設定・確認– IPv4/IPv6経路の確認
IP 4/IP 6経路の確認– Bondingについて– 各種設定ファイルについて– トンネリングについて• 稼働状況の確認方法© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

トンネリングについて• トンネルはpoint-to-point接続– 自分宛てじゃなければ、相手側のアドレスだと、自分宛てじゃなければ 相手側のアドレスだと普通は判断する。
– ネットワークには、/64を割り振ることが基本
ネットワ クには /64を割り振ることが基本• ということは？下のネットワークに、
2001:db8:20:1000::3のパケットが投げられると……
2001:db8:20:1000::3のパケットが投げられると
2001:db8:20:1000::/64

2001:db8:20:1000::1

2001:db8:20:1000::2© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム• ネットワーク設定の基礎– ルーティングの基礎の基礎
ル ティングの基礎の基礎– IPv4/IPv6アドレスの設定・確認– IPv4/IPv6経路の確認
IP 4/IP 6経路の確認– Bondingについて– 各種設定ファイルについて– トンネリングについて• 稼働状況の確認方法© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

接続確認• 簡単な接続確認方法– pingを用いた疎通確認– tracerouteを用いた疎通確認• tracerouteでわかるのは行きの経路だけ。

行きと帰りで経路が違うことも……
© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

Ping(ICMP)による疎通確認• Default gatewayに対してpingを打ってみる
IPｖ4経路の疎通性確認$ pingi-c 10 192
192.0．2.254
0 2 254
PING 192.0.2.254 (192.0.2.254) 56(84) bytes of data.
64 bytes from 192.0.2.254: icmp_seq=1 ttl=255 time=2.09 ms
64 bytesyfrom 192.0.2.254: icmp
p_seq=2qttl=255 time=2.04 ms
64 bytes from 192.0.2.254: icmp_seq=3 ttl=255 time=4.30 ms
64 bytes from 192.0.2.254: icmp_seq=4 ttl=255 time=2.00 ms
64 bytes from 192.0.2.254: icmp_seq=5 ttl=255 time=2.01 ms
64 bytesb t
fromf
192.0.2.254:
192 0 2 254 icmp_seq=6i
6 ttl=255
ttl 255 time=2.02
ti
2 02 ms
64 bytes from 192.0.2.254: icmp_seq=7 ttl=255 time=2.03 ms
64 bytes from 192.0.2.254: icmp_seq=8 ttl=255 time=2.62 ms
64 bytesyfrom 192.0.2.254: icmp
p_seq=9qttl=255 time=3.84 ms
64 bytes from 192.0.2.254: icmp_seq=10 ttl=255 time=4.77 ms--- 192.0.2.254 ping statistics --10 packets
k t transmitted,t
itt d 10 received,
i d 0% packet
k t loss,
l
time
ti
9036
9036msrtt min/avg/max/mdev = 2.009/2.776/4.774/1.038 ms© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

Ping(ICMP)による疎通確認• Default gatewayに対してpingを打ってみる
IPｖ6経路の疎通性を確認$ ping6 -c 10 fe80::2000:1 -I eth0
PING fe80::2000:1(fe80::2000:1)
f 80 2000 1(f 80 2000 1) f
from ffe80::2d0:b7ff:fea0:beea
80 2d0 b7ff f 0 b
eth1: 56 data bytes
64 bytes from fe80::2000:1: icmp_seq=1 ttl=64 time=2.38 ms
64 bytesyfrom fe80::2000:1: icmp
p_seq=2qttl=64 time=7.71 ms
64 bytes from fe80::2000:1: icmp_seq=3 ttl=64 time=7.47 ms
64 bytes from fe80::2000:1: icmp_seq=4 ttl=64 time=2.41 ms
64 bytes from fe80::2000:1: icmp_seq=5 ttl=64 time=2.39 ms
64 bytesb t
fromffe80::2000:1:
f 80 2000 1 i
icmp_seq=6
6 ttl
ttl=6464 time=3.91
ti
3 91 ms
64 bytes from fe80::2000:1: icmp_seq=7 ttl=64 time=5.00 ms
64 bytes from fe80::2000:1: icmp_seq=8 ttl=64 time=2.29 ms
64 bytesyfrom fe80::2000:1: icmp
p_seq=9qttl=64 time=2.30 ms
64 bytes from fe80::2000:1: icmp_seq=10 ttl=64 time=2.32 ms--- fe80::2000:1 ping statistics --10 packets
k t transmitted,t
itt d 10 received,
i d 0% packet
k t loss,
l
time
ti
9036
9036msrtt min/avg/max/mdev = 2.292/3.822/7.711/2.069 ms© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

速度がでない？
• そんなときには、Ethernet
そんなときには Etht Cardがちゃんと
C dがち んと
Full Duplex(全二重通信）になっているかを確認
現在の設定確認# ethtool eth0
Full-duplex固定に設定# ethtool -s eth0 autoneg off speed 100 duplex full

現在の設定確認確# mii-tool eth0
Full duplex固定に設定
Full-duplex固定に設定# mii-tool -F 100baseTx-FD eth1
© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

sysctlによる制御• IPv6の自動設定については、インター
IPv6の自動設定については インタ
フェースがUPした時に実行されるので、不要な場合は事前に無効化しておく# sysctl –w net.ipv6.conf.eth0.accept_ra=0• TCP Syny flooding
g attack対策# sysctl –w net.ipv4.tcp_syncookies=1• Broadcast宛のICMPを無視# sysctl
tl –w net.ipv4.icmp_echo_ignore_broadcasts
t i 4 ih ibdt
© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

稼動状況確認© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

サーバの稼動状況確認• どんなプログラムが起動しているのか？
– psコマンド# ps aux | less

• どんなポートをListenしているのか？
どんなポ トをる か– netstat– fuser© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

サーバの稼働状況確認(netstat)• Netstatを用いて、サーバのListenポートを表示させる
N t t tを用いて サ バのLi t ポ トを表示させる
オプション例-l, --listening
接続待ち状態にあるソケットのみを表示する-p, --program
各ソケットが属しているプログラムのPIDと名前が表示される-n,, --numeric
ホスト、ポート、ユーザなどの名前を解決せずに、数字のアドレスで表示する。
-t,--tcp
tcpに関する情報を表示-u,--udp
udpに関する情報を表示© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

サーバの稼働状況確認(netstat)
実行例# netstat -ltupn
Proto Recv
Recv-Q
Q Send-Q
Send Q Local Addresstcp
0
0 127.0.0.1:993
tcp
00 127.0.0.1:111
tcp
00 192.0.2.1:53
tcp
00 127.0.0.1:53
tcp
0
0 0
0.0.0.0:5432
0 0 0:5432
tcp
0
0 0.0.0.0:25
tcp
00 127.0.0.1:953
tcp6
0
0 :::80tcp6
00 :::53
tcp6
0
0 :::22tcp6
00 :::5432
udp
0
0 0.0.0.0:32768
udp
0
0 127.0.0.1:161
udp
p0
0 192.0.2.1:53
udp
0
0 127.0.0.1:53
udp
0
0 127.0.0.1:111
udp6
0
0 :::32769
udp6
0
0 :::53

Foreign Address
0.0.0.0:*
0.0.0.0:*
0.0.0.0:*
0.0.0.0:*0
0.0.0.0:*0 0 0:*
0.0.0.0:*
0.0.0.0:*
:::*
:::*
:::*
:::*
0.0.0.0:*
0.0.0.0:*
0.0.0.0:*
0.0.0.0:*
0.0.0.0:*
:::*
:::*

State
LISTENLISTENLISTENLISTENLISTENLISTENLISTENLISTENLISTENLISTENLISTEN

PID/Program name3785/famd
3175/portmap
3380/named
3380/named
3619/postmaster3596/master
3380/named
11254/apache2
3380/named
3659/sshd
3619/postmaster
3380/named
3653/snmpd
3380/named/
3380/named
3175/portmap
3380/named
3380/named※”-A”でアドレスファミリーを指定することも可能(inet or inet6)© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

netstatによる注意点• netstat で表示される文字幅の制限から、
IPv6アドレスが一定長を超えると、表示されなくなる（丸められる）• Debianパッケージの net-tool_1.60-22以降
であれば ” W/ id ”オプシ ンで 対応可であれば、”-W/--wide”オプションで、対応可能© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

ssで稼働状況確認• ほぼ引数は netstatと同様だが、IPv6アドレ
スが、丸められることはない$ ss -ltun
ltun
Netid Recv-Q Send-Q
tcp
0
50
tcp
0
128
tcp
0
128
t
tcp
0
5
tcp
0
3
tcp
0
3
tcp
0
3
tcp
0
128
tcp
0
128
tcp
0
128
tcp
0
128
tcp
0
100
tcp
0
100
tcp
0
3

Local Address:Port
127.0.0.1:3306
*:111
:::80
127
127.0.0.1:33843
0 0 1 33843
192.0.2.136:53
127.0.0.1:53:::53
127.0.0.1:631
127.0.0.1:5432::1:953127.0.0.1:953
:::25
*:25
:25
*:1723Peer Address:Port
*:*
*:*
:::*
*
*:*
*
*:*
*:*
:::*
*:*
*:*
:::*
*:*
:::*
*:*
:
*:*

© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

サーバの稼働状況確認(fuser)• ｆuserを用いてサーバのListenポートから
バ
ポ
Listenしているプロセスを特定する。
# fuser -vn tcp 80

80/tcp:USER
root
www-data
www-data
www-data
www-data
www-data
wwwdata
www-data
www-data
www-data

PID ACCESS COMMAND
4699 F.... apache
4706 F.... apache
4707 F.... apache
4708 F.... apache
4709 F.... apache4710 F.... apache
8407 F.... apache
8408 F.... apache
8409 F.... apache© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

基礎サービスの設定について• DNS(bind9)• SMTP(postfix)• ＰＯＰサーバ（dovecot)• Apache• NTP© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム• DNS(bind9)• SMTP(postfix)• ＰＯＰサーバ（dovecot)• Apache• NTP© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

DNS• BIND9のIPv6 transportを有効にするには、
plisten-on-v6を指定する。
options {directory "/var/named";
listen-on-v6 { any; };…
..
.

© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

DNS• ACL設定例– IPv4と同様に、生アドレスが記載可能
acl “slaves” {192.0.2.1;
2001:db8::53;
127.0.0.1;::1;};// slave server// slave server// for debug// for debug© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

DNS• AAAA RR登録例;; Server;;
e ample jp
example.jp
www
IN
A
www
IN
AAAA

192.0.2.1
2001:db8::1• AAAA RR確認
$ didig www.example.jp
l j AAAA© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

DNS• IPv6の逆引き設定;; IPv6 PTR for 2001:db8::/64
zone “0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ipv6.arpa” {type master;
file “2001.0db8.0000.000.reverse”;
allow-transfer { slaves; };allow-query { any };}1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0

IN

PTR

www.example.jp.

• IPv6の逆引き設定確認
確$ dig –x 2001:db8::1© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

DNS:リゾルバでの指定• IPv4と同様、/etc/resolv.conに直接、IPv6ア
ドレスを記述する。
ドレスを記述する
search example.jp
nameserver 192.0.2.254
nameserver 2001:db8::53© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム• DNS(bind9)• SMTP(postfix)• ＰＯＰサーバ（dovecot)• Apache• NTP© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

postfixをIPv6対応に• /etc/postfix/main.cf
p# inet_protocols = ipv4
# inet_protocols = ipv4, ipv6 # allと等価です# inet_protocols
i tt
l = ipv6
i 6
inet_protocols = all

これだけ……

© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

Listenするアドレスを制限• /etc/postfix/main.cf
p# inet_interfaces = alll
# inet_interfaces = loopback-only
inet_interfaces = 127.0.0.1, [::1], [2001:db8::25]© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

送信時のアドレスを固定• /etc/postfix/main.cf※p
smtｐ_bind_address6 = 2001:db8::25※master.cfでも利用可能です。
© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム[]で囲む必要のあるもの• mynetworksやdebug_peer_listのように、
yg_p _Postfixマッチリストを設定する場合、
type:table 形式と混乱しないためにも、IPv6“type:table”形式と混乱しないためにも、IPv6
アドレスは、[]で囲う必要があります# mynetworks = hash:/etc/postfix/network_table
mynetworks = 127.0.0.0/8
12 0 0 0/8 [::1]/128
1 /128© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム• DNS(bind9)• SMTP(postfix)• ＰＯＰサーバ（
ＰＯＰサーバ（dovecot)
dovecot)• Apache• NTP© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

DovecotのIPv6化• 特別な設定は不要。CentOS5系に付属のDovecotでは、Listenアドレスの指定に関して、あまり複雑な指定はできない。
• /etc/dovecot.conf# “*”を指定すると、すべてのインタフェースのIPv4アドレスを# Listenする#Listen = *## “[::]”を指定すると、すべてのインタフェースのIPv6アドレスを# Listenする。ＯＳによっては、すべてのインタふぇすのIPv4も# Listenする。
#Listen = [::]© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム• DNS(bind9)• SMTP(postfix)• ＰＯＰサーバ（dovecot)• Apache• NTP© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

Apacheの設定• 実は、特別なことはなにもない– Apache2.0系からIPv6に対応– 以降は、IPv6依存部分について言及
以降は IPv6依存部分について言及© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

Listenアドレスは、IPv4の場合と異なり、[] で括る必要がある

Listen [2001:db8::a00:20ff:fea7:ccea]:80© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

ACL / アドレスによるアクセス制御• 2001:db8:0:1000/64とはできないので注意。きちんとネ ト
ちんとネットワークアドレスを指定してやる必要がク ドを指定し やる必要がある
AuthName “Staff Only”
AuthType BasicAuthUserFile
ut Usee “/var/www/www.example.jp/.htpasswd”/ a //.e a p e.jp/. tpass d
Require valid-user
Order Deny,Allow
Deny from all
Allow from 192.168.1.1
Allow from 2001:db8:0:1000::/64
S ti f A
Satisfy
Any© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

アドレスベースのVirtualHost
Listenと同様に、アドレスは、IPv4の場合と異なり、[] で括る必要がある#<VirtualHost *:80><VirtualHost [2001:db8:0:1000::80]:80>[]
ServerName www.example.co.jp…
..
.
</VirtualHost>© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

アクセスログ
下記は、一般的な出力ログの例
2001:db8:0:1000:211:24ff:dead:beaf - - [04/Nov/2008:09:30:59 +0900] "GET /favicon.ico HTTP/1.1" 404 272
192 0 2 1 - - [04/Nov/2008:09:35:59
192.0.2.1[04/N /2008 09 35 59 +0900]
0900] "GET /favicon.ico/f i
i HTTP/1.1"
HTTP/1 1" 404 272※LinuxでApacheを動かすと、IPv6のsocketが、IPv4接続も処理しているが、ログにでるIPv4アドレスは、::ffff:192.0.2.1ではなく、
192 0 2 1となっている
192.0.2.1となっている© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

設定ファイルなどのレイアウト例
サーバ設定ファイル/etc/apache
httpd.conf

データファイル/var/www/www.example.com/

htdocsconf
cgi-bin
error
icons
logs

Includeで下記で設定されるVirtualHostの設定を読み込む

立てるサーバのFQDNをディレクトリに指定•メリット
たとえ運用するVirtualHostが増減してもディレクトリレイアウトが崩れない
VirtualHost毎のフルバックアップもディレクトリ指定でOK。
•デメリット
デメリ ト
標準構成から崩れるため logrorateなどを使う場合は別途見直しも必要© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム• DNS(bind9)• SMTP(postfix)• ＰＯＰサーバ（dovecot)• Apache• NTP© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

NTP• 上位NTPサーバの指定– FQDNおよびIPv6アドレスでの指定が可能
serverserver

ntp1.v6.mfeed.ad.jp
2001:3a0:0:2005::57:123© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

NTP• クエリの制限– restrictコマンドでは、IPv4/IPv6アドレスが扱えるが、”-4”,が、4 , “-6”
6 で明示的に指定することが推奨されている。
#restrict -4
4 default kod notrap nomodify nopeer noquery#restrict -6 default kod notrap nomodify nopeer noquery#restrict 127.0.0.1#restrict ::1
restrict -4 192.0.2.0 mask 255.255.255.0 knod notrap nomodify nopeer noquery
restrict -6 2001:db8:: mask ffff:ffff:ffff:ffff:: knod notrap nomodify nopeer#restrict 192.168.123.0 mask 255.255.255.0 notrust© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

NTP• 同期確認は、IPv4と同様、ntpqコマンドを用pq
いる(ただし、表示が丸められる）$ ntp -pnremoterefid
st t when poll reachdelay
offset jitter==============================================================================
2001:3a0:0:2001 210.173.160.86
2 u
57
64
1
3.195
9.845
0.002
2001:3a0:0:2005 210.173.160.56
2 u
56
64
1
3.173
9.871
0.002

$ ntp –pnremoterefid
st t when poll reachdelay
offset jitter==============================================================================
2001:3a0:0:2001 210.173.160.56
2 u
29
64
77
3.130
5.788
2.341
*2001:3a0:0:2005 210.173.160.86
2 u
33
64
77
3.173
9.871
4.693

© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム• IPv6
IPv6トラフィックの測定
トラフィックの測定(MRTG)(MRTG)()• IPv6対応ツールの紹介– Smokeping– Nagios© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

MRTGによるトラフィック取得• 下記のPerlモジュールがインストール済みな
ら、MRTGは、IPv6でデータの取得が可能（
cfgmakerもIPv6対応）– Socket6– IO::Socket::INET6IO S k t INET6• IPv6でのデータ取得の際には、下記の設定
をわすれないことE bl IP 6 yes
EnableIPv6:© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

IPv6トラフィックの計測• 通常のMIBでは、IPv6のみのトラフィックは取れないため、工夫が必要• ip6tablesを利用し、パケットを測定する方法
ip6tablesを利用し パケットを測定する方法
で、取得は可能© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

MRTGの設定• MRTGでは、SNMP以外に、外部スクリプトを用いてもデータをグラフ化できる。
Target[Linux]: `/usr/local/bin/v6counter.pl`© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

ip6tablesを用いる方法#!/usr/bin/perl# for IPv6 traffic counting#
use strict;
use warnings;######################################### Edit following values.
########################################
my $ip6tables_cmd = '/sbin/ip6tables';my $head_cmd= '/usr/bin/head';######################################### Main Routine#
my $input;
my $output;{
foreach my $TARGET qw/INPUT OUTPUT/ {chomp(myp( y $data = `$ip6tablesp_cmd -vnx -L $TARGET --line-number | $head_cmd -1`););
my @counter = split(/¥s+/, $data);
if ($data =~ /INPUT/) {$input = $counter[6];} else {$output = $counter[6];}}print "$input¥n$output¥n";}© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム• IPv6トラフィックの測定(MRTG)()• IPv6
IPv6対応ツールの紹介
対応ツールの紹介– Smokeping– Nagios© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

smokeping• ネットワークのlatencyを計測できるy– Probeの追加で、ICMPだけでなく、Port監視も可能• Site– http://oss.oetiker.ch/smokeping/© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

SmokepingのIPv6対応• Probeにfping6を指定+ FPing6
FPi g6binary = /usr/sbin/fping6• Probeに、設定したFping6を指定する。
Probeに 設定したFping6を指定する。
標準のProbeにFping6を利用する場合
probe = FPing6
menu = Toptitle = Network Latency Grapher+ Servers
menu= Server
title = Server++ server1
menu = server1
title= server1
host = www.example.jp

標準のProbeはFpingの場合++ server1
probe=FPing6
menu = server1
title= server1
host = www.example.jp© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

Nagios• 統合監視ツール– Pluginにより、ICMPだけでけでなく、柔軟な監視が可能。

• Site– http://www.nagios.org/© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

NagiosのIPv6対応• ほとんどのpluginは既にIPv6に対応しておりほとんどの l i は既にIP 6に対応しており、IPv6アドレスを$HOSTADDRESS$に指定
してやればよい。但しFQDNを利用する場合には、別途commandを定義する。
define command {command_namecommand_line$ARG1$ -c $ARG2$ -p 5 -6}
define command {command_namecommand_line$ARG1$ -c $ARG2$ -p 5 -4}check_ping6$USER1$/check_ping –H $HOSTADDRESS$ -w

check_ping4$USER1$/check_ping –H $HOSTADDRESS$ -w© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

セキュリティ
• パケットフィルタ– Path MTU Discovery– 拡張ヘッダについて– ip6tables概要
i 6t bl 概要– ip6tables設定• ACL– tcp_wrappers
tcp wrappers– Mapped_address– FQDN© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム• パケットフィルタ– Path MTU Discovery– 拡張ヘッダについて– ip6tables概要
i 6t bl 概要– ip6tables設定• ACL– tcp_wrappers
tcp wrappers– mapped_address– FQDN© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

パケットフィルタについて• IPv4と違い、IPv6ではICMPをすべて止めてしまうと、通信ができない場合があるので注意が必要。
• ICMPv6が必須の理由– IPv6では、途中ルータの負荷低減のために、途中経路でのフラグメントが禁止されている。このため、Path MTU Discoveryの動作が必要となる（この動作に、ICMPv6が必須）© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

Path MTU Discovery••••

送信元ホストは送出先リンクのMTUをパスMTUと仮定
経由するルータ上でパケットを転送できない場合、ルータはそのパケットを破棄してPacket Too Big（ICMPv6
g
type2）を送信元に返信する（次ホップへのリンクのMTU
yp
情報を盛り込む）
IPv6の最小MTUは1280バイト
マルチキャストでも同様– 宛先全体の最小MTUとなる
宛先全体の最小となる•

L2SWのMTUに引っかかった場合には破棄される
MTU1500

MTU1454

MTU1500

MTU1280

MTU1500
ServerclientSize=1500

Packet Too Big (MTU=1454)

Packet Too Big (MTU=1280)

Size=1454
Size=1280

148© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

パケットフィルタの基本• end‐to‐endの通信を想定しているため端末側でしっかり守る
必要がある• IPv6での注意点– ICMPv6はとめない• 特にtype2(Packet Too Big)– EDNS0やTCP53も通す• IPv6ではDNS回答パケットが大きくなりがちなためほぼ必須• 拡張ヘッダへの対応– 単純なパケットフィルタでは対応が難しいものもある• RH0、フラグメントヘッダ等– ファイアウォールでの検討も必要
ファイアウォ ルでの検討も必要
149© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

パケットフィルタ １（参考）Ingress

Egress必須[1]全ICMPv6をaccept[2]以下がSourceアドレスとなっているパケットをreject
・予約済みアドレス::/8
・元サイトローカルアドレス fec0::/10
・ユニークローカルアドレス fc00::/7
・マルチキャストアドレス
ff00::/8・ドキュメントアドレス
2001:db8::/32[3]自ASで持っているprefixがSourceアドレスになっているパケットをreject（トランジット接続）

特になし

オプション

[1]境界インタフェース宛となっているICMPv6パケットの制限をする‐ 前提条件
1. Neighbor Discovery で使われる ICMPv6 TYPEはaccept をする
2. Path MTU Discovery で使われる ICMPv6 TYPE =2 (Packet TooBig) は accept をする
3 速やかな IPv6/IPv4 フォ
3.速やかな
フォールバック
ルバック の為に、ICMPv6の為に ICMPv6 TYPE = 1(Destination Unreachable)は accept をする[2]境界インタフェース宛となっている上記以外のICMPv6をreject※traceroute, pingの確認ができなくなる[3]6bone用アドレス（廃止）をreject 3FFE::/16[1]全てのICMPv6をacceptする[2]以下がSourceアドレスになっているパケットをreject
・予約済みアドレス::/8
・元サイトローカルアドレス fec0::/10
・ユニークローカルアドレス fc00::/7
・マルチキャストアドレス
マルチキャストアドレス
ff00::/8・ドキュメントアドレス
2001:db8::/32
・ 6bone用アドレス
3FFE::/16

参考 ： http://www.janog.gr.jp/doc/janog-comment/jc1006.txt

150© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

パ
パケットフィルタ
タ ２．１（参考）参考
Recommendations for ICMPv6 Transit Traffic

Traffic that Must Not be Dropped

Traffic that Normally Should Not be Dropped

Traffic That Will Be Dropped Anyway(All these messages should never be propagatedbeyond the link which they were initially transmitted)

Traffic for Which a Policy Should Be Defined

Destination Unreachable (Type 1) ‐ All codes
Packet Too Big (Type 2)
Time Exceeded (Type 3) ‐ Code 0 only
Parameter Problem (Type 4) ‐ Codes 1 and 2 only
Echo Request (Type 128)
Echo Response (Type 129)
Time Exceeded (Type 3) ‐ Code 1
Parameter Problem (Type 4) ‐ Code 0Home Agent Address Discovery Request (Type 144)
Home Agent Address Discovery Reply (Type 145)
Mobile Prefix Solicitation (Type 146)
Mobile Prefix Advertisement (Type 147)
Router Solicitation (Type 133)
Router Advertisement (Type 134)
Neighbor Solicitation (Type 135)
Neighbor Advertisement (Type 136)
Redirect (Type 137)
Inverse Neighbor Discovery Solicitation (Type 141)
Inverse Neighbor Discovery Advertisement (Type 142)
Listener Query (Type 130)
Listener Report (Type 131)
Listener Done (Type 132)
Listener Reportp v2 ((Typeyp 143))
Certificate Path Solicitation (Type 148)
Certificate Path Advertisement (Type 149)
Multicast Router Advertisement (Type 151)
Multicast Router Solicitation (Type 152)
Multicast Router Termination (Type 153)
Seamoby Experimental (Type 150)
Unallocated Error messages (Types 5‐99 inclusive and 102‐126 inclusive)
Unallocated Informational messages (Types 154‐199 inclusive and 202‐254 inclusive)

参考 ： http://www.ietf.org/rfc/rfc4890.txt?number=4890

151© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

パ
パケットフィルタ
タ ２．２（参考）参考
Recommendations for ICMPv6 Local Configuration Traffic

Traffic that Must Not be Dropped

Traffic that Normally Should Not be Dropped
Traffic That Will Be Dropped Anyway(if the service is not implemented)

Traffic for Which a Policy Should Be Defined

Destination Unreachable (Type 1) ‐ All codes
Packet Too Big (Type 2)
Time Exceeded (Type 3) ‐ Code 0 only
Parameter Problem (Type 4) ‐ Codes 1 and 2 only
Echo Request (Type 128)
Echo Response (Type 129)
Router Solicitation (Type 133)
Router Advertisement (Type 134)
Neighbor Solicitation (Type 135)
Neighbor Advertisement (Type 136)
Inverse Neighbor Discovery Solicitation (Type 141)
Inverse Neighbor Discovery Advertisement (Type 142)
Li t
Listener
Q
Query (T(Type 130)
Listener Report (Type 131)
Listener Done (Type 132)
Listener Report v2 (Type 143)
Certificate Path Solicitation (Type 148)
Certificate Path Advertisement (Type 149)
Multicast Router Advertisement (Type 151)
Multicast Router Solicitation (Type 152)
Multicast Router Termination (Type 153)
Time Exceeded (Type 3) ‐ Code 1
Parameter Problem (Type 4) ‐ Code 0
Router Renumbering (Type 138)
Home Agent Address Discovery Request (Type 144)
Home Agent Address Discovery Reply (Type 145)
Mobile Prefix Solicitation (Type 146)
Mobile Prefix Advertisement (Type 147)
Seamoby Experimental (Type 150)
Redirect (Type 137)
Node Information Query (Type 139)
Node Information Response (Type 140)
Unallocated Error messages (Types 5‐99 inclusive and 102‐126 inclusive)

参考 ： http://www.ietf.org/rfc/rfc4890.txt?number=4890

152© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

ip6tables概要• iptablesのIPv6版–カ
カーネルのパケットフィルタルールの設定などをネルのパケットフィルタル ルの設定などを行うことができる。
– NATに関連するもの以外はほぼIPv4の時と同じ。
NATに関連するもの以外はほぼIPv4の時と同じ
ただし、ICMPとICMPｖ６に互換性はないので、注意が必要– RHEL5/CentOS5ではConnection tracking がサポ トされないため 設定は投入できるもののポートされないため、設定は投入できるものの、期待した挙動にはならない。
例：
ip6tables -A TEST -m state --state RELATED,ESTABLISHED -j ACCEPT© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

ip6tables設定• 各ターゲットにルールを定義する
入力

ルーティング

出力

FORWARDINPUTOUTPUT
ローカルプロセス© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

ICMPv6設定例# Allow some ICMPv6 types in the INPUT chain# Using ICMPv6 type names to be clear.
ip6tables -A INPUT -p icmpv6 --icmpv6-type destination-unreachable -j ACCEPT
ip6tables -A INPUT -p icmpv6 --icmpv6-type packet-too-big -j ACCEPT
ip6tables -A INPUT -p icmpv6 --icmpv6-type time-exceeded -j ACCEPT
ip6tables -A INPUT -p icmpv6 --icmpv6-type parameter-problem -j ACCEPT# Allow some other types in the INPUT chain, but rate limit.
ip6tables -A
A INPUT -p
p icmpv6 --icmpv6-type
icmpv6 type echo
echo-request
request -m
m limit --limit
limit 900/min -jj ACCEPT
ip6tables -A INPUT -p icmpv6 --icmpv6-type echo-reply -m limit --limit 900/min -j ACCEPT# Allow others ICMPv6 types but only if the hop limit field is 255.
ip6tables -A
A INPUT -p
p icmpv6 --icmpv6-type
icmpv6 type router-advertisement
router advertisement -m
m hl --hl-eq
hl eq 255 -jj ACCEPT
ip6tables -A INPUT -p icmpv6 --icmpv6-type neighbor-solicitation -m hl --hl-eq 255 -j ACCEPT
ip6tables -A INPUT -p icmpv6 --icmpv6-type neighbor-advertisement -m hl --hl-eq 255 -j ACCEPT
ip6tables -A INPUT -p icmpv6 --icmpv6-type redirect -m hl --hl-eq 255 -j ACCEPT# When there isn't a match, the default policy (DROP) will be applied.
# To be sure, drop all other ICMPv6 types.
# We're dropping enough icmpv6 types to break RFC compliance.
ip6tables -A INPUT -p icmpv6 -j LOG --log-prefix "dropped ICMPv6"
ip6tables -A INPUT -p icmpv6 -j DROP

© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

ICMPv6設定例（Cont)# All
Allow ICMPv6
ICMP 6 typest
that
th t should
h ld beb sentt throughthh th
the IInternet.
tt
ip6tables -A OUTPUT -p icmpv6 --icmpv6-type destination-unreachable -j ACCEPT
ip6tables -A OUTPUT -p icmpv6 --icmpv6-type packet-too-big -j ACCEPT
ip6tables -A OUTPUT -p icmpv6 --icmpv6-type time-exceeded -j ACCEPT
ip6tables -A OUTPUT -p icmpv6 --icmpv6-type parameter-problem -j ACCEPT# Limit most NDP messages to the local network.
ip6tablesp-A OUTPUT -p
p icmpv6
p --icmpv6-typep
yp neighbour-solicitationg-m hl --hl-eq
q 255 -jj ACCEPT
ip6tables -A OUTPUT -p icmpv6 --icmpv6-type neighbour-advertisement -m hl --hl-eq 255 -j ACCEPT
ip6tables -A OUTPUT -p icmpv6 --icmpv6-type router-solicitation -m hl --hl-eq 255 -j ACCEPT# If we're acting like a router, this could be a sign of problems.
ip6tables -A OUTPUT -p icmpv6 --icmpv6-type router-advertisement -j LOG --log-prefix "ra ICMPv6 type"ip6tables -A OUTPUT -p icmpv6 --icmpv6-type redirect -j LOG --log-prefix "redirect ICMPv6 type"ip6tables -A OUTPUT -p icmpv6 --icmpv6-type router-advertisement -j REJECT
ip6tables -A OUTPUT -p icmpv6 --icmpv6-type redirect -j REJECT# Accept all other ICMPv6 types in the OUTPUT chain.
ip6tables -A OUTPUT -p icmpv6 -j ACCEPT

参考： http://www.cert.org/downloads/IPv6/ip6tables_rules.txt© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

セキュリティ
• パケットフィルタ– Path MTU Discovery– 拡張ヘッダについて– Ip6tables概要
I 6t bl 概要– Ip6tables設定• ACL– tcp_wrappers
tcp wrappers– Mapped_address– FQDN© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

tcp_wrappers• tcp_wrappersと複数形であることの理由は、
p_pp
ライブラリ形式でも提供されているから。多くのディストリビュ ションのsshdが、tcpdと組のディストリビューションのsshdが、tcpdと組
み合わせなくても、– /etc/hosts.allow/ t /h t ll
– /etc/hosts.deny

でコントロールできるのはそのため。
© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

tcp_wrappers書式• IPv6アドレス、ネットワークアドレスは []で囲う。
[]

ALL: [2001:db8:1000:2000::]/64※）個別にパッチが出ていた時と、書式が異なっていることもあるので、古い文献を参照する際は注意が必要© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

mapped address• mapped
pp addressを用いて、IPv4ノードと通信を行うIPv6ノードの場合、リモートアドレスが、
xx xx xx xx という形式にならないので、不具xx.xx.xx.xx
合が生じる可能性がある。

© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

FQDN• Apacheなど、アクセス元のユーザのドメイン名pで、許可・不許可を決めているものがあるが、IPv6では、クライアントの逆引きが設定されないことが多いので、既存のサーバをIPv6に対応させる際には 注意が必要
応させる際には、注意が必要© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

運用
• DNS
DNS逆引きについて
逆引きについて• SMTP問題• ログ形式について• アドレス自動設定について
ア
自動設定• 障害の切り分け(FQDN)• VLAN© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

DNS逆引きについて• クライアントのアドレスは、プライバシー拡張などを用いてアクセスされることなどを考えると、DNSの逆引きによるACLは、事実上使えないと思ったほうがよい。

© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム• DNS逆引きについて• SMTP
SMTP問題問題• ログ形式について• アドレス自動設定について
ア
自動設定• 障害の切り分け(FQDN)• VLAN© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

SMTP問題• MXにA RRおよびAAAA RRを持つサーバを指定していると、うまくフォールバックできない実装がある（らしい）© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

SMTP問題• 対処方法$ORIGIN example.jp.
;
@
IN
MX 10
;
mail
IN
A
IN
AAAA

mail
192.0.2.1
2001:db8::25

これを……
$ORIGIN example.jp.
;
@
IN
MX 10
MX 20
;
mail
IN
A
IN
AAAA
;
Mail4
IN
A

mail
mail4
192.0.2.1
2001:db8::25
192.0.2.1© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム• DNS逆引きについて• SMTP問題• ログ形式について• アドレス自動設定について
ア
自動設定• 障害の切り分け(FQDN)• VLAN© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

ログ形式について• syslogなどで記録されるアドレスは、決まったy g
短縮法が適用されるわけではない。吐き出す
アプリケ ションに依存する。このため、grep
アプリケーションに依存する。このため、grepなどで、単純にアドレスをマッチさせることはできないことがある（現在 IETFで この問題
できないことがある（現在、IETFで、この問題が議論されている）© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム• DNS逆引きについて• SMTP問題• ログ形式について• ア
アドレス自動設定について
自動設定• 障害の切り分け(FQDN)• VLAN© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

アドレスの自動設定について• 多くのクライアントノードを管理する管理者の作業低減の目的があった。
– しかしながら、サ
しかしながら サーバ用途では
バ用途では、NICの交換によ
NICの交換によって、アドレスが変わってしまうこともあるので、自動設定は避けたほうがよい。
自動設定は避けたほうがよい• アドレス変更にともなう、フィルタのルール変更なども必要なため。

© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム• DNS逆引きについて• SMTP問題• ログ形式について• アドレス自動設定について
ア
自動設定• 障害の切り分け
障害の切り分け(FQDN)(FQDN)• VLAN© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

障害の切り分け（FQDN）• 監視ツールで、FQDNでノードを登録していた
場合、IPv6/IPv4のフォールバックの影響を受けないか注意が必要。

© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

運用における注意点• DNS逆引きについて• SMTP問題• ログ形式について• アドレス自動設定について
ア
自動設定• 障害の切り分け(FQDN)• VLAN© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

VLAN• ポートVLAN, tagged
gg VLANなど、特に問題なし。
• MACアドレスベースVLAN– ISPなどではほとんど使われないだろうが、現状まともに動く実装はない。
まともに動く実装はない• RAなど、multicast宛てに投げられると、全ユーザにアドレスが割り当てられてしまう• 利用しないほうが無難© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム• Q&A?
Q© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

付録• IPv6の接続性を得るには？
• IPv6用語© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

IPv6の接続性を得るには？
• 上流ISPからIPv6のトランジットを買う– 意外とあります。

• IPv6対応のiDCに入る– 意外とあります。
意外とあります• Tunnel Brokerを探す– Feel6(dtcp)
F l6(dt )– OCN IPv6(L2TP)
http://ipv6.blog.ocn.ne.jp/ipv6/2006/04/linuxocn_ipv62_5915.
html© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

IPv6用語• ノード– IPv6が実装されている機器

• ルータ
ル タ
– 他へIPv6パケットを転送するノード

• ホスト
–ル
ルータではないノード
タではないノ ド© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

IPv6用語 cont(2)• 上位層(upper layer)– IPv6の直上のプロトコル層(TCP,UDPなど）• リンク– IPv6の直下の層を指す(Ethernet,PPPなど）• 近隣（neighbors)– 同じリンクに接続しているノード• インターフェース– ノードがリンクへ接続するためのアタッチメント© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6オペレータ育成プログラム

IPv6用語 cont(3)• パケット– IPv6ヘッダを含むペイロード（データ部）• リンクMTU– そのリンク上で伝送させることのできるパケットの最大の伝送単位• パスMTU– 送信元と送信先のノード間に存在するすべてのリ
送信元と送信先のノ ド間に存在するすべてのリンクにおいて、もっとも小さなリンクMTU© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.