LinuCレベル4 システムアーキテクト ネットワークとストレージの選定 問29
ネットワークとストレージの選定/拠点内のネットワーキングLinuxホストでKVM仮想マシン(VM)を運用する。VMを社内LAN(192.168.1.0/24)に参加させ、社内LANにある他のホストからVMのIPアドレスへ追加のポートフォワード設定なしに直接到達できるようにしたい。この要件に対する仮想ネットワーク構成として最も適切なものはどれか。
当サイトのオリジナル問題(LinuCレベル4 システムアーキテクトの出題範囲「ネットワークとストレージの選定」に対応。実際の試験問題ではありません)
- Alibvirtのデフォルト仮想ブリッジ(virbr0)にVMを接続し、社内LAN(192.168.1.0/24)のアドレスをVMに割り当てる。virbr0にはNAT(NAPT)と転送機能があるため、外部ホストからVMへ直接到達できる
- Bホストの物理NICをLinuxブリッジ(br0)に追加し、VMの仮想NIC(TAPデバイス)をそのブリッジに接続する。VMが社内LANのL2セグメントに直接参加し、ポートフォワードなしに他ホストから到達できる
- CVMにTUNデバイスを割り当て、ホストのルーティングテーブルにVM宛ての静的経路を追加する。TUNデバイスはIPパケットを扱う仮想デバイスで、ホストを経由するL3ルーティングで他ホストからVMへ到達できる
- DQEMUのユーザースペースネットワーク(SLIRP)を使い、VMに社内LANのIPアドレスを手動で設定する。SLIRPはソフトウェアで実装するTCP/IPスタックのため、設定したIPアドレスで社内LANの他ホストから直接アクセスできる
正解:B
解説
VMを社内LANに直接参加させるには、ホストの物理NICをLinuxブリッジ(br0)に追加し、VMの仮想NIC(libvirtが作成するTAPデバイス)をそのブリッジに接続します。この構成ではVMが社内LANのL2セグメントに参加し、DHCPやARPも透過的に機能するため、VMは192.168.1.0/24のアドレスを直接持てます。libvirtのデフォルト仮想ブリッジ(virbr0)はIPマスカレード(NAPT)でVMのトラフィックをホストIPに変換するため、外部ホストからVMへは直接到達できません。TUNデバイスはL3パケットを扱うトンネル型の仮想デバイスで、KVM仮想マシンの仮想NICには使われません。QEMUのSLIRPも外向きのNATのみで、外部からVMへの直接アクセスは行えません。
選択肢ごとの解説
- A誤り。virbr0はIPマスカレード(NAPT)でVMのアドレスをホストIPに変換します。外部ホストからVMへの直接アクセスには個別のポートフォワードルールが必要で、NATがあれば直接到達できるという説明は誤りです。
- B正しい。ホストの物理NICをbr0に追加し、VMのTAPデバイスをbr0に接続するブリッジ構成により、VMは社内LANのL2セグメントに参加します。NAT不要で他ホストから直接到達できます。
- C誤り。TUNデバイスはL3(IPパケット)を扱うトンネル型の仮想デバイスで、KVM仮想マシンの仮想NICには使われません。またTUNを使ったL3ルーティングではL2ブロードキャスト(ARP等)を透過させることができず、社内LANへの参加は実現できません。
- D誤り。QEMUのSLIRP(ユーザースペースネットワーク)は送信方向のNATのみを実装しており、外部ホストからVMへの直接アクセスはできません。開発用の隔離された接続向けであり、本要件には不適切です。