No Virtual Box, como você sabe qual NIC é qual na linha de comando do Linux?

No Virtual Box, como você sabe qual NIC é qual na linha de comando do Linux?

Já me deparei com um problema algumas vezes quando estou instalando o Linux em uma máquina virtual, e todas as minhas interfaces se parecem com "enp0s3" ou "enp0s8" etc.

Em um teste, eu estava executando uma VM com 4 NICs virtuais, de alguma forma elas apareceram no Linux como:

enp0s3 enp0s8 enp0s9 enp0s17

O esquema de numeração por si só me confunde, mas não tenho certeza de como determinar qual deles aponta para qual NIC.

Se eu fizer lspci, ele me mostrará todos os dispositivos no sistema, mas não como eles se conectam à lista de interfaces... se eu fizer "ip link show", ele me mostrará todas as interfaces, mas não a NIC que eles estão anexado a. O que eu faço?

EDITAR:

Para esclarecer, não estou tentando fazer muita coisa com minha camada física de hardware. Quando procuro ver "qual nic é qual", estou tentando descobrir o melhor método para determinar qual interface (enp0sX) está apontando para qual das 4 NICs virtuais do Virtual Box. Obviamente, se você tiver uma placa de rede, isso se explica, mas se você estiver usando todas as quatro placas de rede virtuais e todas elas usarem o mesmo driver, será difícil descobrir qual é qual.

Responder1

Existem várias maneiras de descobrir isso, mas aqui estão os dois métodos mais confiáveis ​​(na minha opinião)...

Método nº 1 (mais confiável)

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 

Combine os endereços MAC com o que é mostrado nas configurações de rede da máquina (do Host). Ou seja, clique com o botão direito na VM, vá em Configurações, depois em Rede, observe o campo Endereço MAC de cada adaptador.

Outros comandos que listarão os endereços MAC incluem ip addr, ip link show, lshw -C network. Acho que o comando que postei produz a saída mais limpa.

Método #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

os números do barramento PCI estarão em ordem... 3, 8, 9, a (10). Então, isso seria traduzido para 3 = NIC 1, 8 = NIC2, etc... Observe que se os nomes de suas NICs se parecem enp0s3ou eno1então eles também deveriam estar em ordem (embora não necessariamente sequenciais), no seu caso enp0s3seria NIC 1, enp0s8seria ser NIC 2, etc ...

Responder2

enp0s3ou enp0s8são

  • Periférico da rede Ethernet
  • #
  • porta serial
  • #

Executar um dos seguintes deve ajudar (especialmente se você souber quais conexões HOST foram rotuladas no Vbox):

ip addr
ip -a
lspci  /  lsusb                 (ambos mostram números de modelo; lspcigeralmente é mais revelador)

informação relacionada