2012-01-12 38 views
3

次の問題があります。私のPCは非常に古く、イーサネットポートが組み込まれています。設定が正しくないためではなく、物理的に破損していると思います。それはUbuntuでもWindowsでも動作しませんでした。私は使用しているイーサネットPCIカードを持っています。問題は、何らかの奇妙な理由から、時々eth0からeth1へと変化するカードで、dhcpdを実行する必要があります。なぜなら、DHCP経由でIPを取得するとは限らないからです。さて、実際の問題は、MACアドレスなどを使用して動作しないカードを無効にする方法はありますか? eth0またはeth1のいずれかを無効にすることはできません。なぜなら、常に同じカードを「指している」とは限りません。アーチLinuxのネットワークインターフェイスを無効にする

答えて

6

チップセットは同じ種類ですか、別の種類ですか?

おそらく最も簡単な解決策は、そのイーサネットチップセットのモジュールをブラックリストに登録することです。

最初(これはeth0のためである)モジュール名を見つける必要があります:あなたは、次のようなものを持っている場合

dmesg | grep eth0 

は参照してください:私の場合は

[ 2.209295] r8169 0000:05:00.0: eth0: RTL8168d/8111d at 0xffffc90000c6e000, 00:24:1d:11:b6:64, XID 081000c0 IRQ 44 

「r8169」ですモジュール名現在ロードされているモジュールのリストを 'lsmod'で見ることもできますので、そこに表示されていることを確認してください。

次はモジュールをブラックリストにする必要があります。そのためにentry on the Arch wikiがあります。

+1

それはトリックでした。どうもありがとうございました。 – Heldraug

4

私はあなたの説明からこれをオンボードNICに集めています。最善の解決策は、OSではなくマザーボードのBIOSで無効にすることです。この方法はメーカーによって異なりますが、あなたのモデルのオンラインマニュアルをどこかで見つけることができます。

+0

私はBIOSからそれを無効にすることは考えていませんでした。もう一方の回答は私の問題を解決しましたが、私はあなたが正しいと思います。あなたの答えをありがとう。 – Heldraug

6

ここに弓矢があります。ハードウェアのPCI IDに基づいて、nVidiaグラフィックカードのHDMIポートオーディオチップを無効にする方法があります。に「削除」という名前のファイルがあるはずです

$ find /sys/devices -name *00:19.0 
/sys/devices/pci0000:00/0000:00:19.0 

は、イーサネットのPCI IDを検索:

$ lspci | grep Eth 
00:19.0 Ethernet controller: Intel Corporation 82579V Gigabit Network Connection (rev 05) 

は、対応するディレクトリを検索し、おそらくあなたは、あなたのNICに同じアプローチを適用することができそのディレクトリ。 あなたは考え直しでは/etc/rc.local

echo 1 > /sys/devices/pci0000:00/0000:00:19.0/remove 

を編集することで、起動時にデバイスを無効にすることができます。 /etc/rc.localの終了前にモジュールがロードされた場合、/ dev/eth0と/ dev/eth1が「間違った」順序で割り当てられていると少しうまくいくでしょう/etc/rc.confそれらのうちの1つを無効にしてください...あなたはまだeth1として好みのニックに終わることができます。これは、複数のサウンドカード上のalsaの問題でしたので、モジュールのパラメータを使用してカードの番号付けを割り当てる方法が考案されました。おそらくモジュール自体がこれを許しているでしょうか?

+0

私はもはやそのコンピュータを持っていないので、私はもうそれをテストすることができないのではないかと心配していますが、実際それは理にかなっています。どうもありがとうございました。 – Heldraug

関連する問題