1つのインターフェースでリンクが確立されない

1つのインターフェースでリンクが確立されない

私は Linux ベースのディストリビューション (Mandriva) を使用した古いコンピュータをホーム サーバー/ファイアウォールとして使用しています。当初、このコンピュータには 2 つの NIC があり、eth0マザーボード アダプタとeth110/100 PCI ネットワーク カードでした。 eth0他のデバイスが接続されている内部スイッチに接続され、eth1インターネット セットトップ ボックス ルーターに接続されていました。

時間が経ち、新しい用途が生まれると、2 枚のギガビット PCI ネットワーク カード (DLink DGE-528T) を追加しました。これにより、 と になりeth2eth3交換するカードと同じ機能で使用できるようになりました。つまり、eth2は内部スイッチに接続され、eth3はルーターに接続されます。

数週間前まではすべて正常に動作していましたが、接続が切れていることに気づきeth3、カード自体を見ると、ケーブルをプラグに差し込んでも「カチッ」という音がしなくなっていました。結局、ケーブルが酷使され、RJ45 コネクタが曲がって信頼性が低下していたことが判明しました。

そこで、eth3それほど壊れやすいコネクタがないと思われる新しいギガビット カード (TP-LINK TG-3269) に交換することにしました。このカードはこのように呼ばれeth4eth3サーバーから完全に削除されました。

しかし、新しいカードをルーターで動作させることができないようです。ルーターに接続しても、背面の LED が点灯しません。そして、予想どおり、ifplugdどちらもリンクが確立されていないことを示しています。一時的な回避策として、ダウングレード モードではありますが、サーバーが引き続き目的を果たすようにethtool使用を再開しました。eth1

カードは「ダメ」だと思ったのですが、いくつか試してみたところ、奇妙な結果が出ました。まとめると次のようになります。

  • eth4内部スイッチに接続: LEDが点灯し、1000Mbで接続が確立されます
  • 接続eth4eth0: LEDが点灯し、100Mbで接続が確立されました
  • eth2ルーターに接続: LEDが点灯し、1000Mbで接続が確立されます

つまり、eth4説明できない理由で、ルータは私のカードと通信したくないようです。

私の問題と似たようなさまざまなスレッドを調べていたところ、mii-diagツールを発見し、最初はケーブルなしで実行し、次にルーター ケーブルを接続して実行しました。結果は次のとおりです。

[obones@server ~]$ sudo mii-diag eth4
Basic registers of MII PHY #32:  1000 7949 001c c913 0de1 0000 0004 2001.
 Basic mode control register 0x1000: Auto-negotiation enabled.
 Basic mode status register 0x7949 ... 7949.
   Link status: not established.
   End of basic transceiver information.

[obones@server ~]$ sudo mii-diag eth4
Basic registers of MII PHY #32:  1000 7949 001c c913 0de1 c5e1 000f 2001.
 The autonegotiated capability is 01e0.
The autonegotiated media type is 100baseTx-FD.
 Basic mode control register 0x1000: Auto-negotiation enabled.
 Basic mode status register 0x7949 ... 7949.
   Link status: not established.
 Your link partner advertised c5e1: Flow-control 100baseTx-FD 100baseTx 10baseT-FD 10baseT, w/ 802.3X flow control.
   End of basic transceiver information.

これはギガビット対応ではないことは承知していますmii-diagが、興味深いのは、2 番目のケースではリンク パートナーが存在することが検出されたにもかかわらず、リンクが確立されていないことです。

原因は何でしょうか? 次に何を試せばいいでしょうか?


必要に応じて、いくつかの追加の詳細を次に示します。

ルーターは間違いなくギガビット対応で、eth3コネクタが故障する前は でその速度で正常に動作していました。 に接続するとeth2、ギガビット速度で同様に動作しました。

dmesg -T | grep eth4何も出力しない

lspci からの出力は次のとおりです。

00:0a.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL-8169 Gigabit Ethernet [10ec:8169] (rev 10)
    Subsystem: Realtek Semiconductor Co., Ltd. RTL-8169 Gigabit Ethernet [10ec:8169]
00:0b.0 Ethernet controller [0200]: D-Link System Inc DGE-528T Gigabit Ethernet Adapter [1186:4300] (rev 10)
    Subsystem: D-Link System Inc DGE-528T Gigabit Ethernet Adapter [1186:4300]
00:0d.0 Ethernet controller [0200]: Intel Corporation 82557/8/9/0/1 Ethernet Pro 100 [8086:1229] (rev 08)
00:13.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ [10ec:8139] (rev 10)

