初めに
・Hyper-Vにおける内部の仮想ネットワーク設定方法
・IPはcentos内のifcfg(インターフェース設定ファイル)で固定
・サンプルのOSはCentOS7とUbuntu(20.04 desktop)
・多分もっと良い方法はあるかと
ざっくり
- 内部の仮想スイッチを作成
- 作成したスイッチをホストのネットワークと連携(内部からのネットワーク接続を可能とするため)
- 仮想マシンにネットワークアダプターとして、スイッチを設定
- インターフェース設定ファイルに記述し、設定再起動
詳細(ざっくりに沿って)
1.内部の仮想スイッチを作成
1.1. ツールバーの操作から「仮想スイッチ マネージャー」を選択
1.2. 左側で「新しい仮想ネットワークスイッチ」、右側で「内部」を選択し、「新しい仮想スイッチの作成」のボタンを押す
1.3. 名前にスイッチの名称を設定(ここではvsw-internal)し、「適用」ボタン⇒「OK」ボタンを押す
2. 作成したスイッチをホストのネットワークと連携
2.1. インターネットに接続しているしているネットワークのプロパティを開き、共有タブから作成したスイッチの接続を許可する
※コンパネからの「ネットワーク接続」等から表示できるはず
※ホスト再起動したら、毎回オンオフをやらないといけないっぽい
3. 仮想マシンにネットワークアダプターとして、スイッチを設定
3.1. Hyper-VマネージャーのOSの設定を開き、ネットワークアダプターに作成したスイッチを設定し、「適用」⇒「OK」を押す
※仮想環境を右クリックすれば「設定」を選択し、ウィンドウを表示できる
4. インターフェース設定ファイルに記述し、設定再起動
4.1. ホスト側で「ipconfig」等を行い、作成したスイッチのIPv4とサブネットの設定を確認する
4.2. OS内からインターフェースファイルを編集する
4.2.1. CentOS
cd /etc/sysconfig/network-scripts
vi ifcfg-eth0
編集内容
-ONBOOT=no
+ONBOOT=yes
-BOOTPROTO=dhcp
+BOOTPROTO=static
+IPADDR=[IPV4の先頭3つ].[任意で設定]
+DNS1=[IPV4]
+NETMASK=[サブネットのIP]
+GATEWAY=[IPV4]
設定例(上記ipconfig時における例)
IPADDR=192.168.137.55
DNS1=192.168.137.1
NETMASK=255.255.255.0
GATEWAY=192.168.137.1
4.2.2. Ubuntu
cd /etc/netplan
sudo vi 10-network-manager.yaml
※10-network-manager.yamlは新規作成
設定例(上記ipconfig時における例)
10-network-manager.yaml
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: false
dhcp6: false
addresses: [192.168.137.55/24]
gateway4: 192.168.137.1
nameservers:
addresses: [192.168.137.1]
4.3. ネットワークインターフェースの再起動
4.3.1. centos
ifdown ifcfg-eth0
ifup ifcfg-eth0
4.3.2. ubuntu
sudo netplan apply
ネットの確認方法
- pingでgoogle.comなどにつないで、ネット接続、名称解決ができているかの確認
- TeraTerm 等でIPADDRの接続先にssh接続確認できるかを確認
とか、、
現在調査中
ホストを再起動した場合は、2.1 の画面で、一旦チェックを外して設定後、再度チェックを入れて設定しないと、接続できないみたい、、、なんか良い方法を模索中、、、