VMWare Playerの設定で「ネットワークアダプタ」を追加したにも関わらず、ゲストOS(CentOS7)ではNICが追加されていない、ということが起きた際の対処方法を述べる。
環境
-
ハードウェア
NICは1000Base-Tが1つのみ。 -
ソフトウェア
VMWare Player 7.1.0
ホストOS:Windows 7 (64bit)
ゲストOS:CentOS 7(1503)
手順
要は、ゲストOSが保存されているフォルダ(例えば C:\Users\ユーザ名\Documents\Virtual Machines\VM名 )へ移動して、vmxファイルをテキストエディタで開いて編集すればよい。
以下に、実際に進めた手順を述べる。
仮想マシン作成時のハードウェア設定では、
・ネットワークアダプタ ブリッジ(自動)
・ネットワークアダプタ2 ホストオンリー
のように設定した。この場合、vmxファイルのethernet[0-1]は次のようになっていた。
ethernet0.present = "TRUE"
ethernet0.virtualDev = "e1000"
ethernet0.wakeOnPcktRcv = "FALSE"
ethernet0.addressType = "generated"
ethernet0.linkStatePropagation.enable = "TRUE"
ethernet1.present = "TRUE"
ethernet1.vnet = "VMnet1"
ethernet1.connectionType = "hostonly"
ethernet1.wakeOnPcktRcv = "FALSE"
ethernet1.addressType = "generated"
この状態でOSインストールし、deviceを確認すると以下の通り。
Ethernet(en)が1つしかない。
[root@host01 ~]# nmcli device
DEVICE TYPE STATE CONNECTION
virbr0 bridge connected virbr0
eno16777736 ethernet connected eno16777736
virbr0-nic tap connected virbr0-nic
lo loopback unmanaged --
そのため一旦ゲストOSを落とし、vmxファイルを以下のように修正。
・ethernet1.vnet行を削除
・ethernet1.virtualDev = "e1000" を追加
補足:ethernet1.virtualDevの値(今回は"e1000")については、ethernet0と同じにすれば良い。
ethernet0.present = "TRUE"
ethernet0.virtualDev = "e1000"
ethernet0.wakeOnPcktRcv = "FALSE"
ethernet0.addressType = "generated"
ethernet0.linkStatePropagation.enable = "TRUE"
ethernet1.present = "TRUE"
ethernet1.virtualDev = "e1000"
ethernet1.connectionType = "hostonly"
ethernet1.wakeOnPcktRcv = "FALSE"
ethernet1.addressType = "generated"
変更後、ゲストOSを立ち上げて確認。
[root@host01 ~]# nmcli device
デバイス タイプ 状態 接続
virbr0 bridge 接続済み virbr0
eno16777736 ethernet 接続済み eno16777736
eno33554960 ethernet 接続済み 有線接続 1
virbr0-nic tap 接続済み virbr0-nic
lo loopback 管理無し --
[root@host01 ~]# export LANG=C
[root@host01 ~]# nmcli device
DEVICE TYPE STATE CONNECTION
virbr0 bridge connected virbr0
eno16777736 ethernet connected eno16777736
eno33554960 ethernet connected ???? 1
virbr0-nic tap connected virbr0-nic
lo loopback unmanaged --
eno33554960が追加された。ただ、接続(CONNECTION)列が「優先接続 1(???? 1)」となってしまったことと、/etc/sysconfig/network-scrips/ifcfg-eno33554960が作られていないことを確認。
nmtuiでeno33554960のプロファイル名を編集して接続(CONNECTION)を修正。このnmtuiの保存の際、/etc/sysconfig/network-script/ifcfg-eno33554960も生成されて一段落。
IPアドレスを確認すると、ホストオンリーネットワーク(192.168.238.X/24)に無事接続できていることも確認。
[root@host01 ~]# ip a s eno33554960
3: eno33554960: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:9d:1a:14 brd ff:ff:ff:ff:ff:ff
inet 192.168.238.129/24 brd 192.168.238.255 scope global dynamic eno33554960
valid_lft 1541sec preferred_lft 1541sec
inet6 fe80::20c:29ff:fe9d:1a14/64 scope link
valid_lft forever preferred_lft forever