LinuxがLANに繋がらなくなった!そんな時に参考になるかもしれない対処法

Pocket

インストール時やインストール直後には問題は無かったものの、PCやルータ(ハブ)のLANコネクタのランプが点滅しているにも関わらずLANに繋がらない場合があります。
そんな時はLinux上で以下を試してみて下さい。
もしかしたら解決できるかもしれません。

今回の環境

CentOS 5.9


スポンサードリンク


まずはifconfigで現状の確認を行います。
以下は正常な場合の結果です。

[root@server ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:01:4A:9E:84:27
          inet addr:192.168.11.11  Bcast:192.168.11.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:50 errors:0 dropped:0 overruns:0 frame:0
          TX packets:52 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:6568 (6.4 KiB)  TX bytes:6446 (6.2 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:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:560 (560.0 b)  TX bytes:560 (560.0 b)

正常にIPアドレスが割り振られています。
このような結果であるにも関わらずLANに接続できない場合は、今回紹介するものとは別のケースになると思います。



さて、自分の環境ではインストール時とインストール直後には問題は無かったものの、以下のような状態になっておりLANに接続できない状況になってしました。確定情報ではありませんが、直前にyum updateを行っていたのでその影響の可能性もあります。くどいようですが未確定情報です。

現象

eth0であったのにeth1になっていた


また、その際、ifconfigの結果に
           inet addr:192.168.11.11  Bcast:192.168.11.255  Mask:255.255.255.0
の行が無くネットワークに繋がりませんでした
 
こんな感じ。eth1にIPアドレスが付与されていません。

[root@server ~]# ifconfig
eth1      Link encap:Ethernet  HWaddr 00:01:4A:9E:84:27
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:50 errors:0 dropped:0 overruns:0 frame:0
          TX packets:52 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:6568 (6.4 KiB)  TX bytes:6446 (6.2 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:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:560 (560.0 b)  TX bytes:560 (560.0 b)


試しにeth1の設定を見てみましょう

[root@server network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@server network-scripts]# view ifcfg-eth1
# Intel Corporation 82562ET/EZ/GT/GZ - PRO/100 VE (LOM) Ethernet Controller Mobile
DEVICE=eth1
BOOTPROTO=dhcp
ONBOOT=yes
HWADDR=00:01:4a:9e:84:27

ちなみに当方のルーターはDHCP機能をOFFにしています。
DHCP機能をONにしていたらこの設定のままLANに接続できたのかもしれませんね。

しかしサーバー用途として使用する都合上、固定IPを割り振りたいので以下の作業を行います。

[root@server network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@server network-scripts]# ll ifcfg-eth*
-rw-r--r-- 1 root root 191  9月 11 00:58 ifcfg-eth0.bak
-rw-r--r-- 3 root root 191  9月 11 00:58 ifcfg-eth0.bak
-rw-r--r-- 3 root root 146  9月 11 07:08 ifcfg-eth1

ifcfg-eth0.bakがある場合
[root@server network-scripts]# mv ifcfg-eth0.bak ifcfg-eth0
ifcfg-eth0.bakがない場合

[root@server network-scripts]# vi ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
HWADDR=00:01:4A:9E:84:27
IPADDR=192.168.11.11
NETMASK=255.255.255.0
ONBOOT=yes
IPADDRとNETMASKはそれぞれの環境に合わせて設定してください。


余計な設定ファイルの名前を変更します。
最終的にifcfg-eth0以外は削除するか名前の最後に.bakを付けて下さい。
例えばこんな感じです。

[root@server network-scripts]# ll ifcfg-eth*
-rw-r--r-- 1 root root 191  9月 11 00:58 ifcfg-eth0
-rw-r--r-- 3 root root 191  9月 11 00:58 ifcfg-eth0.bak
-rw-r--r-- 3 root root 146  9月 11 07:08 ifcfg-eth1.bak


/etc/modprobe.confの以下の部分を編集します。(rebootしても設定が有効のままになるように)
alias eth1 e100
alias eth0 e100


ネットワークサービスを再起動します。

service network restart
[root@server network-scripts]# service network restart
インターフェース eth0 を終了中:                            [  OK  ]
ループバックインターフェースを終了中                       [  OK  ]
ループバックインターフェイスを呼び込み中                   [  OK  ]
インターフェース eth0 を活性化中:                          [  OK  ]

仮にifcfg-eth1(.bakを付け忘れ)が存在した場合、こんな感じのエラーが出ます。

[root@server network-scripts]# service network restart
インターフェース eth0 を終了中:                            [  OK  ]
ループバックインターフェースを終了中                       [  OK  ]
ループバックインターフェイスを呼び込み中                   [  OK  ]
インターフェース eth0 を活性化中:                          [  OK  ]
インターフェース eth1 を活性化中:  e100 デバイス eth1 は存在しないようですので、初期化を遅らせます。
                                                           [失敗]
なんだか気持ち悪いのでifcfg-eth1.bakにしておきましょう。


念のため、ちゃんと反映するか確認します。

[root@server network-scripts]# reboot
[root@server network-scripts]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:01:4A:9E:84:27
          inet addr:192.168.11.11  Bcast:192.168.11.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:303 errors:0 dropped:0 overruns:0 frame:0
          TX packets:314 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:29092 (28.4 KiB)  TX bytes:52358 (51.1 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:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:560 (560.0 b)  TX bytes:560 (560.0 b)

eth0に以下が表示されました(IPアドレスが付与されました)
inet addr:192.168.11.11 Bcast:192.168.11.255 Mask:255.255.255.0


念の為pingで確認します(googleさんすみません)

[root@server network-scripts]# ping -c 5 google.com
PING google.com (74.125.235.110) 56(84) bytes of data.
64 bytes from nrt19s02-in-f14.1e100.net (74.125.235.110): icmp_seq=1 ttl=55 time=99.3 ms
64 bytes from nrt19s02-in-f14.1e100.net (74.125.235.110): icmp_seq=2 ttl=55 time=99.1 ms
64 bytes from nrt19s02-in-f14.1e100.net (74.125.235.110): icmp_seq=3 ttl=55 time=84.4 ms
64 bytes from nrt19s02-in-f14.1e100.net (74.125.235.110): icmp_seq=4 ttl=55 time=94.5 ms
64 bytes from nrt19s02-in-f14.1e100.net (74.125.235.110): icmp_seq=5 ttl=55 time=85.8 ms

以上でこの問題は解決されたかと思います。
もし間違い等がございましたらコメントにてご指摘願います。




お役に立てましたか?

ブックマークをどうぞ!

スポンサード リンク