そして、lshw からのものです:

  *-network:0
       description: Ethernet interface
       product: RTL-8169 Gigabit Ethernet
       vendor: Realtek Semiconductor Co., Ltd.
       physical id: a
       bus info: pci@0000:00:0a.0
       logical name: eth4
       version: 10
       serial: 14:cc:20:05:38:22
       size: 10MB/s
       capacity: 1GB/s
       width: 32 bits
       clock: 66MHz
       capabilities: pm bus_master cap_list rom ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=2.3LK-NAPI duplex=half latency=64 link=no maxlatency=64 mingnt=32 multicast=yes port=MII speed=10MB/s
       resources: irq:18 ioport:a000(size=256) memory:f7109000-f71090ff memory:c0180000-c019ffff(prefetchable)
  *-network:1
       description: Ethernet interface
       product: DGE-528T Gigabit Ethernet Adapter
       vendor: D-Link System Inc
       physical id: b
       bus info: pci@0000:00:0b.0
       logical name: eth2
       version: 10
       serial: 1c:7e:e5:26:54:a0
       size: 1GB/s
       capacity: 1GB/s
       width: 32 bits
       clock: 66MHz
       capabilities: pm bus_master cap_list rom ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=2.3LK-NAPI duplex=full ip=10.10.10.254 latency=64 link=yes maxlatency=64 mingnt=32 multicast=yes port=MII speed=1GB/s
       resources: irq:19 ioport:a400(size=256) memory:f710b000-f710b0ff memory:c01a0000-c01bffff(prefetchable)
  *-network:2
       description: Ethernet interface
       product: 82557/8/9/0/1 Ethernet Pro 100
       vendor: Intel Corporation
       physical id: d
       bus info: pci@0000:00:0d.0
       logical name: eth1
       version: 08
       serial: 00:90:27:ca:ba:e8
       size: 100MB/s
       capacity: 100MB/s
       width: 32 bits
       clock: 33MHz
       capabilities: pm bus_master cap_list rom ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=e100 driverversion=3.5.24-k2-NAPI duplex=full firmware=N/A ip=192.168.1.253 latency=64 link=yes maxlatency=56 mingnt=8 multicast=yes port=MII speed=100MB/s
       resources: irq:17 memory:f710a000-f710afff ioport:ac00(size=64) memory:f7000000-f70fffff memory:c0000000-c00fffff(prefetchable)
  *-network:3
       description: Ethernet interface
       product: RTL-8139/8139C/8139C+
       vendor: Realtek Semiconductor Co., Ltd.
       physical id: 13
       bus info: pci@0000:00:13.0
       logical name: eth0
       version: 10
       serial: 00:14:85:c0:ea:2b
       size: 10MB/s
       capacity: 100MB/s
       width: 32 bits
       clock: 33MHz
       capabilities: pm bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=8139too driverversion=0.9.28 duplex=half ip=10.10.10.250 latency=64 link=no maxlatency=64 mingnt=32 multicast=yes port=MII speed=10MB/s
       resources: irq:18 ioport:e000(size=256) memory:f710d000-f710d0ff

自動ネゴシエーションなしでカードをギガビットに強制すると、この問題が解決すると思いますかeth4? 私の考えが正しければ、コマンドは次のようになります。

ethtool -s eth4 duplex full speed 1000 autoneg off

今夜試してみますが、そもそもなぜうまくいかないのでしょうか?

答え1

さて、eth4リンクが確立されない理由が分かりました。ケーブルをもう少しいじってみて、その理由が分かりました。知っておくべきことは、自宅であっても、さまざまな接続をディスパッチするためにパッチ ベイを使用しているということです。つまり、サーバーは次のような構成でルーターに接続しているということです。

server <--> cable <--> plug <--> wall <--> plug <--> patch bay <--> plug <--> router

最初のメッセージでは、eth2ルーターに 1G で接続すると述べましたが、当時はそれが正しかったのです。

しかし、今週もう一度試してみたところ、もう問題は発生しませんでした。すぐに、最初に抱えていた問題はeth3ケーブルの乱用によるものだと気付きました。そして、案の定、壁の別のプラグを使ってパッチ ベイに接続すると、eth41G でルーターに正しく接続できるようになりました。

つまり、結局のところ、これはハードウェアに関連したもので、私が期待していた種類のハードウェアではなかったということになります。

私の問題についてコメントしてくださった皆様に心から感謝します。皆さんから多くのコツを学びました。ケーブルをもっと徹底的にチェックすべきだったのに、時間を無駄にしてしまい申し訳ありません。

関連情報