Webサイト管理者のための2020年版“IPv6対応入門”第3回

IPv6ネットワークへの接続からIPv6アドレス設定、DNS登録など、知っておくべきこと

Webサーバーの設定を変更して「IPv6対応サイト」にする【前編】

文●大塚昭彦/TECH.ASCII.jp 監修● 久保田 聡/日本ネットワークイネイブラー

  • この記事をはてなブックマークに追加
  • 本文印刷

(1)サーバーの固定IPv6アドレス設定

 まずは(1)ホスト自身のIPv6アドレスの設定方法からだ。その設定方法には次の3種類がある。

●手作業での設定
●自動設定:SLAAC(StateLess Address Auto Configuration)
●自動設定:DHCPv6(ステートフル/ステートレス)

 まず結論から言うと、サーバーに固定IPv6アドレスを設定したい場合は「手作業」または「DHCPv6(ステートフル)」で設定することになる。なぜそうなるのかを説明しよう。

 SLAAC(RFC 4862、スラークまたはスラックと読む)は、IPv6プロトコルが標準で備える自動設定プロトコルである。過去のIPv4にはこうした仕組みがなかったため、別途DHCPなどの仕組みを付け加えて自動設定を可能にしていた。IPv6ではその仕組みが標準で組み込まれたわけだ。DHCPのように管理サーバーを立てる必要がないので、とても便利な自動設定の仕組みだと言える。

 SLAACでは、ホスト自身が自動生成したIPv6アドレスを自らに設定する。その仕組みを簡単にまとめると、リンクローカル(同じサブネット内)にあるルーターがマルチキャストで送信する「RAメッセージ(RA:Router Advertisement)」に含まれるネットワーク識別子(プレフィックス)と、ホストが自ら生成するインタフェース識別子を組み合わせることで、ホスト自身のIPv6アドレスを自動設定するというものだ。

 ただしSLAACで設定されるのは、その名のとおり“ステートレス”なIPv6アドレスである。これは「常に同じアドレスが割り当てられる保証はない」という意味だ。つまり、ホストがネットワークに接続するたびにIPv6アドレスが変わる可能性がある。クライアントPC のIPv6アドレス設定ならば問題ないが、固定IPアドレスが必要なサーバーの場合には適していない(固定IPアドレスが必要ない開発/テスト用サーバーならば便利に使える)。

SLAACによるIPv6アドレスの自動設定(概要)

 自動設定方法としてはもうひとつ、DHCPv6(RFC 3315)もある。IPv4で使われるDHCPとは異なるプロトコルだが、大まかな仕組みとしては同じだ。すなわち、ホスト上のDHCPv6クライアントとDHCPv6サーバーが通信を行い、サーバー側で一元管理されているIPv6アドレスの割り当て(リース)を受ける仕組みである。ルーターはRAメッセージに含まれる「Mフラグ(Managementフラグ)」の値を「1(有効)」に設定し、ホストに対してDHCPv6を利用したIPv6アドレス設定を促す。

 したがって、DHCPv6サーバー側であらかじめホストのMACアドレスと割り当てるIPv6アドレスをひもづけて登録しておけば、いつでも同じ、固定のIPv6アドレスを自動設定できるようになる。

DHCPv6(ステートフル)によるIPv6アドレスの自動設定(概要)

 なお上述の説明は、DHCPv6の「ステートフル」モードでの動作内容である。もうひとつの「ステートレス」モードでは、ホストのIPv6アドレス設定手段として前述のSLAACを使うため、固定IPv6アドレスが必要な用途には向いていない※注

 ここまで説明してきた理由から、サーバーに固定IPv6アドレスを設定したい場合は「手作業」または「DHCPv6(ステートフル)」で設定することになるわけだ。

※注:ステートレスDHCPv6では、ホストへのIPv6自動設定にSLAACを使う一方で、キャッシュDNSサーバーの自動設定はDHCPv6サーバーから情報を配信する(ルーターがRAメッセージの「Oフラグ=Otherフラグ」の値を1に設定し、DHCPv6サーバーから情報取得するよう促す)。IPv6が開発された当初はSLAACのRDNSSオプション(後述)が存在せず、DNSサーバーを自動設定する代替手段としてステートレスDHCPv6が使われた。

(2)(3)キャッシュDNSサーバー/デフォルトルートの設定

 キャッシュDNSサーバーの設定方法も、ホストIPアドレスと同じように手作業/SLAAC(+RDNSS)/DHCPv6という3種類がある。

 SLAACの場合は、ルーターがRAメッセージを使ってホストにキャッシュDNSサーバーの情報を配信する「RDNSSオプション」(RFC 8106)が用意されている。RAメッセージ送出にRDNSSオプションが利用できるルーターの場合、これを利用して自動設定が行える。ただし、SLAACを使わなければRDNSSオプションも使えず、サーバーの場合はここでも手作業かDHCPv6ということになる。

 DHCPv6では、DHCPv6サーバーが配信するキャッシュDNSサーバーの情報を受け取り、DHCPv6クライアントがそれをホストに自動設定する。IPv4と同じ仕組みだ。

 最後に、ホストのリンクローカル(同じサブネット内)にある近接ルーター、デフォルトルートのIPv6アドレス設定だ。ここも手作業で設定できるが、IPv6が標準で自動検出機能(近隣探索プロトコル=NDP:Neighbor Discovery Protocolの一部、RFC 4861)を備えているので、通常は手作業で設定する必要はない。ホストをIPv6ネットワークに接続するだけで、自動的に近接ルーターを検出し、設定されるのでシンプルだ。

 このルーター自動検出も、前述のRAメッセージを使って行われる。ネットワークに接続されたホストは、サブネット内のルーターが定期的に(あるいは新規ホストの接続時に)マルチキャスト送信するRAメッセージを受信することで、リンクローカルにあるルーターの存在を知る。このRAメッセージの送信元アドレスを、そのままデフォルトルートとして登録することで自動設定が完了する。

過去記事アーカイブ

2022年
01月
02月
03月
04月
05月
06月
08月
2021年
01月
02月
03月
04月
05月
06月
07月
08月
09月
10月
11月
12月
2020年
03月
04月
05月
06月
07月
08月
09月
10月
11月
12月
2012年
02月
2011年
05月
07月
2010年
08月
09月