Posted at

Hyper-Vのネットワーク設定についての覚え書き

More than 1 year has passed since last update.

この記事は、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の

「ネットワークと共有センター>アダプターの設定の変更」

から見えてるネットワークアダプターはこんな感じ。

Capu041.png

ネットワーク接続を図にするとこんな感じです。

01.png


余談:うちの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)外部ネットワーク+管理オペレーティングシステムにネットワークアダプタの共有を許可する

Capu035.png

仮想スイッチの作成時に、

接続の種類で「外部ネットワーク」を選択し、

「管理オペレーティングシステムにこのネットワークアダプタの共有を許可する」のチェックを入れると、

(a)と(b)と(c)が実行されます。

02.png

後に仮想マシン用スイッチを作成し、

仮想スイッチと接続することで、

仮想スイッチを介して

ホストOSと仮想マシンと物理NICを接続することができます。

1つの物理NICで、外部とホストOSと仮想マシンの通信を行えるようになります。

03.png


(2)外部ネットワーク+管理オペレーティングシステムにネットワークアダプタの共有を許可しない

Capu036.png

仮想スイッチの作成時に、

接続の種類で「外部ネットワーク」を選択し、

「管理オペレーティングシステムにこのネットワークアダプタの共有を許可する」のチェックを外すと、

(a)と(c)が実行されます。

04.png

後に仮想マシン用スイッチを作成し、

仮想スイッチと接続することで、

仮想スイッチを介して

仮想マシンと物理NICを接続することができます。

ホストOSの通信と仮想マシン系の通信を分ける場合はこの設定を行います。

05.png


(3)内部ネットワーク

Capu037.png

仮想スイッチの作成時に、

接続の種類で「内部ネットワーク」を選択すると、

(a)と(b)が実行されます。

06.png

後に仮想マシン用スイッチを作成し、

仮想スイッチと接続することで、

仮想スイッチを介して

ホストOSと仮想マシンを内部接続することができます。

ホストOSは外部につなぎたいけれど、

仮想マシンは外部につなぎたくない場合はこの設定を行います。

07.png


(4)プライベートネットワーク

Capu039.png

仮想スイッチの作成時に、

接続の種類で「プライベートネットワーク」を選択すると、

(a)のみが実行されます。

08.png

後に仮想マシン用スイッチを作成し、

仮想スイッチと接続することで、

仮想マシン系のみの独立したネットワークを作成することができます。

09.png


最後に

なんとなくうちのマシン環境に引きずられて、

ネットワークの図を物理NIC✕2で書いたけれど、

物理NIC✕1で書いたほうが分かりやすかったかも。

まぁいいや。