Imagen con texto sobre un fondo de código que describe cómo crear un comando o alias myip para obtener rápidamente información de direcciones IP en sistemas Linux y Windows.
Simplifica la obtención de información de IP con este práctico comando myip para Linux y Windows

Crear el Comando (Alias) MyIP para Obtener Direcciones IP en Linux y Windows

El comando myip es una solución personalizada para obtener rápidamente información esencial de red en Linux y Windows: nombre de host, dirección IP pública (IPv4 e IPv6), direcciones IP locales, puerta de enlace predeterminada y servidores DNS activos. Aunque no existe de forma nativa en estos sistemas operativos, puedes crearlo como un alias en Linux o un script en Windows para simplificar el acceso a esta información.

Este tutorial te guiará paso a paso para configurar el comando myip, ideal para administradores de sistemas, técnicos de red o usuarios que necesiten diagnosticar configuraciones de red de manera eficiente.

¿Por qué crear un comando MyIP?

El comando myip resuelve preguntas comunes como: “¿Cuál es mi dirección IP?“, “¿Cuál es mi IP pública?” o “¿Qué servidores DNS estoy usando?”. En una sola ejecución, obtendrás:

  • Nombre de host de la máquina.
  • Dirección IP pública (IPv4 e IPv6).
  • Direcciones IP locales de todas las interfaces de red activas.
  • Puerta de enlace predeterminada.
  • Servidores DNS en uso (excluyendo DNS IPv6 automáticos innecesarios).

La salida es clara, ordenada y legible, perfecta para resolución de problemas, inventarios de red o configuraciones rápidas.

Crear el comando MyIP en Linux con un alias

Lectura recomendada: Cómo saber la dirección IP en Linux (5 comandos)

En Linux, los alias son una forma eficiente de ejecutar comandos personalizados como myip. Un alias asocia un nombre simple (como myip) a un conjunto de comandos o un script, permitiéndote acceder a información de red sin escribir comandos largos repetidamente.

Paso 1: Configurar el alias MyIP en Linux

Abre una terminal en Linux y pega el siguiente comando para crear el alias myip:

alias myip='echo "Hostname: $(hostname)"; echo; echo "IP Pública (IPv4):"; curl -s https://ifconfig.me; echo; iface=$(ip -6 -o addr show scope global | awk "{print \$2}" | head -n1); if [ -n "$iface" ]; then echo "IP Pública (IPv6) [$iface]:"; curl -s https://ifconfig.me --interface "$iface"; else echo "IP Pública (IPv6): no disponible"; fi; echo; echo "IP Locales:"; ip -o addr show | awk '\''$3 ~ /inet/ && $4 !~ /^127/ && $4 !~ /^::1/ && $4 !~ /^fe80/ {print $2 ": " $4}'\''; echo; echo "Gateway predeterminado:"; ip route | awk '\''/default/ {print $3 " via " $5}'\''; echo; echo "DNS activos:"; grep -E "^nameserver" /etc/resolv.conf | awk '\''{print $2}'\'''

Este comando combina varias operaciones para mostrar la información de red de forma estructurada. Aunque parece complejo, es una cadena de instrucciones concatenadas que puedes invocar con un simple myip.

¿Qué hace el alias MyIP en Linux?

El alias realiza las siguientes operaciones:

  • echo "Hostname: $(hostname)": Muestra el nombre de host de la máquina.
  • curl -s https://ifconfig.me: Obtiene la dirección IP pública IPv4 usando el servicio ifconfig.me en modo silencioso (-s).
  • Detección de IPv6: Verifica si hay una interfaz con IPv6 global activa y, si está disponible, muestra la IP pública IPv6; de lo contrario, indica “no disponible”.
  • Direcciones IP locales: Extrae todas las direcciones IPv4 e IPv6 de las interfaces activas, excluyendo direcciones de loopback (127.0.0.1, ::1) y direcciones de enlace local (fe80).
  • Puerta de enlace: Muestra la puerta de enlace predeterminada usando ip route.
  • Servidores DNS: Lista los servidores DNS configurados en /etc/resolv.conf.

Al ejecutar myip en la terminal, obtendrás una salida clara como esta:

Captura de pantalla de una terminal Linux mostrando la salida de un comando personalizado llamado myip
Este script myip proporciona una forma sencilla de obtener información crucial sobre tu configuración de red en Linux

Paso 2: Hacer permanente el alias MyIP en Linux

Para que el alias myip esté disponible incluso después de reiniciar, agrega el comando al archivo ~/.bashrc:

  1. Copia el comando completo del alias (comenzando con alias myip=).
  2. Ejecuta los siguientes comandos en la terminal:
echo 'alias myip="echo \"Hostname: \$(hostname)\"; echo; echo \"IP Pública (IPv4):\"; curl -s https://ifconfig.me; echo; iface=\$(ip -6 -o addr show scope global | awk \"{print \\\$2}\" | head -n1); if [ -n \"\$iface\" ]; then echo \"IP Pública (IPv6) [\$iface]:\"; curl -s https://ifconfig.me --interface \"\$iface\"; else echo \"IP Pública (IPv6): no disponible\"; fi; echo; echo \"IP Locales:\"; ip -o addr show | awk \'\$3 ~ /inet/ && \$4 !~ /^127/ && \$4 !~ /^::1/ && \$4 !~ /^fe80/ {print \$2 \": \" \$4}\'; echo; echo \"Gateway predeterminado:\"; ip route | awk \'/default/ {print \$3 \" via \" \$5}\'; echo; echo \"DNS activos:\"; grep -E \"^nameserver\" /etc/resolv.conf | awk \'{print \$2}\'"' >> ~/.bashrc
source ~/.bashrc

