Cómo comprobar si hay conectividad a Internet en Linux

LinuxLinuxBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderás cómo comprobar la conectividad a Internet en Linux utilizando herramientas básicas de la línea de comandos. Comenzarás utilizando el comando ping para probar la accesibilidad a un servidor público y entender la salida básica de esta esencial utilidad de red.

A continuación, explorarás cómo probar la resolución DNS utilizando el comando nslookup, asegurándote de que tu sistema pueda traducir nombres de dominio en direcciones IP. Finalmente, utilizarás el comando curl para comprobar la conectividad intentando recuperar contenido de un servidor web. Al completar estos pasos, adquirirás habilidades prácticas para diagnosticar problemas comunes de red en un entorno Linux.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/RemoteAccessandNetworkingGroup(["Remote Access and Networking"]) linux(("Linux")) -.-> linux/PackagesandSoftwaresGroup(["Packages and Softwares"]) linux/RemoteAccessandNetworkingGroup -.-> linux/ping("Network Testing") linux/RemoteAccessandNetworkingGroup -.-> linux/ip("IP Managing") linux/PackagesandSoftwaresGroup -.-> linux/curl("URL Data Transferring") subgraph Lab Skills linux/ping -.-> lab-558790{{"Cómo comprobar si hay conectividad a Internet en Linux"}} linux/ip -.-> lab-558790{{"Cómo comprobar si hay conectividad a Internet en Linux"}} linux/curl -.-> lab-558790{{"Cómo comprobar si hay conectividad a Internet en Linux"}} end

Realizar un ping a un servidor público con ping

En este paso, aprenderás cómo utilizar el comando ping para comprobar la conectividad de red. El comando ping envía paquetes a un host de destino y mide el tiempo que tardan los paquetes en regresar. Esto te ayuda a determinar si un servidor es alcanzable y con qué rapidez puedes comunicarte con él.

Abre tu terminal si no está abierta. Recuerda que puedes encontrar el icono de Xfce Terminal en el lado izquierdo de tu escritorio.

Ahora, hagamos un ping a un conocido servidor público, como el servidor DNS de Google en 8.8.8.8. Escribe el siguiente comando y presiona Enter:

ping 8.8.8.8

Verás una salida similar a esta:

PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=... time=... ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=... time=... ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=... time=... ms
...

La salida muestra que tu computadora está enviando paquetes a 8.8.8.8 y recibiendo respuestas.

  • icmp_seq: El número de secuencia del paquete.
  • ttl: Time To Live (Tiempo de vida), que indica cuántos saltos puede dar el paquete antes de ser descartado.
  • time: El tiempo en milisegundos que tardó el paquete en viajar al servidor y volver (tiempo de ida y vuelta).

Para detener el comando ping, presiona Ctrl + C.

También puedes hacer un ping a un servidor por su nombre de dominio, como google.com:

ping google.com

La salida será similar, pero ping primero resolverá el nombre de dominio a una dirección IP.

PING google.com (...) 56(84) bytes of data.
64 bytes from ... (...): icmp_seq=1 ttl=... time=... ms
64 bytes from ... (...): icmp_seq=2 ttl=... time=... ms
...

Utilizar ping es una forma fundamental de solucionar problemas de red. Si ping falla, indica un problema con tu conexión de red o con el servidor de destino.

Practica haciendo ping a algunos sitios web o direcciones IP diferentes para familiarizarte con el comando.

Haz clic en Continuar para pasar al siguiente paso.

Probar la resolución DNS con nslookup

En este paso, aprenderás sobre el DNS (Domain Name System, Sistema de Nombres de Dominio) y cómo utilizar el comando nslookup para probar la resolución DNS. El DNS es como la guía telefónica de Internet; traduce nombres de dominio legibles por humanos (como google.com) en direcciones IP legibles por máquinas (como 8.8.8.8).

El comando nslookup es una herramienta para consultar servidores DNS y obtener información sobre nombres de dominio.

Abre tu terminal si no está abierta.

Utilicemos nslookup para encontrar la dirección IP de google.com. Escribe el siguiente comando y presiona Enter:

nslookup google.com

Verás una salida similar a esta:

Server:		...
Address:	...#53

