ボールを蹴りたいシステムエンジニア

ボール蹴りが大好きなシステムエンジニア、ボールを蹴る時間確保の為に時間がある時には勉強する。

VMwareの環境コピーでMACアドレスが変わった場合の対処方法

VMwareの仮想環境をコピー後、IPを変更しようとするとエラー発生。

ネットワーク再起動時にエラー・・

[root@localhost Desktop]# /etc/init.d/network restart
ループバックインターフェースを終了中                       [  OK  ]
ループバックインターフェイスを呼び込み中                   [  OK  ]
インターフェース eth0 を活性化中:  エラー: 適切なデバイスが見付かりません: 接続 'System eth0'用のデバイスが見付かりません
                                                           [失敗]

VMWare 側で認識していた NICMAC アドレスと、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)

解決