Las redes son un aspecto fundamental de la administración de servidores, especialmente cuando se trabaja con Ubuntu Server. Tanto si estás configurando un servidor en un entorno en la nube como si gestionas una infraestructura local, es crucial entender cómo configurar interfaces de red, asignar direcciones IP estáticas, gestionar servicios de red y solucionar problemas de conectividad. En esta guía, cubriremos los aspectos esenciales de las redes en Ubuntu Server, incluido el uso de Netplan (la herramienta de configuración de red predeterminada en Ubuntu 22.04), el manejo de configuraciones generadas por cloud-init, la gestión de servicios de red y la solución de problemas comunes.
Artículo anterior:
01. Introducción a Ubuntu Server – SysOSX: AI & Cloud
02. Cómo configurar tu primer servidor Ubuntu: guía para principiantes – SysOSX: AI & Cloud
03. Dominar la línea de comandos de Linux para Ubuntu Server – SysOSX: AI & Cloud
04. Gestión de usuarios y permisos en Ubuntu Server: una guía completa – SysOSX: AI & Cloud
1. Introducción a las redes en Ubuntu Server
Ubuntu Server usa Netplan como su herramienta de configuración de red predeterminada a partir de Ubuntu 17.10. Netplan simplifica el proceso de definición de configuraciones de red mediante archivos YAML. En Ubuntu Server 22.04, systemd-networkd es el servicio de backend predeterminado para gestionar las redes, mientras que NetworkManager se usa normalmente en entornos de escritorio o en configuraciones de servidor específicas que requieren una gestión de red avanzada.
Backends de red predeterminados
- Ubuntu Server 22.04: Usa systemd-networkd como servicio de red predeterminado.
- Ubuntu Desktop 22.04: Usa NetworkManager como servicio de red predeterminado.
Si usas Ubuntu Desktop o has instalado NetworkManager manualmente en Ubuntu Server, puedes gestionar tus interfaces de red con él. Sin embargo, NetworkManager no está instalado de forma predeterminada en las ediciones de Ubuntu Server.
2. Configurar interfaces de red con Netplan (actualizaciones de Cloud-Init)
En entornos en la nube, el archivo de configuración de Netplan suele llamarse /etc/netplan/50-cloud-init.yaml. Este archivo es generado por cloud-init, y los cambios no persistirán tras reiniciar la instancia a menos que se desactiven las capacidades de configuración de red de cloud-init.
Deshabilitar la configuración de red de Cloud-Init
Para deshabilitar las capacidades de configuración de red de cloud-init, crea un archivo en /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg:
sudo nano /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
Añade el siguiente contenido:
network: {config: disabled}
Después de deshabilitar la configuración de red de cloud-init, puedes crear y gestionar manualmente archivos de configuración de Netplan persistentes.
Ejemplo: configurar una dirección IP estática con Netplan
Si tu archivo de configuración de Netplan es /etc/netplan/50-cloud-init.yaml, puedes modificarlo directamente o crear un archivo de configuración nuevo (p. ej., /etc/netplan/01-netcfg.yaml) para una configuración persistente.
- Abre el archivo de configuración de Netplan:
sudo nano /etc/netplan/50-cloud-init.yaml
- Modifica el contenido para establecer una dirección IP estática:
network:
version: 2
ethernets:
eth0:
dhcp4: no
addresses:
- 192.168.1.100/24
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4
eth0: Reemplaza esto por el nombre de tu interfaz de red (usaip apara listar las interfaces).addresses: Asigna una dirección IP estática.routes:to: default: Especifica la ruta predeterminada.via: 192.168.1.1: Define la dirección de la puerta de enlace.
nameservers: Especifica los servidores DNS.
- Aplica la configuración:
sudo netplan apply
- Verifica la configuración:
ip a
3. Configurar una dirección IP estática
Aunque Netplan es la herramienta recomendada, también puedes configurar manualmente una dirección IP estática en /etc/network/interfaces (usado en versiones antiguas de Ubuntu) o mediante herramientas de línea de comandos.
El comando ip
El comando ip es una herramienta versátil para gestionar interfaces de red. A continuación se muestra un ejemplo de asignación temporal de una dirección IP estática:
sudo ip addr add 192.168.1.100/24 dev eth0
sudo ip route add default via 192.168.1.1
ip addr add: Asigna una dirección IP a la interfaz de red.ip route add: Establece la puerta de enlace predeterminada.
Nota: estos cambios son temporales y se perderán tras un reinicio. Usa Netplan para configuraciones persistentes.
4. Gestionar servicios de red
Ubuntu usa systemd-networkd como el servicio de red predeterminado para entornos de servidor. Gestionar este servicio de forma eficaz es fundamental para garantizar una conectividad de red estable.
Comprobar el estado de los servicios de red
Para comprobar el estado del servicio de red, usa el siguiente comando:
sudo systemctl status systemd-networkd
Esto mostrará el estado actual y cualquier error relacionado con el servicio systemd-networkd.
Reiniciar el servicio de red
Si necesitas reiniciar el servicio de red después de realizar cambios en tu configuración:
sudo systemctl restart systemd-networkd
Habilitar o deshabilitar el servicio de red
Para habilitar el servicio de red para que se inicie automáticamente al arrancar:
sudo systemctl enable systemd-networkd
Para deshabilitar el servicio de red:
sudo systemctl disable systemd-networkd
Usar NetworkManager (opcional)
Si estás usando NetworkManager en lugar de systemd-networkd, puedes gestionar el servicio de la siguiente manera:
- Comprobar el estado:
sudo systemctl status NetworkManager
- Reiniciar el servicio:
sudo systemctl restart NetworkManager
- Habilitar o deshabilitar NetworkManager:
sudo systemctl enable NetworkManager
sudo systemctl disable NetworkManager
5. Problemas y advertencias conocidos en Netplan
Al configurar una IP estática en un servidor Ubuntu 22.04 con Netplan, es posible que encuentres las siguientes advertencias:
Advertencia: Cannot call Open vSwitch: ovsdb-server.service is not running
Esta advertencia se produce porque Netplan intenta detectar Open vSwitch, un conmutador de red virtual que se usa a menudo en entornos de nube y virtualizados. Si Open vSwitch no está instalado, Netplan genera la advertencia.
Resolver la advertencia
Puedes ignorar esta advertencia de forma segura si no usas Open vSwitch. Sin embargo, para eliminarla, puedes instalar el paquete openvswitch-switch-dpdk, que proporciona los componentes necesarios para Open vSwitch.
Ejecuta el siguiente comando:
sudo apt install openvswitch-switch-dpdk
Una vez instalado, Netplan detectará la presencia de Open vSwitch y dejará de generar la advertencia.
Referencia de error conocido
Este problema se ha notificado oficialmente como un error en Netplan.
https://bugs.launchpad.net/ubuntu/+source/netplan.io/+bug/2041727
6. Herramientas de línea de comandos para la gestión de redes
Ubuntu ofrece una variedad de herramientas para gestionar y solucionar problemas de configuración de red. Estas son algunas de las más utilizadas:
6.1 Comando ip
El comando ip reemplaza a la antigua herramienta ifconfig y es más potente y flexible.
- Ver interfaces de red:
ip a - Comprobar rutas:
ip route - Activar/desactivar una interfaz:
sudo ip link set eth0 up
sudo ip link set eth0 down
6.2 Comando ping
El comando ping se usa para probar la conectividad con otro host.
ping google.com
6.3 Comando traceroute
El comando traceroute identifica la ruta de red hasta un destino.
sudo apt install traceroute
traceroute google.com
6.4 Comando Curl
El comando curl prueba la conectividad HTTP.
curl http://example.com
7. Solución de problemas comunes de red
Los problemas de red son comunes en entornos de servidor. Estos son algunos escenarios y pasos de solución de problemas:
Escenario 1: la interfaz de red no funciona
- Comprueba el estado de la interfaz:
ip a
- Activa la interfaz:
sudo ip link set eth0 up
Escenario 2: no se puede hacer ping a hosts externos
- Verifica la puerta de enlace predeterminada:
ip route - Comprueba la resolución DNS:
nslookup google.comSi DNS no resuelve, actualiza los servidores de nombres en tu configuración de Netplan.
Escenario 3: problemas de configuración de Netplan
- Valida el archivo YAML de Netplan:
sudo netplan tryEsto prueba la configuración sin aplicarla de forma permanente. - Vuelve a aplicar la configuración:
sudo netplan apply
Escenario 4: comprobar el servicio de red
Si los problemas de conectividad de red persisten, comprueba el estado del servicio de red:
sudo systemctl status systemd-networkd
Si se notifican errores, reinicia el servicio:
sudo systemctl restart systemd-networkd
Escenario 5: el firewall bloquea el tráfico
- Comprueba las reglas del firewall:
sudo ufw status
- Permite el tráfico necesario:
sudo ufw allow 22/tcp sudo ufw allow 80/tcp
Escenario 6: problemas de pérdida de paquetes o latencia
- Usa
pingpara comprobar la pérdida de paquetes:
ping -c 10 google.com
- Usa
traceroutepara identificar cuellos de botella en la red:
traceroute google.com
8. Conclusión
Las redes son una habilidad fundamental para los administradores de Ubuntu Server. Esta guía cubrió los conceptos básicos de configuración de interfaces de red, gestión de servicios de red, tratamiento de advertencias de Netplan, configuración de IP estáticas, uso de herramientas de línea de comandos y solución de problemas comunes. Al dominar herramientas como Netplan, ip y ping, podrás gestionar y resolver eficazmente los desafíos relacionados con la red en tu servidor.
Para obtener más información, consulta la documentación oficial de Ubuntu sobre Netplan y Fundamentos de redes.
Próximos pasos: aplicación de parches, gestión de paquetes y seguridad
En la siguiente sección de esta serie, profundizaremos en aspectos críticos de la administración de Ubuntu Server, centrándonos en la aplicación de parches, la gestión de paquetes y la seguridad. Estos temas son esenciales para mantener un entorno de servidor seguro, estable y eficiente.
1. Instalar y gestionar software
Domina los conceptos básicos de instalación, actualización y gestión de software en Ubuntu Server usando apt y otras herramientas de gestión de paquetes. Aprende a gestionar eficazmente dependencias y repositorios para garantizar que tu servidor disponga del software necesario.
2. Aplicar parches y actualizar Ubuntu Server
- Por qué la aplicación de parches es fundamental para la seguridad y la estabilidad.
- Usar apt para actualizar y mejorar el servidor.
- Comprender la diferencia entre apt update, apt upgrade y apt full-upgrade.
- Automatizar las actualizaciones con unattended-upgrades.
- Gestionar las actualizaciones del kernel y reiniciar con elegancia con reboot-required.
3. Proteger tu Ubuntu Server
- Pasos prácticos para proteger tu servidor, incluida la configuración de firewalls (ufw), la configuración segura de SSH y el uso de herramientas como fail2ban para protegerse contra ataques.
- Aprende a reforzar tu servidor contra vulnerabilidades y accesos no autorizados.
4. Auditoría y registro en Ubuntu Server
- Introducción a la auditoría del sistema y la importancia de los registros.
- Usar auditd para rastrear y registrar eventos del sistema.
- Configurar la rotación de registros con logrotate.
- Supervisar el directorio
/var/logen busca de eventos críticos para garantizar una gestión proactiva del servidor.
4 thoughts on “05. Networking Basics for Ubuntu Server: A Comprehensive Guide”