Non-authoritative answer:
Name:	google.com
Address: ...
Name:	google.com
Address: ...
...

La salida muestra:

  • Server: El servidor DNS que tu computadora utilizó para la consulta.
  • Address: La dirección IP del servidor DNS.
  • Non-authoritative answer: La información devuelta por el servidor DNS.
  • Name: El nombre de dominio que consultaste.
  • Address: Una o más direcciones IP asociadas con el nombre de dominio. Los sitios web a menudo tienen múltiples direcciones IP para el equilibrio de carga y la redundancia.

También puedes utilizar nslookup para encontrar el nombre de dominio asociado a una dirección IP (una consulta DNS inversa). Probemos con la dirección IP 8.8.8.8:

nslookup 8.8.8.8

La salida se verá algo así:

Server:		...
Address:	...#53

Non-authoritative answer:
...
Name:	dns.google.

Esto muestra que la dirección IP 8.8.8.8 está asociada con el nombre de dominio dns.google..

nslookup es una herramienta valiosa para diagnosticar problemas de red relacionados con la resolución de nombres de dominio. Si puedes hacer ping a una dirección IP pero no a un nombre de dominio, el problema podría estar en el DNS.

Experimenta con nslookup consultando diferentes nombres de dominio.

Haz clic en Continuar para continuar.

Comprobar la conectividad con curl

En este paso, utilizarás el comando curl para comprobar la conectividad a un servidor web y recuperar contenido. curl es una herramienta versátil de línea de comandos para transferir datos con URLs. Admite varios protocolos, incluyendo HTTP, HTTPS, FTP y más.

Abre tu terminal si no está abierta.

Utilicemos curl para obtener el contenido de una página web sencilla, como example.com. Escribe el siguiente comando y presiona Enter:

curl example.com

Verás el contenido HTML de la página web example.com impreso directamente en tu terminal.

<!doctype html>
<html>
<head>
    <title>Example Domain</title>

    <meta charset="utf-8" />
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <style type="text/css">
    body {
        background-color: #f0f0f2;
        margin: 0;
        padding: 0;
        font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;

    }
    div {
        width: 600px;
        margin: 5em auto;
        padding: 2em;
        background-color: #fdfdff;
        border-radius: 0.5em;
        box-shadow: 2px 3px 7px 2px rgba(0,0,0,0.02);
    }
    a:link, a:visited {
        color: #38488f;
        text-decoration: none;
    }
    @media (max-width: 700px) {
        div {
            margin: 0 auto;
            width: auto;
        }
    }
    </style>
</head>

<body>
<div>
    <h1>Example Domain</h1>
    <p>This domain is for use in illustrative examples in documents. You may use this
    domain in examples without prior coordination or asking for permission.</p>
    <p><a href="https://www.iana.org/domains/example">More information...</a></p>
</div>
</body>
</html>

Esto muestra que tu computadora pudo conectarse a example.com y recuperar su contenido.

curl es una herramienta poderosa para probar la conectividad web, depurar servicios web y descargar archivos.

También puedes utilizar curl con la opción -I para obtener solo los encabezados HTTP, lo cual es útil para comprobar el estado de una página web sin descargar todo el contenido:

curl -I example.com

La salida mostrará los encabezados de respuesta:

HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: max-age=604800
Content-Type: text/html; charset=UTF-8
Etag: "..."
Expires: ...
Last-Modified: ...
Server: ECS (sg2/2A3E)
Vary: Accept-Encoding
X-Cache: HIT
Content-Length: 1270
Date: ...
Connection: close

Un estado HTTP/1.1 200 OK indica una conexión exitosa.

curl es una herramienta esencial para cualquier persona que trabaje con tecnologías web.

Haz clic en Continuar para completar este laboratorio.

Resumen

En este laboratorio, aprendiste cómo comprobar la conectividad a Internet en Linux utilizando varios comandos fundamentales. Comenzaste utilizando el comando ping para probar la accesibilidad a un servidor público tanto por dirección IP como por nombre de dominio, observando el tiempo de ida y vuelta y la secuencia de paquetes. Esto demostró cómo verificar la conectividad de red básica e identificar posibles problemas.