
私は Linux ベースのディストリビューション (Mandriva) を使用した古いコンピュータをホーム サーバー/ファイアウォールとして使用しています。当初、このコンピュータには 2 つの NIC があり、eth0
マザーボード アダプタとeth1
10/100 PCI ネットワーク カードでした。
eth0
他のデバイスが接続されている内部スイッチに接続され、eth1
インターネット セットトップ ボックス ルーターに接続されていました。
時間が経ち、新しい用途が生まれると、2 枚のギガビット PCI ネットワーク カード (DLink DGE-528T) を追加しました。これにより、 と になりeth2
、eth3
交換するカードと同じ機能で使用できるようになりました。つまり、eth2
は内部スイッチに接続され、eth3
はルーターに接続されます。
数週間前まではすべて正常に動作していましたが、接続が切れていることに気づきeth3
、カード自体を見ると、ケーブルをプラグに差し込んでも「カチッ」という音がしなくなっていました。結局、ケーブルが酷使され、RJ45 コネクタが曲がって信頼性が低下していたことが判明しました。
そこで、eth3
それほど壊れやすいコネクタがないと思われる新しいギガビット カード (TP-LINK TG-3269) に交換することにしました。このカードはこのように呼ばれeth4
、eth3
サーバーから完全に削除されました。
しかし、新しいカードをルーターで動作させることができないようです。ルーターに接続しても、背面の LED が点灯しません。そして、予想どおり、ifplugd
どちらもリンクが確立されていないことを示しています。一時的な回避策として、ダウングレード モードではありますが、サーバーが引き続き目的を果たすようにethtool
使用を再開しました。eth1
カードは「ダメ」だと思ったのですが、いくつか試してみたところ、奇妙な結果が出ました。まとめると次のようになります。
eth4
内部スイッチに接続: LEDが点灯し、1000Mbで接続が確立されます- 接続
eth4
先eth0
: 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
ケーブルの乱用によるものだと気付きました。そして、案の定、壁の別のプラグを使ってパッチ ベイに接続すると、eth4
1G でルーターに正しく接続できるようになりました。
つまり、結局のところ、これはハードウェアに関連したもので、私が期待していた種類のハードウェアではなかったということになります。
私の問題についてコメントしてくださった皆様に心から感謝します。皆さんから多くのコツを学びました。ケーブルをもっと徹底的にチェックすべきだったのに、時間を無駄にしてしまい申し訳ありません。