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.