topimg.jpg


スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

【CentOS6】NICが有効化できないときの対処

自分はLinuxをVMWare上でいつも使っているが、VMWareの便利な機能としてクローン機能がある。しかし、このクローン機能で、面倒くさいトラブルにはまってしまった。

【NICが有効化できないときの対処】
●トラブル事象
一言でいうと、ネットワークがつながらない。詳細事象は以下のとおり。
①ifconfigコマンドを実行しても、ループバックアドレスしか表示されない。
②ifupコマンドでNICを有効化すると以下のエラーが発生
Device eth0 does not seem to be present, delaying initialization.
②ifconfig -aコマンド を実行すると、eth0ではなく何故かeth1が表示される
※備考
ifconfig(オプションなし):起動しているNICのみの情報を表示
ifconfig -a :存在するNIC全ての情報を表示
●原因
VMWareのクローンを作成した際、NICの設定がオリジナルのままになっていたため。ネットワーク起動スクリプトやudevルールファイルに、誤ったMACアドレスが設定されていた。
●対処
①以下のネットワーク起動スクリプトを編集する(NICが複数ある場合はその分全て確認)
/etc/sysconfig/network-scripts/ifcfg-eth0
 →HWADDRの項目があれば、削除、もしくはifconfig -aで表示される正しいMACアドレスを記載する。
②以下のudevルールファイルを編集する
/etc/udev/rules.d/70-persistent-net.rules
 →記述されている設定を全て削除。削除しても、NIC有効化のタイミングでまた更新される。
③NIC再起動
※今回は①の対処は不要であった。
●確認環境
CentOS6.0 x86_64(最小構成インストール)
●参考
・25.3.3. サブチャンネルのマッピングとネットワークデバイス名
http://docs.redhat.com/docs/ja-JP/Red_Hat_Enterprise_Linux/6/html/Installation_Guide/ap-s390info-Adding_a_Network_Device-Mapping_Subchannels_and_network_device_names.html
・NIC の設定にMACアドレスを入れないと入れ替わってしまう
http://zephel.com/archives/linuxunix/netwrork/
※/etc/modules.confが存在するディストリビューションはこっちを参考
●関連
・Linuxでのトラブル「Device eth0 has different MAC address than expected, ignoring」
http://192168111.blog71.fc2.com/blog-entry-9.html
※上記はkudzuがインストールされている場合に使える対処。今回の方法のほうが確実だね
●実行例
[root@localhost ~]# ifconfig ※トラブル事象①
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

[root@localhost ~]# ifup eth0 ※トラブル事象②
Device eth0 does not seem to be present, delaying initialization.

[root@localhost ~]# ifconfig -a ※トラブル事象③
eth1 Link encap:Ethernet HWaddr 00:0C:29:65:D7:23
inet addr:192.168.111.10 Bcast:192.168.111.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:521 errors:0 dropped:0 overruns:0 frame:0
TX packets:311 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:51436 (50.2 KiB) TX bytes:28703 (28.0 KiB)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 ※対処①(今回はHWADDRの項目がないため変更なし)
DEVICE="eth0"
NM_CONTROLLED="yes"
ONBOOT="yes"
BOOTPROTO="static"
IPADDR="192.168.111.10"
NETMASK="255.255.255.0"
GATEWAY="192.168.111.2"

[root@localhost ~]# cat /etc/udev/rules.d/70-persistent-net.rules ※udevのルール確認。
# 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 0x8086:0x100f (e1000) (custom name provided by external tool)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:65:d7:03", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
# PCI device 0x8086:0x100f (e1000) (custom name provided by external tool)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:65:d7:23", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
# PCI device 0x8086:0x100f (e1000) (custom name provided by external tool)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:65:d7:23", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

※上記を見ると、1つのNICに対して何故か3つの設定が記述されていた。3つのうち1番上はこのマシン上に存在しないMACアドレスのNICである。これはオリジナルのVMにあったNICの設定である)

[root@localhost ~]# vi /etc/udev/rules.d/70-persistent-net.rules ※対処②(上記3つのルールを全て削除する)

[root@localhost ~]# /etc/init.d/network restart ※対処③
インターフェース eth0 を終了中: [ OK ]
ループバックインターフェースを終了中 [ OK ]
ループバックインターフェイスを呼び込み中 [ OK ]
インターフェース eth0 を活性化中: [ OK ]

[root@localhost ~]# ifconfig ※結果の確認。
eth0 Link encap:Ethernet HWaddr 00:0C:29:65:D7:23
inet addr:192.168.111.10 Bcast:192.168.111.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:521 errors:0 dropped:0 overruns:0 frame:0
TX packets:311 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:51436 (50.2 KiB) TX bytes:28703 (28.0 KiB)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

[root@localhost ~]# cat /etc/udev/rules.d/70-persistent-net.rules ※udevルールファイルの更新を確認
# 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 0x8086:0x100f (e1000) (custom name provided by external tool)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:65:d7:23", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
スポンサーサイト
  1. 2011/07/19(火) 04:57:50|
  2. Linux/Unix
  3. | トラックバック:1
  4. | コメント:2
<<Excelマクロでオブジェクト型変数を扱うときのお作法 | ホーム | 【CentOS6】インストール後のIPv6Cの無効化>>

コメント

ここかぁーー!! って感じでした、助かりました^^;

>②以下のudevルールファイルを編集する
>/etc/udev/rules.d/70-persistent-net.rules

ちなみに当方はXenServer-5.6.1で確認しました。
  1. 2011/07/29(金) 23:03:28 |
  2. URL |
  3. くろえる #-
  4. [ 編集 ]

助かりました

休出で、プロキシサーバがぶっ壊れたのに対応しておりました。

HDDを同型機に移してもネットワークに繋がらず
かなりまいっていたところです。

助かりました。
  1. 2017/04/29(土) 14:40:17 |
  2. URL |
  3. わき #-
  4. [ 編集 ]

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://192168111.blog71.fc2.com/tb.php/68-171c159a
この記事にトラックバックする(FC2ブログユーザー)

CentOS6 vmware で フルクローン時、ネットワークが立ち上がらない

自分用メモCentOS6 ミニマルでインストールそのままVMwareでフルクロ...
  1. 2012/04/17(火) 20:41:45 |
  2. kaiman++ 悔い無く過ごす!
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。