VMwareの環境コピーでMACアドレスが変わった場合の対処方法
VMwareの仮想環境をコピー後、IPを変更しようとするとエラー発生。
ネットワーク再起動時にエラー・・
[root@localhost Desktop]# /etc/init.d/network restart ループバックインターフェースを終了中 [ OK ] ループバックインターフェイスを呼び込み中 [ OK ] インターフェース eth0 を活性化中: エラー: 適切なデバイスが見付かりません: 接続 'System eth0'用のデバイスが見付かりません [失敗]
VMWare 側で認識していた NIC の MAC アドレスと、CentOS 側で認識していた eth0 のMAC アドレスの値に相違がある事が原因らしい。
ifconfigでetc0が無く、etc1がある。
コピー元の仮想環境ではetc0を設定していたのに。
ちなみに、HWaddrがMACアドレスですが、コピー元と異なってました。
[root@localhost Desktop]# ifconfig eth1 Link encap:Ethernet HWaddr 00:0C:29:52:42:AF inet addr:192.168.10.119 Bcast:192.168.10.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe52:42af/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:36 errors:0 dropped:0 overruns:0 frame:0 TX packets:20 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:6162 (6.0 KiB) TX bytes:2109 (2.0 KiB)
eth0の設定ファイル見ると、MACアドレスの値(HWADDR)が古いまま。
[root@localhost Desktop]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE="eth0" BOOTPROTO="none" HWADDR="00:0C:29:B2:B1:23"
この違いが原因かな。
インストール済みのHDDを移動したりLANカードを差し替えるとMACアドレスが変更になるが、VWwareでも同様にMACアドレスが変わるみたい。
70-persistent-net.rulesの設定を見ても、新しくetc1が追加されており、etc1の方に新しいMACアドレスが設定されてる。
[root@localhost Desktop]# cat /etc/udev/rules.d/70-persistent-net.rules # PCI device 0x8086:0x100f (e1000) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:b2:b1:23", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" # PCI device 0x8086:0x100f (e1000) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:52:42:af", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
対処方法
70-persistent-net.rulesを修正。
[root@localhost Desktop]# vi /etc/udev/rules.d/70-persistent-net.rules
etc1の設定を削除し、etc0のATTRを適切なMACアドレスに変更。
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:52:42:af", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
etc0の設定
[root@localhost Desktop]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
HWADDRを適切なMACアドレスに変更
HWADDR="00:0c:29:52:42:af"
ネットワーク再起動
エラー発生せず成功。
[root@localhost Desktop]# /etc/init.d/network restart ループバックインターフェースを終了中 [ OK ] ループバックインターフェイスを呼び込み中 [ OK ] インターフェース eth0 を活性化中: アクティブ接続の状態: アクティベート中 アクティブ接続のパス: /org/freedesktop/NetworkManager/ActiveConnection/1 状態: アクティベート済み 接続はアクティベート済み [ OK ]
OS再起動
reboot
ネットワークにetc0が認識されている事を確認。
[root@localhost Desktop]# ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:29:52:42:AF inet addr:192.168.10.20 Bcast:192.168.10.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe52:42af/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:31 errors:0 dropped:0 overruns:0 frame:0 TX packets:28 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:4433 (4.3 KiB) TX bytes:2024 (1.9 KiB)
解決