Estou tentando identificar NICs em ~ 20 servidores remotos (2-6 NICs em todos os servidores). Para começar, quero identificar aqueles prontos para uso e gratuitos. Como posso verificar o estado da mídia física? Sei que algumas maneiras, incluindo ifconfig|grep RUNNING
, ethtool
, cat /sys/class/net/eth0/carrier
, mas todos eles exigem que a interface é para cima. Não quero trazer TODAS as interfaces. Não sei por que, mas não gosto de ativar, mas não configurar interfaces na rede. Existe uma maneira de evitar isso?
Ou estou errado e não há nada ruim em todas as interfaces ativadas (e não configuradas)? Mesmo se eles estiverem conectados?
fonte
ip addr show
até adiciona endereços IP à saída.ip link show
mostra nada mais do que "DOWN".ip
relata as mesmas informaçõesifconfig
e/sys/class/net/
, em qualquer caso, não é? Você recebe informações de status link deip
que é diferente do que você ficar sob/sys/class/net
ou a partirifconfig
da sua máquina? Ou você obtém o status do link sobre interfaces que estão desativadas/sys/class/net
(entendo/sys/class/net/eth0/carrier: Invalid argument
)?Aqui está o meu script para atualizar rotas padrão com base no estado da conexão em tempo real . (executado em segundo plano) funciona com várias interfaces, defino prioridades nos
/tmp/${iface}.metric
arquivos, a 'melhor' interface conectada será usada para rotear o tráfego padrão.fonte
ip link show exibe a bandeira "LOWER_UP" para indicar o cabo conectado. Você também pode procurar por / sys / class / net / eth * / operstate ou carrier. No entanto, tudo isso funciona apenas para uma interface com um endereço IP associado a ela.
fonte