注目の書籍

好評発売中!

IT業界徹底研究就職ガイド2013年版

IT/ネット業界で働くと いうことを分かりやす く解説。2013年3月卒 業の学生向けの1冊。

必聴講座ご紹介

Cloud Days Tokyo 2012
クラウド時代を勝ち抜く企業戦略を考える

エムオーテックス


Cloud Days Tokyo 2012
クラウド時代の企業インフラとユーザー環境の姿

ヴイエムウェア


Cloud Days Osaka 2012
クラウドでIT維新を〜ビジネスを加速させるベストプラクティス

アマゾン データ サービス ジャパン

仮想化

Xenによる仮想化システム構築術

ITpro

第3回 Xenによる仮想環境のネットワーク構築

日本ヒューレット・パッカード 實田 健

2006/10/18

 Xenのインストールが完了し,仮想OSを起動できたら,次は仮想OSをネットワークで接続してみよう。Xenの仮想ネットワークは,ドメイン上に仮想的なネットワーク・インターフェースを作成し,それらに対してMACアドレスやIPアドレスなどを設定することで通信できるようになっている。シンプルに設計されており,基本的なネットワーク構成の組み合わせで,複雑なネットワーク構成を実現できる。

仮想イーサネットで接続

 今回は検証環境として,SUSE Linux Enterprise Server10を利用した。Xenのドメイン0(ホストに相当)から新たにドメインU(ゲストに相当)を起動すると,ドメイン0とドメインUを接続する1対の仮想的なネットワーク・インターフェースが作成される。仮想的なクロス・ケーブルで,ドメイン0とドメインUが直接接続されているイメージだ(図1)。

図1●Xenのネットワークの概念図
図1●Xenのネットワークの概念図

 このときドメインU側のデバイス名には,通常のLinuxの場合と同様に,eth0,eth1,…といった「eth」+「通し番号」の名前が付けられる。これに対してドメイン0側には,vif1.0,vif2.0,といったデバイス名が作成され,1つ目の数字(ピリオドの前)は「xm list」コマンドで確認できるドメインUのID番号,2つ目の数字(ピリオドの後)はそのドメインU内にあるインターフェースの通し番号になる。ドメインUがシャットダウンされると,これらのvifで始まる仮想インターフェースも削除される。

ブリッジ・モードで構築

 ドメインUを作成すると,ドメイン0とドメインUを接続するための仮想インターフェースが作成されるが,このままではドメインUはドメイン0に接続されている物理的なネットワークにアクセスできない。またドメインU同士を接続するためのネットワークもないため,ドメインU同士の通信もできない。

 そこでXenは,「ブリッジ・モード」「ルーティング・モード」「NATモード」の3種類のネットワーク・モードを用意し,外部ネットワークとの接続や,ドメインU同士の通信ができるようにしている。

図2●ブリッジ接続を利用してドメインUから物理ネットワークにアクセス可能
図2●ブリッジ接続を利用してドメインUから物理ネットワークにアクセス可能

 このうち,最も代表的なネットワーク・モードはブリッジ・モードである。Xenをインストールした際のデフォルトは,ブリッジ・モードに設定されている。ここではこのブリッジ・モードを使用したネットワーク環境の構築方法について紹介する。

 ドメイン0を起動した後,「ifconfig」コマンドを実行すると,「xenbr0」という名前のブリッジ・インターフェースが作成されていることが分かる。Xenではこのブリッジ・インターフェースを使用することで,仮想ネットワーク上にあるドメインUを,物理ネットワーク上にある独立したホストと同じように見せられる(図2)。xenbr0というブリッジ・インターフェースは,Xenのデーモンであるxendを起動する際に呼び出される「/etc/xen/scripts/network-bridge」スクリプトの中で定義され,作成されている。

 このようにドメインUをxenbr0にブリッジ接続してネットワーク環境を構築するためには,ドメインUを起動する際の設定ファイルに,vifのエントリを記述しておく必要がある。Xenと同時にインストールされるサンプル・ファイル「xmexample1」には,vifの記述方法として以下の3つ例が挙げられている。

(1)vif = [ '' ]

(2)vif = [ 'mac=00:16:3e:00:00:11,

      bridge=xenbr0' ]

(3)vif = [ '', 'bridge=xenbr1' ]

 (1)のように記述した場合,xenbr0でブリッジ接続され,起動したドメインUのMACアドレスはランダムに生成される。ただし,XenがMACアドレスをランダム生成する場合,上位6けた(24ビット分)はベンダーIDとしてXenSourceが取得している「00:16:3e」に設定される。実質ランダムに生成されるのは,下位6けた分である。

 (2)のようにMACアドレスとブリッジ・インターフェースを明示的に指定することも可能だ。今のところ,これが最も推奨される記述方法といえる。なぜなら,MACアドレスを明示的に指定していなければ,ドメインUを再起動した場合に,別の新しいMACアドレスが生成されてしまう場合がある。そうするとドメインUのOSから見た場合に,新しいNICが追加されたかのように誤って認識され,ネットワークがつながらなくなることがある。また,DHCPなどを使用してドメインUのIPアドレスを設定する場合なども,MACアドレスは固定であるほうが望ましい。

 新しいブリッジ・インターフェースを作成すれば,(3)のようにデフォルト以外のインターフェースも使用できる。ドメインUに複数のネットワーク・インターフェースを持たせ,複雑なネットワークを作成したい場合には,新しいブリッジ・インターフェースが必要となる。そこで次は,ブリッジ・インターフェースを複数作成して,少々複雑なネットワークを構築する方法を紹介しよう。

次ページ以降はITpro会員(無料)の方のみお読みいただけます。
会員の方は、 ログインしてご覧ください。
まだ会員でない方は、ぜひ登録(無料)していただき、ITproの豊富なコンテンツをご覧ください。

この記事に対するfacebookコメント

nikkeibpITpro

読みましたか? 〜 未読記事をご紹介