Isto é em relação ao linux, mas se alguém sabe de um método geral *nix que seria bom.
Eu inicializei um sistema ontem com um cabo ethernet conectado. "NetworkManager" não está instalado, então assim que ele começou fui procurar o nome da interface ethernet com ifconfig
para iniciar um cliente DHCP manualmente, mas ele não mostrou nada além de lo
.
O NIC foi listado via lspci', e o driver do kernel apropriado foi carregado. O sistema normalmente utiliza wifi, e eu pude lembrar que o nome da interface para isso era
wlan0. Quando eu tentei
ifconfig wlan0 up', apareceu wlan0'. Mas os únicos nomes de interface ethernet que consegui lembrar eram
eth[N]e
em[N]` -- nenhum dos quais funcionava.
Este documento]1 refere-se a " nomes de interface previsíveis" mas não faz um bom trabalho de explicação do que eles podem ser em termos simples. Ele se refere a um pedaço de código fonte que implica que o nome neste caso pode ser deduzido do barramento PCI e dos números dos slots, o que parece ser um incômodo desnecessariamente complicado.
Outras pesquisas me levaram a acreditar que isso poderia ser determinado pelo systemd
em conjunto com o udev
, mas existem quase 100 arquivos em /usr/lib/udev/rules.d
e gastar uma hora tentando determinar onde (e if) lá's um arquivo de configuração do systemd para isso também parece ridículo.
Também seria bom saber com certeza que eles estão disponíveis, não apenas como podem ser nomeados se eles forem, para que eu possa descartar problemas de hardware, etc. Isn'não existe uma maneira simples de encontrar os nomes das interfaces de rede disponíveis no linux?
O método mais simples que eu conheço para listar todas as suas interfaces é
ifconfig -a
**EDIT***
Se você'estiver em um sistema onde isso tenha sido tornado obsoleto, você pode usar
ip link show
O kernel lista-os pelo nome em /sys', ambos separadamente na (por exemplo) árvore de dispositivos PCI -- embora encontrá-los lá se você não'não saber por onde eles devem começar não seja simples -- e juntos via links simbólicos em
/sys/class/net'. E.g..:
> ls /sys/class/net
em1 lo wlp6so
Outro exemplo:
> ls /sys/class/net
lo p6s1 wlan0
Se você não tem certeza de qual é qual, você poderia simplesmente colocá-los todos com um ou outro:
ifconfig [name] up
Ou..:
ip link set [name] up
E então olhe para as pistas (bastante claras) listadas pelo ifconfig
(sem argumentos). O código fonte do sistema ligado a partir do documento Freedesktop.org também se refere a:
Two character prefixes based on the type of interface:
* en -- ethernet
* sl -- serial line IP (slip)
* wl -- wlan
* ww -- wwan
Embora em um dos casos acima (p6s1
) não exista um prefixo.