VMware PlayerでNICが見えなくなった時の対処メモ

VMware PlayerでNICが見えなくなった時の対処メモ

久しぶりに自分のゲストLinuxにアクセスしたら息してない。という事でVMware Player上のScientific LinuxにてNICが見えなくなった時の修正メモ。

現象

外部からアクセスできない。
直接コンソールをさわってifconfigすると

lo        Link encap:Local Loopback
inet addr:127.0.0.1  Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING  MTU:16436  Metric:1
RX packets:552 errors:0 dropped:0 overruns:0 frame:0
TX packets:552 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:90509 (88.3 KiB)  TX bytes:90509 (88.3 KiB)

としかでない。eth0が無くなっている。

試しに

  1. VMwareでNIC OFF/ONしてみる。
    VMwareの管理画面から一度NICを削除→Boot→再度NICを追加→Boot。
    結果変わらず。
  2. .vmxファイルに色々書いてみる
    ネットの情報を頼りに.vmxファイルにethernet0.virtualDev = “e1000“とか書いてみましたが効果なし。

結局

ググった所、NICの認識情報は
/etc/udev/rules.d/70-persistent-net.rules
に書いてある。と読んだので確認してみたら

$ cat /etc/udev/rules.d/70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM==”net”, ACTION==”add”, DRIVERS==”?*”, ATTR{address}==”00:0c:29:45:05:82″, ATTR{type}==”1″, KERNEL==”eth*”, NAME=”eth0″

# PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM==”net”, ACTION==”add”, DRIVERS==”?*”, ATTR{address}==”00:0c:29:43:69:fd”, ATTR{type}==”1″, KERNEL==”eth*”, NAME=”eth1″

eht1として新しく認識してしまっていると判明。

一度/etc/udev/rules.d/70-persistent-net.rulesを消してreboot。
するとeth1だけになったので
sudo vi /etc/udev/rules.d/70-persistent-net.rules
してeth1をeth0に変更して保存。

これで
ifconfig eth0 up
と実行すればeth0は出る様になりました。でも起動時にまだ
と出てまだ使えない。

/etc/sysconfig/network-scripts/ifcfg-eth0
を編集し、
HWADDR=”xx:xx:xx:xx:xx:xx”
をゲストOSの.vmxに書いてある
ethernet0.generatedAddress = “xx:xx:xx:xx:xx:xx”
と合わせた所、前のネットワーク設定を引き継いで起動できるようになりました。

原因

は推測でしかないけれど、修理上がりのマザーを戻した時に「この仮想OSを移動しましたか?」みたいなメッセージが出たので「移動」を押したのが思い当たります。そこでVMwareは仮想NICに新しいMACアドレスを与えたのかも。そしてScientific LinuxではKudzuが動いて無くてシカト、って形でしょうか。

コメントを残す