Comprobar, configurar y diagnosticar la conectividad de red en un sistema Linux usando herramientas nativas y entendiendo cómo funciona la resolución de nombres.
Un servidor Linux no sirve de nada sin red. Ya sea para monitoreo, acceso remoto, descargas, servicios web o actualizaciones, necesitas que tenga una IP válida, pueda enrutar paquetes y resolver nombres (como google.com
o repo.centos.org
).
Este módulo te prepara para:
Verificar el estado de las interfaces.
Probar conectividad IP y DNS.
Entender rutas de red.
Manipular configuraciones básicas desde terminal.
Diagnosticar fallos típicos de red sin entorno gráfico.
ip
– El reemplazo moderno de ifconfig
y route
ip a
Muestra las interfaces activas, IP asignadas (IPv4/IPv6) y estado (UP
, DOWN
).
ip r
Muestra rutas disponibles para alcanzar otras redes.
Ejemplo:
default via 192.168.1.1 dev enp1s0
Esto indica que todo lo que no sea red local saldrá por ese gateway.
ping
– Verifica conectividad a nivel IPping 8.8.8.8
Comprueba si puedes alcanzar un destino IP.
ping google.com
Comprueba también si la resolución DNS está funcionando.
Usa
Ctrl+C
para detener el ping. Si no responde, hay un problema de red, DNS o firewall.
curl
– Verifica acceso HTTP/HTTPScurl -I http://example.com
Muestra encabezados HTTP de un sitio. Útil para probar conectividad a puertos 80/443.
curl ifconfig.me
Devuelve tu IP pública (si tienes acceso a internet).
nmcli
– Gestión de red con NetworkManagerEn sistemas con NetworkManager (como CentOS Stream 9), nmcli
permite controlar conexiones sin GUI.
nmcli general status
nmcli device status
nmcli device show
nmcli connection show
sudo nmcli connection up nombre
nmcli
es útil en entornos con DHCP, servidores físicos o máquinas virtuales administradas por NetworkManager.
/etc/hosts
– Resolución local de nombresEste archivo sobrescribe la resolución DNS para nombres específicos.
Ejemplo de contenido:
127.0.0.1 localhost
192.168.0.50 servidor-pruebas.local
Si haces ping servidor-pruebas.local
, el sistema usará esta entrada sin consultar DNS.
Muy útil para ambientes controlados o pruebas locales.
ip a
Identifica la interfaz conectada (UP
) y su IP asignada.
ping 8.8.8.8
ping google.com
¿Llega al primero pero no al segundo? Probablemente es un fallo de DNS.
ip r
Identifica la ruta por defecto (default via
) y el nombre del dispositivo.
curl -I http://example.com
Si falla, puede que estés detrás de un proxy, sin salida o con DNS roto.
sudo vim /etc/hosts
Agrega:
192.168.1.200 prueba.interna.local
Luego prueba:
ping prueba.interna.local
Síntoma | Posible causa | Solución |
---|---|---|
IP asignada pero no hay internet | Gateway ausente | Verifica ip r y configura default via ... |
IP pero sin resolución DNS | DNS no configurado | Edita /etc/resolv.conf o usa nmcli |
ping falla en todo |
Firewall o interfaz inactiva | Verifica con ip a , nmcli , firewalld |
curl a HTTPS falla pero ping funciona |
Certificados o proxy mal configurado | Revisa curl -v y si usas proxy |
Captura de ip a
con interfaz activa
Diagrama flujo: ver IP ➝ probar ping ➝ verificar DNS ➝ usar curl
Ejemplo gráfico de /etc/hosts
Captura de nmcli device status
para interpretación visual
Verifica que una interfaz tenga IP válida y esté activa.
Usa ping
para identificar si hay conectividad a internet o DNS.
Usa ip r
para identificar la puerta de enlace.
Resuelve nombres locales usando /etc/hosts
.
Interpreta correctamente la salida de nmcli
y ip
.
¿Qué comando te dice si una interfaz tiene IP?
¿Cómo probarías si tienes internet pero falla la resolución DNS?
¿Qué hace /etc/hosts
? ¿Cuándo lo usarías?
¿Cómo comprobarías si tu servidor tiene salida HTTP a internet?
Si ping 8.8.8.8
funciona pero ping google.com
no, ¿qué revisarías?
En servidores sin GUI, ip
, nmcli
y curl
serán tus mejores aliados.
Siempre valida primero conectividad IP, luego DNS, luego puertos (con curl
, nc
, etc.).
Para servicios internos, usa /etc/hosts
con cuidado (evita conflictos con DNS reales).
Si estás tras un proxy, recuerda configurar variables de entorno (http_proxy
, https_proxy
).