IP, Redes y Direcciones IPv4

Cómo saber mi IP en Ubuntu cuando ip a miente

Post actualizado el día noviembre 1, 2026 by DeiviSanzPlay

Hay un momento en el que el comando que todos recomiendan deja de servir: acabas de levantar una VPN, tienes un contenedor Docker con su propia red o estás dentro de una máquina virtual, y ejecutas ip a convencido de que ahí está la respuesta. Y ahí está, sí, pero no la que buscas. Para cómo saber mi ip en ubuntu en esos escenarios, la herramienta obvia no basta porque te muestra todas las interfaces a la vez sin decirte cuál es la que realmente te identifica hacia fuera.

Me pasó hace poco conectando por SSH a un servidor doméstico con Ubuntu Server: la interfaz enp3s0 mostraba una dirección que no coincidía con lo que veía desde otro equipo de la red. El motivo era una regla de NAT y una segunda interfaz virtual creada por una VPN de sitio a sitio. Ningún tutorial corto lo explica.

Por qué la respuesta de siempre falla en Ubuntu

El comando ip addr show (o su forma corta ip a) lista lo que el kernel conoce: interfaces físicas, bridges, túneles, veths de Docker, adaptadores de VirtualBox. En un Ubuntu de escritorio limpio suele haber dos o tres; en un portátil con VPN, contenedores y Bluetooth activo puedes ver diez. La IP que aparece primero no es necesariamente la que usas para salir a internet.

Además, hay dos preguntas distintas detrás de «cómo saber mi IP en Ubuntu»: cuál es mi IP local (la de mi red) y cuál es mi IP pública (la que ve el resto del mundo). El comando ip a solo responde a la primera. Para la segunda necesitas consultar un servicio externo, y eso tiene sus propios matices.

Distinguir la interfaz activa antes de leer la dirección

El atajo que sí funciona cuando hay ruido es preguntar al sistema por la ruta por defecto. El comando ip route get 1.1.1.1 te dice qué interfaz usaría el kernel para llegar a una dirección externa concreta. La salida incluye el nombre de la interfaz y la IP de origen. Esa es la IP local que estás usando hacia fuera, no la que aparece en la primera línea de ip a.

Si el resultado apunta a una interfaz tun0 o wg0, estás detrás de una VPN y la IP que muestra es la asignada por el túnel. Eso ya es información útil, pero cambia la interpretación: tu IP local hacia la red doméstica y la IP dentro del túnel son cosas diferentes.

En Ubuntu con NetworkManager también puedes usar nmcli device show y filtrar por la conexión activa. Es más verborrágico, pero describe el estado real de cada adaptador, incluido si está gestionado o no.

El caso de la IP pública: el comando que no existe en Ubuntu

Ningún comando local te da tu IP pública sin consultar fuera. curl ifconfig.me o curl ipinfo.io/ip funcionan, pero dependen de un servicio de terceros que puede caer, limitar peticiones o devolver una dirección IPv6 cuando esperas IPv4. Para forzar IPv4: curl -4 ifconfig.me.

Esto no funciona para redes corporativas con proxies transparentes o salidas NAT complejas: lo que devuelve el servicio es la IP del proxy de salida, no la de tu equipo. En ese caso, la única respuesta fiable es preguntar al administrador de red o mirar la configuración del proxy.

También conviene saber que en Ubuntu con IPv6 activado puedes tener dos direcciones públicas simultáneas (una IPv4 y una IPv6). Si un servicio externo te muestra solo una, no significa que la otra no exista.

Un ejemplo concreto con Docker

Al ejecutar ip a en un Ubuntu con Docker instalado verás interfaces docker0 y varias veth con rangos tipo 172.17.x.x. Son reales, pero no son tu IP en la red local. Un compañero puede perder media hora intentando conectarse a una de esas direcciones desde otro equipo y no habrá respuesta. La interfaz relevante suele ser la que tiene la ruta por defecto, como se explicó antes.

Con hostname -I obtienes todas las IPs asignadas separadas por espacios, útil para scripts pero poco legible. Y con ip -4 addr show scope global filtras las que no son loopback ni internas de contenedor, aunque los rangos privados de Docker también aparecen.

Qué hacer si nada de esto cuadra

Cuando los resultados no encajan con lo que ves desde fuera, el problema suele estar en la capa de red y no en Ubuntu. Revisa reglas de NAT con sudo iptables -t nat -L, la configuración de la VPN y si el router está haciendo doble NAT. Documentación oficial de Ubuntu y la de systemd-networkd cubren los casos estándar; para topologías con túneles anidados, ninguna guía corta sustituye a leer la configuración real de tu red.

Saber cuál es tu IP en Ubuntu es, en el fondo, saber qué pregunta estás haciendo. La respuesta corta existe solo en redes simples.


Sobre el autor: DeiviSanzPlay — Soy David Sanz, Editor y Responsable de Contenidos. Mi trabajo consiste en revisar, corregir y mejorar los contenidos de este blog para que la información sea clara, útil y esté bien estructurada. Trabajo con diferentes temáticas y verticales, por lo que una parte importante de mi día a día es analizar cada contenido, cuidar la redacción y asegurar que el lector encuentre información de calidad. Me gusta prestar atención a los detalles. Desde una corrección de estilo hasta la organización de un artículo, todo cuenta cuando se trata de crear contenidos que realmente aporten valor y sean fáciles de entender. En este blog encontrarás artículos sobre diferentes temas y sectores. Mi responsabilidad es cuidar y supervisar cada contenido para que mantenga unos estándares de calidad y ofrezca una buena experiencia a quien nos visita. Porque para mí, un buen contenido no consiste únicamente en escribir. También hay que revisar, contrastar, ordenar y pensar en la persona que está al otro lado de la pantalla.

Perfiles verificables: Sitio web

Publicado el 1 de November de 2026. Última revisión: 1 de November de 2026.