Listando o hardware da rede - por que o Ubuntu às vezes oculta a eth0 até que ela seja conectada?

0

No meu laptop, eu tenho o Ubuntu 14.04. Este laptop tem um conector RJ45 para Ethernet com fio e wireless / WiFi. Eu notei, no entanto, que neste laptop, logo após a reinicialização, eu tenho apenas isso:

$ ifconfig
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:608 errors:0 dropped:0 overruns:0 frame:0
          TX packets:608 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:76086 (76.0 KB)  TX bytes:76086 (76.0 KB)

wlan0     Link encap:Ethernet  HWaddr XX:71:XX:XX:b1:XX  
          inet addr:YY.0.XX.XX  Bcast:YY.0.XX.XX  Mask:255.255.0.0
          inet6 addr: fe80::XXXX:XXXX:fe3f:b1db/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2589 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2044 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1458453 (1.4 MB)  TX bytes:292837 (292.8 KB)

Na verdade, se eu desligar a rede sem fio / desmarcar a opção "Habilitar Wi-Fi" no miniaplicativo Gerenciador de rede, só tenho isto:

$ ifconfig
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:1794 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1794 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:178068 (178.0 KB)  TX bytes:178068 (178.0 KB)

Como você pode ver a partir dos ifconfig dumps acima, eth0 correspondente à rede ethernet com fio não está listado! E, de fato, ele não aparecerá, até eu conectar o laptop com um roteador / switch, e o laptop conseguir um endereço IP !? Na verdade, embora não haja nada conectado ao conector RJ45, o laptop relata apenas isso via lshw :

$ sudo lshw -c network
  *-network               
       description: Wireless interface
       product: AR9485 Wireless Network Adapter
       vendor: Qualcomm Atheros
       physical id: 0
       bus info: pci@0000:01:00.0
       logical name: wlan0
       version: 01
       serial: XX:71:XX:XX:b1:XX
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list rom ethernet physical wireless
       configuration: broadcast=yes driver=ath9k driverversion=4.2.0-42-generic firmware=N/A ip=YY.0.XX.XX latency=0 link=yes multicast=yes wireless=IEEE 802.11bgn
       resources: irq:16 memory:f7c00000-f7c7ffff memory:f7c80000-f7c8ffff

Observe que o adaptador com fio / eth0 não está listado em lugar nenhum!

Caso contrário, quando conectei o conector RJ45 do laptop com um cabo de rede a um roteador ou cabo de Internet, recebo uma entrada ifconfig como:

eth0      Link encap:Ethernet  HWaddr XX:XX:2b:XX:XX:XX
          inet6 addr: fe80::YYYY:YYYY:fe0a:YYYY/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6 errors:0 dropped:0 overruns:0 frame:0
          TX packets:61 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1980 (1.9 KB)  TX bytes:12108 (12.1 KB)

Na verdade, no snippet acima, o eth0 nem recebeu um endereço IP4 atribuído; então, aparentemente, tudo o que importa é que esteja conectado de alguma forma a uma rede Ethernet.

Observe que, neste laptop, /etc/network/interfaces estava contendo apenas:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

... no entanto, adicionei auto eth0 como última linha, salvei e reiniciei - e não houve nenhuma mudança no comportamento (por exemplo, eth0 ainda estava oculto, até estar conectado).

Agora, por outro lado, gerencio uma máquina desktop como um servidor Ubuntu (também 14.04), e nela sempre vi eth0 aparecer em ifconfig - mesmo que eu tenha puxado o cabo de rede do conector RJ45 da área de trabalho?!

Então, minhas perguntas são:

  • Por que o Ubuntu às vezes "oculta" eth0 (ou outras interfaces de rede) até que estejam conectados - e por que não é consistente (ou seja, na área de trabalho é sempre mostrado, no laptop não é mostrado até conectado)? / li>
  • Como posso listar todo o hardware de rede, em um Ubuntu que "esconde" interfaces de rede como essa - como nesse caso, como mostrado acima, nem mesmo sudo lshw funciona?
por sdbbs 16.01.2017 / 09:56

1 resposta

3

Por padrão,

ifconfig mostra apenas as interfaces que estão Ativas. Para ver todas as interfaces, incluindo as de baixo:

ifconfig -a

Observe que, no GNU / Linux ifconfig (vem com net-tools ) está obsoleto em favor do mais recente ip (vem com iptoute2 ). Com ip você pode fazer:

ip addr show

Abreviação:

ip a

Verifique man ip para ter mais ideia.

    
por heemayl 16.01.2017 / 10:00