Administrar redes básicas
Configuración de IP, Hostname y Firewall
1. Configurar direcciones IPv4 e IPv6
En RHEL, la gestión de red se realiza mediante NetworkManager usando nmcli. También podemos usar nmtui o el comando ip para cambios temporales.
Con nmcli podemos crear, modificar y eliminar conexiones de red y gestionar el estado de las interfaces.
Ejemplo WiFi: nmcli connection add type wifi ifname [INTERFAZ] con-name [NOMBRE] ssid [NOMBRE_RED] wifi-sec.key-mgmt wpa-psk wifi-sec.psk [CONTRASEÑA] ipv4.addresses ....
IPv6 se configura igual usando propiedades ipv6.*. Es importante usar connection.autoconnect yes. Activamos con nmcli con up "ID" y verificamos con ip addr show.
También podemos añadir rutas estáticas además de la puerta de enlace definida con ipv4.gateway. El símbolo + añade rutas sin sobrescribir las existentes.
2. Configurar la resolución del nombre de host
El hostname identifica al equipo en la red. Para cambios permanentes usamos hostnamectl. Editar /etc/hostname también es posible pero requiere reinicio.
Para resolución local sin DNS editamos /etc/hosts con la sintaxis: IP NOMBRE_COMPLETO ALIAS.
No debemos modificar /etc/resolv.conf, ya que NetworkManager lo sobrescribe. La configuración DNS persistente se realiza mediante nmcli, nmtui o archivos .nmconnection.
La forma correcta para una configuración de DNS persistente es con nmcli, nmtui o los archivos .nmconnection ubicados en /etc/NetworkManager/system-connections/ y nmcli con up NOMBRE-RED para aplicar el cambio.
3. Servicios de red al inicio del sistema
Para asegurar que nuestra configuración de red sea efectiva desde el arranque, el servicio NetworkManager debe estar habilitado y activo : systemctl enable --now NetworkManager.
Si utilizamos el nmcli, no olvideis usar connection.autoconnect yes para que se inicie automaticamente.
Podemos comprobar la conectividad con comandos como ip a, nmcli device status o systemctl status NetworkManager.
Si creamos servicios dependientes de red, debemos usar After=network-online.target y Wants=network-online.target en la sección [Unit].
4. Restringir acceso con firewalld y firewall-cmd
La seguridad en RHEL se gestiona mediante firewalld, que organiza reglas en zonas. Podemos comprobar su estado con systemctl status firewalld o firewall-cmd --state.
Las zonas son un conjunto de reglas que determinan qué tráfico se permite o se deniega. Las zonas más comunes son :
- public : Zona estándar de confianza baja. Solo se permite el tráfico entrante de servicios específicos (como SSH) y el resto se descarta.
- drop : Nivel de seguridad máximo. El sistema descarta los paquetes entrantes sin enviar ninguna respuesta al emisor (silencio total).
- block : El sistema rechaza las conexiones entrantes enviando un mensaje de "ICMP host prohibited", informando que el acceso está denegado.
- internal : Orientada a redes locales seguras. Permite de forma predefinida más servicios para facilitar la comunicación entre equipos conocidos.
- trusted : Confianza absoluta. Se aceptan todas las conexiones entrantes sin aplicar ningún filtro de seguridad.
Cada interfaz puede tener una zona, y podemos cambiarla, poner una por defecto, comprobar el estado actual...
Recordad usar --permanent para persistencia y firewall-cmd --reload para aplicar cambios.
Las rich rules permiten reglas más avanzadas y las vemos en la siguiente clase.