web-dev-qa-db-ja.com

Virtual Boxでは、LinuxコマンドラインからどのNICがどれであるかをどのようにして知ることができますか?

Linuxを仮想マシンにインストールしているときに問題が数回発生し、すべてのインターフェイスが「enp0s3」または「enp0s8」などのように見えます。

あるテストでは、4つの仮想NICを使用してVMを実行していましたが、Linuxでは次のように表示されました。

enp0s3 enp0s8 enp0s9 enp0s17

番号付けスキームだけでは混乱しますが、どれがどのNICを指しているのかを判断する方法がほとんどわかりません。

Lspciを実行すると、システム内のすべてのデバイスが表示されますが、インターフェイスのリストへの接続方法は表示されません。「ip link show」を実行すると、すべてのインターフェイスが表示されますが、NIC彼らは愛着を持っています。私は何をしますか?

編集:

明確にするために、私はハードウェアの物理層で何もしようとはしていません。 「どのNICがどれであるか」を確認しようとすると、どのインターフェイス(enp0sX)がVirtualBoxの4つの仮想NICのどれを指しているかを判断するための最良の方法を見つけようとしています。明らかに、NICが1つある場合、それはそれ自体を説明しますが、4つの仮想NICをすべて使用していて、それらがすべて同じドライバーを使用している場合、どれがどれであるかを判断するのは困難です。

3
Volumetricsteve

あなたがそれを理解することができるいくつかの方法があります、しかしここに2つの最も信頼できる方法があります(私の意見では)...

方法#1(最も信頼できる)

drew@debian:~$ /sbin/ifconfig -a | grep HWaddr
eth0      Link encap:Ethernet  HWaddr 08:00:27:f7:28:18  
eth1      Link encap:Ethernet  HWaddr 08:00:27:52:8b:6e  
eth2      Link encap:Ethernet  HWaddr 08:00:27:81:d7:5c  
eth3      Link encap:Ethernet  HWaddr 08:00:27:d5:22:e8 

MACアドレスを(ホストからの)マシンのネットワーク設定に表示されているものと一致させます。つまり、VM [設定]、[ネットワーク]の順に移動し、各アダプタの[MACアドレス]フィールドを確認します。

MACアドレスを一覧表示する他のコマンドにはip addrip link showlshw -C network。私が投稿したコマンドは、最もクリーンな出力を生成すると思います。

方法#2

drew@debian:~$ ls -l /sys/class/net
total 0
lrwxrwxrwx 1 root root 0 May 13 21:59 eth0 -> ../../devices/pci0000:00/0000:00:03.0/net/eth0
lrwxrwxrwx 1 root root 0 May 13 21:59 eth1 -> ../../devices/pci0000:00/0000:00:08.0/net/eth1
lrwxrwxrwx 1 root root 0 May 13 21:59 eth2 -> ../../devices/pci0000:00/0000:00:09.0/net/eth2
lrwxrwxrwx 1 root root 0 May 13 21:59 eth3 -> ../../devices/pci0000:00/0000:00:0a.0/net/eth3
lrwxrwxrwx 1 root root 0 May 13 21:59 lo -> ../../devices/virtual/net/lo

pCIバス番号は順番になります... 3、8、9、a(10)。つまり、3 = NIC 1、8 = NIC2など...になります。NICの名前はenp0s3またはeno1次に、それらも順番になっている必要があります(必ずしも連続している必要はありません)。あなたの場合はenp0s3はNIC 1、enp0s8はNIC 2など...

3
Drew Chapin