Esto asegura que el alias esté disponible en cada nueva sesión de terminal.

Crear el comando MyIP en Windows con PowerShell

En Windows, puedes crear un comando myip personalizado usando PowerShell para mostrar la misma información de red: IP pública, IPs locales, puerta de enlace y DNS.

Paso 1: Configurar el script MyIP en PowerShell

  1. Abre PowerShell como administrador (Windows + X, selecciona “Terminal (Admin)”).
  2. Crea o edita el archivo de perfil de PowerShell con los siguientes comandos:
New-Item -Path $PROFILE -ItemType File -Force
notepad $PROFILE
  1. En el Bloc de notas que se abre, agrega el siguiente script de PowerShell para el comando myip:
function ObtenerMiIP {
    Write-Host "Nombre del Host: $($env:COMPUTERNAME)`n"

    # IP Pública IPv4
    Write-Host "IP Pública (IPv4):"
    try {
        Invoke-RestMethod -Uri "https://ifconfig.me/ip" -UseBasicParsing
    } catch {
        Write-Host "No disponible"
    }
    Write-Host ""

    # IP Pública IPv6
    Write-Host "IP Pública (IPv6):"
    try {
        $ipv6 = Invoke-RestMethod -Uri "https://ifconfig.co/ip" -Headers @{"Accept"="application/json"} -UseBasicParsing
        if ($ipv6 -match ":") {
            Write-Host $ipv6
        } else {
            Write-Host "No disponible"
        }
    } catch {
        Write-Host "No disponible"
    }
    Write-Host ""

    # IPs locales (solo interfaces activas)
    Write-Host "IPs Locales:"
    $adaptadoresActivos = Get-NetAdapter | Where-Object {$_.Status -eq 'Up'} | Select-Object -ExpandProperty Name

    Get-NetIPAddress | Where-Object {
        $_.InterfaceAlias -in $adaptadoresActivos -and
        $_.AddressFamily -in ("IPv4", "IPv6") -and
        $_.IPAddress -notmatch '^127\.|^::1|^fe80'
    } | ForEach-Object {
        Write-Host "$($_.InterfaceAlias): $($_.IPAddress)"
    }
    Write-Host ""

    # Gateway predeterminado (solo disponibles)
    Write-Host "Gateway predeterminado:"
    Get-NetRoute | Where-Object {
        $_.DestinationPrefix -in ("0.0.0.0/0", "::/0")
    } | Sort-Object RouteMetric | ForEach-Object {
        Write-Host "$($_.NextHop) vía $($_.InterfaceAlias)"
    }
    Write-Host ""

    # Servidores DNS activos (excluyendo fallback IPv6)
    Write-Host "Servidores DNS activos:"
    Get-DnsClientServerAddress | Where-Object {$_.ServerAddresses} | ForEach-Object {
        foreach ($dns in $_.ServerAddresses) {
            if ($dns -notmatch '^fec0:0:0:ffff::[1-3]$') {
                Write-Host $dns
            }
        }
    }
}
Captura de pantalla de un script de PowerShell que muestra cómo obtener información de la dirección IP
Aprende a obtener tu dirección IP pública y privada, y el nombre de tu host, usando este sencillo script de PowerShell.
  1. Guarda el archivo (Ctrl + S), cierra el Bloc de notas y reinicia PowerShell.

Paso 2: Usar el comando MyIP en Windows

Escribe myip en PowerShell y presiona Enter. Obtendrás una salida con la información de red solicitada:

Captura de pantalla de una ventana de Windows PowerShell mostrando la salida de un comando myip
Este es un ejemplo de la información de red que proporciona el comando myip en PowerShell.

Lectura recomendada: Cómo Preferir IPv4 sobre IPv6 en Redes Windows

Alternativamente, para ejecutar el comando rápidamente, usa la combinación de teclas Windows + R y escribe:

powershell -noexit myip
Captura de pantalla del cuadro de diálogo "Ejecutar" de Windows
Ejecuta este comando en el cuadro de diálogo “Ejecutar” de Windows para obtener información sobre tu dirección IP usando PowerShell.

Lectura recomendada: 200 Comandos para Ejecutar en Windows [Extensión .MSC]

Conclusión

El comando myip es una herramienta poderosa y personalizable para obtener información de red en Linux y Windows. En Linux, se implementa como un alias en ~/.bashrc, mientras que en Windows se usa un script en el perfil de PowerShell.

Esta solución ahorra tiempo y es ideal para administradores de sistemas, técnicos de red o cualquier usuario que necesite acceder rápidamente a datos como la dirección IP pública, IPs locales, puerta de enlace y servidores DNS.

Si necesitas más ayuda para personalizar el comando o solucionar problemas, déjanos un comentario.

Mi Carro Close (×)

Tu carrito está vacío
Ver tienda