連載
» 2002年12月07日 00時00分 公開

Linuxで作るIPv6ネットワーク環境(2):Web、DNS、メール、FTPサーバのIPv6化 (3/3)

[みやもとくにお,@IT]
前のページへ 1|2|3       

IPv6ネットワークへの接続

 現状でIPv6ネットワークを使用するとしたら、

  • 6to4接続
  • プロバイダのゲートウェイを介した接続

のいずれかになります。

 どちらもIPv4トンネルを開設するという点において、技術的には変わりません。技術的な解説や利点/欠点の解説はIPv6導入虎の巻 第2回を参照してください。

■6to4による接続例

 6to4を利用する場合の設定を以下に示します。

$ /usr/local/v6/sbin/ip tunnel add tun6to4 mode sit remote 202.255.45.5 local any
$ /usr/local/v6/sbin/ip link set tun6to4 up
$ /usr/local/v6/sbin/ip addr add 2002:3dc5:e2d2::1 dev tun6to4
$ /usr/local/v6/sbin/ip -6 route add 2000::/3 dev tun6to4
$ /usr/local/v6/sbin/ip -6 route add 3ffe::/16 dev tun6to4

 具体的には、

  • tun6to4という名前のトンネルインターフェイスを作成する(1行目)
  • トンネルデバイスtun6to4を有効(link up)にする(2行目)
  • tun6to4に2002:3dc5:e2d2::1というIPv6アドレスを与える(3行目)
  • ルーティングテーブルを設定する(4、5行目)

という処理を行っています。3行目で与えるアドレスのうち上位48bitは、例えば以下のようにして算出可能です。

$ printf "2002:%02x%02x:%02x%02x\n" 192 168 0 2
2002:c0a8:0002
192.168.0.2 というIPv4アドレスから、6to4経由で通信するために使うIPv6ネット ワークアドレスを算出

 今回の解説で使用した6to4ゲートウェイのアドレスは202.255.45.5ですが、このアドレスはKDDI Lab.が試験運用している6to4ゲートウェイです。また、2002:3dc5:e2d2::1というアドレスは、61.197.226.210というアドレスから生成される6to4用のIPv6アドレスです。

 外部ホストとIPv6による通信ができるかどうかの確認には、KAME ProjectのWebサーバにアクセスするのがよいでしょう。

 Webサーバの解説時にも触れたように、KAME ProjectのWebサイトはIPv4経由でアクセスした場合とIPv6経由でアクセスした場合で表示が微妙に異なります。Galeonを使ってIPv6経由で接続した場合は動くカメが、w3mを使った場合は画面1のように「[kame-anime]」と表示されます。

画面1 IPv6経由でアクセスした場合は「[kame-anime]」と表示される 画面1 IPv6経由でアクセスした場合は「[kame-anime]」と表示される

 IPv4経由でアクセスした場合は、画面2のような表示になります。

画面2 IPv4経由でアクセスした場合は「[kame-noanime-small]」と表示された 画面2 IPv4経由でアクセスした場合は「[kame-noanime-small]」と表示された

■プロバイダのゲートウェイを介した接続

 プロバイダが用意しているゲートウェイを介した接続も、技術的には6to4と変わりません。設定レベルでは、

  • 6to4ゲートウェイのアドレスが、プロバイダ側で用意したゲートウェイのアドレスに変わる
  • tun6to4に与えているIPv6アドレスが、プロバイダ側から指定されるIPv6アドレス(大抵ネットワーク単位でアドレスが付与されるので、その中から1つ選んで付与する)

という形になります。

IPv6特有のサービス

 IPv6特有のサービスはいろいろありますが、真っ先に思い浮かぶのはルータ通知を使用したアドレス配布でしょう。これは、主にクライアントマシンに対するアドレス配布を実施するイメージです。

 今回の記事では取り上げませんでしたが、LinuxマシンをIPv6ルータとしても使用するようになると、必要に応じて、

  • zebra(ルーティングデーモン)
  • radvd(ルータ通知デーモン)

などを動かすようになります。

 また、IPv6特有というわけではありませんが、IPv6ではIPSecが必須なのでセキュア通信がより身近に行われるのではないかと個人的には考えます。

注意すべき点

 前編から中編にかけて、いまあるLinuxマシンをIPv6 Readyなサーバに仕立て、公開できるようにする方法を紹介しました。しかし、外部に公開する場合は気を付けなければならないことがいくつかあります。IPv6導入虎の巻で多くの部分が述べられていますが、特に気を付けなければならないのが「IPv4アドレスレベルのフィルタを記述しても役に立たない」()ということでしょう。今回は触れませんが、IPv6レベルのフィルタを記述するにはip6tablesの機能を有効にし、かつiptablesコマンドを最新版に入れ替える必要があります。

注:ゲートウェイと通信できる時点で、IPv6レベルの通信が有効になりますが、このレベルでのフィルタを記述しなければなりません。


 商用ファイアウォールでも実装されたものがぼちぼちアナウンスされ始め、LinuxでもIPv6対応のフィルタリング機能などの実装が進んでいます。ルータやIPv6ホストでちゃんとフィルタを構成しておく、もしくは不要なサーバやパケット転送を行わないなどの基本的な構成をきっちりと行う必要があります。


 以上で、Linuxと各種インターネットサーバをIPv6に対応させることが可能です。しかし、ここまでの作業で、「自分が管理しているネットワークをIPv6 Readyにしたい!」という方もいらっしゃるのではないでしょうか?

 後編では、すでにIPv4ベースで使えているネットワークをIPv6 Readyにすることをテーマに解説します。

参考資料


前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。