HP Proliant DL 360 G4pサーバーで奇妙な問題が発生しています。2つのギガビットイーサネットインターフェイスがありますが、そのうちの1つしか起動できません。これは私を驚かせ始めています。ここを向いた理由x64 ubuntu 11.10サーバーエディションを実行しています。
lshw -c networkは、2番目のインターフェースが無効であることを示しています。なぜそれを有効にするのか、そしてどうしてそれを有効にするのか私にはわかりません。
$ Sudo lshw -c network
*-network:0
description: Ethernet interface
product: NetXtreme BCM5704 Gigabit Ethernet
vendor: Broadcom Corporation
physical id: 2
bus info: pci@0000:02:02.0
logical name: eth0
version: 10
serial: 00:18:71:e3:6d:26
size: 100Mbit/s
capacity: 1Gbit/s
width: 64 bits
clock: 66MHz
capabilities: pcix pm vpd msi bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=tg3 driverversion=3.119 duplex=full firmware=5704-v3.27b, ASFIPMIc v2.36 ip=10.48.8.x latency=64 link=yes mingnt=64 multicast=yes port=twisted pair speed=100Mbit/s
resources: irq:25 memory:fdf70000-fdf7ffff
*-network:1 DISABLED
description: Ethernet interface
product: NetXtreme BCM5704 Gigabit Ethernet
vendor: Broadcom Corporation
physical id: 2.1
bus info: pci@0000:02:02.1
logical name: eth1
version: 10
serial: 00:18:71:e3:6d:25
capacity: 1Gbit/s
width: 64 bits
clock: 66MHz
capabilities: pcix pm vpd msi bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=tg3 driverversion=3.119 firmware=5704-v3.27b latency=64 link=no mingnt=64 multicast=yes port=twisted pair
resources: irq:26 memory:fdf60000-fdf6ffff
Ifup eth1を実行しようとすると、
$ Sudo ifup eth1
Ignoring unknown interface eth1=eth1.
/ etc/network/interfacesにeth1がリストされていないときにそれが起こると私は考えました。しかし、eth1の構成を追加しても、ifupを実行できません。
$ Sudo ifup eth1
RTNETLINK answers: File exists
Failed to bring up eth1.
I've also tried ifconfig eth1 up but without any result.
わかりやすくするために、/ etc/network/interfacesのマスクバージョンを追加しました。それが問題の原因だとは思わない。
$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 10.48.8.x
netmask 255.255.255.y
network 10.48.8.z
broadcast 10.48.8.t
gateway 10.48.8.u
auto eth1
iface eth1 inet static
address 193.190.253.x
netmask 255.255.255.y
network 193.190.253.z
broadcast 193.190.253.t
gateway 193.190.253.u
これを修正するのに本当に助けが必要です。それは私を夢中にさせています。ありがとう。
私は解決策を見つけました。/etc/network/interfacesに2つのゲートウェイが定義されていましたが、単純に複数のゲートウェイを持つことはできません。意味がない。
ゲートウェイは、すべてのトラフィックを送信するIPです。 2つある場合、ルーティングテーブルにはdest 0.0.0.0の二重エントリがあり、システムはこれを処理できません。ダブルルートは、RTNETLINKが「ファイルが存在する」と回答する原因になります。つまり、0.0.0.0のルートがすでに存在しています。
ゲートウェイの1つをコメントアウトしたので、eth0とeth1の両方をifupできます。
tl; drゲートウェイエントリを1つだけ残るまで削除します。
これから link エラーを修正するのに役立つ多くのことを学びました。
/ etc/network/interfacesのeth0設定の下に次の行を追加するだけです:
pre-up ip addr del 192.168.1.254/24 dev eth0 2>/dev/null ||本当
これは最も美しいソリューションではありませんが、少なくとも機能します。クレジットはgrapsus.netとgoogleの所有者に送られます。
一方のみを開始する場合は、もう一方のauto ethX
仕様を削除します。これは、インターフェースを自動的に開始する必要があることを示しています。 1つのインターフェイスで問題が発生している場合は、問題を解決するまで手動で起動すると役立つ場合があります。
また、両方のインターフェースがアクティブである場合、デフォルトのルートにすべきではないインターフェースにルーティングメトリックを設定することもできます。
インターフェースを開始しようとした後、dmesg
の出力を確認することができます。これにより、生成されたカーネルメッセージが表示され、診断が容易になる場合があります。 mii-tool
が利用可能な場合は、インターフェースに関する適切な情報を提供できます。
出力の2番目の部分の真ん中はlink=no
。
ケーブルが緩んでいるか壊れていると思います。また、一方の端にNIC=が表示される場合もあります。
ILOポートにいないことを確認しますか?