Curso de Linux / IP, DNS y puertos: cómo se establece una conexión

Una dirección IP (Internet Protocol) identifica un destino de comunicación; DNS (Domain Name System, sistema de nombres de dominio) permite consultar información asociada a un nombre, y un puerto distingue puntos de comunicación para un protocolo de transporte. Para abrir un sitio web deben funcionar la resolución del nombre, la ruta al destino y el servicio que responde en el puerto correspondiente.

Si ha distinguido dirección, nombre y puerto, puede verificar por separado los fallos por capa en diagnóstico de problemas de conexión de red.

El estándar para la práctica de configuración del sistema es Ubuntu 26.04 LTS y VMs de instalación general de la serie Rocky Linux 9. En contenedores, WSL u otras versiones, la configuración de servicios y paquetes puede variar. Preparar primero la recuperación de consola y la verificación de la versión se indica en Crear un entorno de práctica con máquina virtual.

Distinción de dirección, nombre y puerto con una sola conexión web

Al abrir https://example.com/, el sistema y el navegador obtienen la dirección según la caché y la configuración, seleccionan una ruta y se comunican con el servidor. HTTPS usa por defecto el puerto 443. La comunicación puede usar TCP (Transmission Control Protocol) con TLS (Transport Layer Security) o QUIC, un transporte sobre UDP (User Datagram Protocol) que integra la negociación de seguridad. Una respuesta DNS correcta no demuestra que el servicio web sea accesible.

Elemento Rol Ejemplo
Dirección IP Dirección a la que enviar paquetes 192.0.2.10 o 2001:db8::10
DNS Consultar los registros asociados al nombre Registros como A·AAAA·MX
Puertos y protocolos Distinguir los puntos finales de comunicación dentro del host TCP 443 y UDP 443 son distintos entre sí

Los rangos 192.0.2.0/24 y 2001:db8::/32 de la tabla son rangos de direcciones para fines explicativos. No las use como direcciones de servidor para prácticas reales de conexión. Aunque los números de puerto sean iguales, TCP y UDP son formas de comunicación separadas, por lo que las reglas del firewall también deben distinguir los protocolos.

Significado de IPv4·IPv6 y direcciones privadas

IPv4 se representa principalmente con direcciones de 32 bits en decimal separadas por puntos, mientras que IPv6 se representa principalmente con direcciones de 128 bits en hexadecimal separadas por dos puntos. Una interfaz puede tener varias direcciones y IPv4 e IPv6 pueden usarse juntas. 127.0.0.1 y ::1 son direcciones de loopback que vuelven al propio dispositivo. Los servicios que solo escuchan en estas direcciones no pueden ser accedidos directamente desde otra computadora.

10.0.0.0/8, 172.16.0.0/12 y 192.168.0.0/16 de IPv4 son rangos de direcciones privadas. Pueden usarse repetidamente dentro de hogares o empresas, pero no se enrutan como direcciones públicas únicas en toda Internet. Para conexiones externas, se pueden usar configuraciones adicionales como NAT (Network Address Translation, traducción de direcciones de red). No suponga que IPv6 es simplemente un “IPv4 sin NAT” ni que las reglas de firewall de IPv4 se apliquen automáticamente a IPv6.

Interpretando subredes y rutas predeterminadas

En 192.168.10.20/24, el sufijo /24 indica que los primeros 24 bits forman el prefijo de red. Es una notación CIDR (Classless Inter-Domain Routing). La selección de rutas suele priorizar el prefijo más específico que coincide con el destino; default via ... expresa el siguiente salto de la ruta predeterminada. La puerta de enlace y el servidor DNS pueden compartir una dirección, pero cumplen funciones distintas.

ip -brief address
ip route
ip -6 route
getent ahosts example.com

ip es una herramienta del proyecto iproute2, pero el nombre del paquete de distribución es diferente. En Ubuntu 26.04 es iproute2, y en Rocky Linux 9 es iproute. El comando anterior muestra la dirección de la interfaz y la ruta, así como la resolución de nombres a través de la configuración del servicio de nombres del sistema. getent utiliza otras fuentes configuradas además de DNS, como /etc/hosts, y la dirección y el nombre de la interfaz varían según el dispositivo.

En Ubuntu se verifica el paquete y la versión instalados como dpkg-query -W iproute2, y en Rocky como rpm -q iproute. El nombre del RPM también se puede consultar en el repositorio oficial BaseOS de Rocky Linux 9.

Verificación separada de la resolución DNS y el acceso al servicio

El registro A del DNS representa la dirección IPv4 y el registro AAAA representa la dirección IPv6. Un mismo nombre puede devolver varias direcciones y, debido a la caché y el tiempo de validez, los resultados pueden variar según el momento de la consulta. Si el sistema utiliza systemd-resolved, con el primer comando a continuación se puede revisar la configuración DNS por interfaz. Si no existe el comando, consulte la configuración del NetworkManager o del resolvedor del sistema.

resolvectl status
ss -lnt
curl -I --connect-timeout 5 --max-time 15 https://example.com/

ss -lnt muestra los sockets TCP a la escucha en esta computadora, por lo que no es una lista de puertos de un servidor web remoto. curl solicita el encabezado de respuesta HTTPS remoto. Si no tiene curl, puede instalarlo en Ubuntu con sudo apt install curl y en Rocky Linux con sudo dnf install curl. La causa del fallo varía según el proxy, el certificado y la política de red.

Elegir la siguiente comprobación según el resultado

  1. Si no hay dirección, primero verifique la interfaz y la conexión de red de la máquina virtual.
  2. Si hay dirección pero no hay ruta de destino, verifique el enrutamiento y la puerta de enlace.
  3. Si solo falla la resolución de nombres, verifique la configuración de DNS y la configuración del servicio de nombres del sistema.
  4. Si la resolución de nombres y la ruta están correctas pero la conexión falla, diferencie entre el estado del puerto a la escucha, el firewall y errores de TLS o de la aplicación.

Los comandos de esta lección no cambian la configuración. No sobrescriba el archivo de DNS para resolver fallos de resolución de nombres ni desactive el firewall para resolver fallos de conexión. Si se sigue la observación desde la capa indicada, se pueden reducir los cambios innecesarios en el diagnóstico siguiente.

Documentación oficial