2016-10-19 7 views
1

私のUbuntuマシンに新しいNICカードを追加すると、何が問題になるのですか? デバイスのハードウェアアドレスを名前(eth0/eth1)にマップするプログラム/モジュール。このマッピング(HWaddress1-eth0、HWaddress2-eth1)は実際にどこに格納されていますか?Linux(Ubuntu)マシンでは、ハードウェアアドレスはeth0/eth1にどのようにマップされていますか?

+0

「HWaddress1」はどういう意味ですか?これは物事の仕方ではありません。ロードされたドライバはデバイスを見つけ、それらを1つずつ並べるだけです。典型的には、いくつかの組み込み名の提案によって、オーバーライドすることができます。すべてのネットワークデバイスが 'ethxxx'という名前ではありません... – arkascha

+0

ちょっと、私はいくつかのデバイスのハードウェアアドレスを意味しました。私たちはNICカードを扱うために(ethxxxxのような)名前を使用しているので、実際にこれらのマッピング(名前へのアドレス)がどこに格納されているか知りたいのです。 – user3170122

+0

このコメントはどのような意味を持っていますか?あなたがすでに書いたことを繰り返すだけです。上記のように、ハードウェアアドレスはデバイスの命名には関係ありません。 – arkascha

答えて

2

私が知る限り、カーネル自体は、バスに接続されている順番に応じてネーミングに名前を付けます。この動作は、SCSI/SATAの命名と非常によく似ています。

は、あなたがそこに対応するネットワークカードを見つける必要があり

lspci 

の出力を見てみましょう。例えば第1列。

0000 : PCI domain (each domain can contain up to 256 PCI buses) 
00 : the bus number the device is attached to 
03 : the device number 
.0 : PCI device function 

(ソース:http://prefetch.net/articles/linuxpci.html)/ SYS /バス/ PCI(_express)/デバイスは/あなたがlspciの出力に一致するリンクがあります下

0000:00:03.0は、以下の情報が含まれています。あなたのネットワークカードのフォルダを入力すると、たくさんのファイルとフォルダがあります。

あなたは、検索を行うと、ethXをが

./virtio0/net/ethX/uevent:INTERFACE=eth0 

(のvirtioデバイスと私の場合は仮想マシン)

のような出力を得るためにあなたのデバイス名です

cd /sys/bus/.../devices/0000:00:03.0/ 
[email protected]:/sys/bus/pci/devices/0000:00:03.0$ find -type f -exec grep 'ethX' /dev/null {} \; 2>/dev/null 

をgrepすることができます

この情報は実行中のカーネルから得られたものなので、そこにはハードウェアアドレスもあります。

ハッピーグロッピング!

関連する問題