Esto le devolvería su IP pública
dig TXT +short o-o.myaddr.l.google.com @ns1.google.com
Te refieres a cualquier IP enrutable que sea tu módem dsl/cable/etc. tiene el enrutador?
Debe consultar ese dispositivo O preguntarle a un servidor externo qué IP ve cuando se conecta a él. La forma más fácil de hacerlo es buscar en Google "cuál es mi IP" y, al igual que las búsquedas de cálculo, se lo dirá en el primer resultado de búsqueda. Si desea hacerlo desde la línea de comando, deberá verificar el resultado de algún script que repita la información. El servicio dns dinámico dyndns.org tiene uno que puede usar:pruebe este comando
wget http://checkip.dyndns.org -O -
Debería obtener algo como
HTTP request sent, awaiting response... 200 OK
Length: 105 [text/html]
Saving to: ‘STDOUT’
- 0%[ ] 0 --.-KB/s <html><head><title>Current IP Check</title></head><body>Current IP Address: 192.168.1.199</body></html>
- 100%[===================>] 105 --.-KB/s in 0s
2017-09-20 14:16:00 (15.4 MB/s) - written to stdout [105/105]
Cambié la IP en la mía a una genérica no enrutable y la puse en negrita para ti.
Si solo desea la IP, deberá analizarla de allí, rápido y sucio, pero funciona para mí. Y estoy 100 % seguro de que hay una forma mejor y más segura de hacerlo...
wget http://checkip.dyndns.org -O - | grep IP | cut -f 2- -d : | cut -f 1 -d \<
Lo que te dará solo
192.168.1.199
Alternativas (evite el análisis):
Para obtener el IPv4
curl -4 icanhazip.com
Para obtener el IPv6
curl -6 icanhazip.com