Como obter seu IP via Terminal

Vamos supor que a sua máquina Linux está atrás de um roteador NAT. Então, o que é visível para a sua máquina é apenas um endereço IP da LAN atribuído a sua interface LAN. Então, como você pode detectar o público (ou WAN) endereço IP atribuído ao roteador NAT, de preferência a partir de linha de comando ?

Existem várias formas, primeiramente vamos mostrar usando o curl

Você precisa ter o curl instalado, basta usar o gerenciador de pacotes apt-get , mas caso você possua outra distro , tente com o seu gerenciador de pacotes correspondente

su
apt-get install curl

Uma lista de opções com o curl

curl ifconfig.me
curl icanhazip.com
curl ident.me
curl ipecho.net/plain
curl whatismyip.akamai.com
curl tnx.nl/ip
curl myip.dnsomatic.com
curl ip.appspot.com
curl ip.telize.com
curl curlmyip.com
curl -s checkip.dyndns.org | sed 's/.*IP Address: \([0-9\.]*\).*/\1/g'

Ou se for IP local

hostname -i

Existem várias outras formas, só utilizar sua criatividade e as milhares de ferramentas GNU/Linux e UNIX (sed, PIPE, cat, lynx, ifconfig ,…)

Valeu!