Descubra qual interface física é voltada para o exterior

1

Eu gostaria de saber como posso bash script uma verificação para ver qual interface tem uma conexão externa (eth0, eth1, wlan0, em1 e em2) para que eu possa obter um script para trabalhar em qualquer máquina sem ter que codificar o interface no meu script

    
por Shadd 01.12.2016 / 20:06

1 resposta

1

Use ip route show e extraia o (s) nome (s) da interface de interesse. Por exemplo, para extrair o nome da interface que tem acesso direto ao gateway padrão:

$ ip route show | sed -e 's/^default via [0-9.]* dev \(\w\+\).*//'
ens192

Para uso de IPv6 ip -6 route show .

A pergunta original pede a interface que tem uma conexão externa , que é mais geral que a interface que tem acesso direto ao gateway padrão. Eu não posso testar isso, mas provavelmente procurando 0.0.0.0/0 na saída se ip route show ajudaria.

    
por 01.12.2016 / 20:38