この記事は、Fujitsu Advent Calender 2枚目の 3日目の記事(※)です。
(※3日目が空いていたので12/24に書き込んでいます)
##はじめに
以下は、会社・組織を代表するものではなく、個人の意見です。
筆者は会社にて、ソフトウェア・サービス企画とか
自社他社比較(ベンチマーク)とかを行っています。
また、趣味でいろんなクラウドのウォッチをしてます。
今回は、Windows10でHyper-Vの設定をしたときに、
「仮想マシンがインターネットに繋がらない!?」というトラブルにあったので
Hyper-Vのネットワーク設定がどういう概念なのかと、
仮想マシンのインターネットへの接続方法を簡単に書きます。
個人の勝手な理解と解説ですから、
間違っていたりするかもしれませんのであしからず。
##結論
・Hyper-Vを利用する際に意識すべきネットワークの概念は3つ
(a)仮想スイッチを作成する
(b)仮想NICを作成する
(c)物理NICを仮想スイッチにバインドする
・Hyper-Vのネットワーク設定は大きく分けて以下の4種類
(1)外部ネットワーク+管理オペレーティングシステムにネットワークアダプタの共有を許可する
(2)外部ネットワーク+管理オペレーティングシステムにネットワークアダプタの共有を許可しない
(3)内部ネットワーク
(4)プライベートネットワーク
・仮想マシンをインターネットに直接接続する場合は(1)か(2)の設定をしましょう。
##検証環境(うちのマシン)
OS(ホスト):Windows 10 Pro
OS(仮想マシン):CentOS 6.7
ハイパーバイザー:Hyper-V
CPU:Intel Corei5-6500T @ 2.5GHz(4コア/4スレッド、TDP35W)
メモリ:16GB(DDR3L 1600MHz SoDIMM 8GB✕2)
SSD:500GB(2.5インチ、SATA)
NIC:2個(1000BASE-T✕2)
その他:筐体はshuttleの1.3Lスリムベアボーン「DH170」
うちのPCにはなぜか物理NICが2つあります。
ちなみに、ホストOSの
「ネットワークと共有センター>アダプターの設定の変更」
から見えてるネットワークアダプターはこんな感じ。
###余談:うちのPC自慢
「省電力・小さい・サクサク」というコンセプトで選びました。
省電力:i5-6500T、DDR3L、SSD
小さい:DH170
サクサク:SSD
「3Dゲームをしない」、「重いデータは外付けHDDへ保存」と割り切って、
使い回しのいい母艦に仕上げました。
実測20~30Wでキビキビ動いてくれてお気に入りです。
このPCの反省点
・GPU刺せない:こんなにAIが流行ると思ってなかった。
・ファンがある:ファンレスにしたかったなぁ。(大きさ・スペックとの兼ね合い)
・次回はM.2 SSDに挑戦したい。
##Hyper-Vのネットワーク設定概要
Hyper-Vを利用する際に意識すべきネットワークの概念は以下の3つです。
(ニュアンスは後ろの絵から読み取ってください。)
(a)仮想スイッチを作成する
仮想スイッチを作成します。
(b)仮想NICを作成する
ホストOSに接続するための仮想NICを作成し、仮想スイッチに接続します。
(c)物理NICを仮想スイッチにバインドする
ホストOSと物理NICの接続を切り、仮想スイッチと物理NICへ接続しなおします。
「Hyper-Vマネージャ」では、
「Hyper-Vマネージャ>仮想スイッチマネージャ」で仮想スイッチを作成する際に、
上の3つのネットワークをどのように構成するかを選択・設定します。
この際に設定できるのは以下の4通りの方法です。
(1)外部ネットワーク+管理オペレーティングシステムにネットワークアダプタの共有を許可する
(2)外部ネットワーク+管理オペレーティングシステムにネットワークアダプタの共有を許可しない
(3)内部ネットワーク
(4)プライベートネットワーク
それぞれの設定について解説します。
###(1)外部ネットワーク+管理オペレーティングシステムにネットワークアダプタの共有を許可する
仮想スイッチの作成時に、
接続の種類で「外部ネットワーク」を選択し、
「管理オペレーティングシステムにこのネットワークアダプタの共有を許可する」のチェックを入れると、
(a)と(b)と(c)が実行されます。
後に仮想マシン用スイッチを作成し、
仮想スイッチと接続することで、
仮想スイッチを介して
ホストOSと仮想マシンと物理NICを接続することができます。
1つの物理NICで、外部とホストOSと仮想マシンの通信を行えるようになります。
###(2)外部ネットワーク+管理オペレーティングシステムにネットワークアダプタの共有を許可しない
仮想スイッチの作成時に、
接続の種類で「外部ネットワーク」を選択し、
「管理オペレーティングシステムにこのネットワークアダプタの共有を許可する」のチェックを外すと、
(a)と(c)が実行されます。
後に仮想マシン用スイッチを作成し、
仮想スイッチと接続することで、
仮想スイッチを介して
仮想マシンと物理NICを接続することができます。
ホストOSの通信と仮想マシン系の通信を分ける場合はこの設定を行います。
仮想スイッチの作成時に、
接続の種類で「内部ネットワーク」を選択すると、
(a)と(b)が実行されます。
後に仮想マシン用スイッチを作成し、
仮想スイッチと接続することで、
仮想スイッチを介して
ホストOSと仮想マシンを内部接続することができます。
ホストOSは外部につなぎたいけれど、
仮想マシンは外部につなぎたくない場合はこの設定を行います。
仮想スイッチの作成時に、
接続の種類で「プライベートネットワーク」を選択すると、
(a)のみが実行されます。
後に仮想マシン用スイッチを作成し、
仮想スイッチと接続することで、
仮想マシン系のみの独立したネットワークを作成することができます。
##最後に
なんとなくうちのマシン環境に引きずられて、
ネットワークの図を物理NIC✕2で書いたけれど、
物理NIC✕1で書いたほうが分かりやすかったかも。
まぁいいや。