linux
La interfaz de red y su configuración es una de las partes más importantes de un servidor y las labores de un administrador de sistemas, ya que con la interfaz de red podemos establecer la conectividad y permitir que el servidor se comunique con otros dispositivos en la red.
Para poder entablar una conexión con otros dispositivos lo primero que tenemos que hacer es asignarle una IP a nuestro servidor, bien sea de forma estática (nosotros asignamos la IP manualmente) o dinámica (dejamos que un servidor DHCP le asigne una dirección IP temporal).
La elección entre una dirección IP dinámica o estática para un servidor depende de varios factores y requisitos específicos. Aquí hay algunas consideraciones que pueden ayudarte a tomar una decisión informada:
Después de estas consideraciones podemos indicar que la mejor configuración de IP es estática para nuestro servidor, para lograr esta configuración hacemos los siguientes pasos.
Usamos el comando ip addr show (o su forma abreviada ip a) para conocer cuál es nuestra interfaz de red. En sistemas modernos (Debian 10+, Ubuntu 18.04+, RHEL 7+) ifconfig está deprecado y el paquete net-tools no se instala por defecto; ip es el reemplazo oficial del proyecto iproute2.

Podemos identificar nuestra interfaz principal en el resultado (por ejemplo enp0s3 en máquinas VirtualBox).
Generalmente en las distribuciones Debian las interfaces de red se configuran a través del archivo /etc/network/interfaces. En Ubuntu, desde la versión 17.10, la configuración de red pasó a la utilidad netplan, que genera un archivo YAML para facilitar la configuración. Accederemos a este archivo con un editor de código en la ruta /etc/netplan/00-installer-config.yaml. El nombre exacto puede variar según la instalación (por ejemplo 01-netcfg.yaml); si no estás seguro, lista el directorio con ls /etc/netplan/.


Asignamos una IP 192.168.1.10 a nuestro servidor y el resto de las configuraciones.

Ya una vez asignado los valores, aplicamos el comando
netplan apply

Corroboramos que nuestra IP ya sea la que le asignamos y listo, ya tenemos la interfaz de red de nuestros servidores configurada.

Otra configuración esencial para la conexión de la red es la configuración de la DNS (Domain Name System), recordemos que este protocolo es el encargado de traducir los nombres de los dominios que utilizamos en nuestro navegador como por ejemplo www.google.com en las direcciones IP de los servidores web de que queremos acceder.
Este proceso se da cuando ingresamos una dirección web en nuestro navegador, éste envía una solicitud a un servicio DNS para obtener la dirección IP asociada a ese nombre del dominio, el servidor DNS busca en su base de dato devuelve la dirección IP correspondiente, permitiendo que el navegador establezca una conexión con el servidor web que aloja el sitio.
Además de su función principal de traducción de nombres de dominio, las DNS también desempeñan un papel importante en la seguridad y la optimización de la navegación. Por ejemplo, las DNS pueden implementar medidas de seguridad, como el filtrado de contenido malicioso o la detección de sitios web fraudulentos, ayudando a proteger a los usuarios de posibles amenazas en línea.
Es importante tener configurado la DNS de nuestro servidor ya que es el que nos va a permitir que los usuarios accedan a los servicios y aplicaciones alojados en el servidor mediante los nombres del dominio, aparte también se utiliza para redireccionar el tráfico a diferentes servidores en función de la carga o la disponibilidad. Esto permite distribuir la carga de trabajo entre varios servidores y garantizar un rendimiento óptimo.
La DNS también desempeña un papel importante en la seguridad de un servidor al implementar medidas de seguridad en la configuración de la DNS, como el filtrado de contenido malicioso o la detección de sitios web fraudulentos, se puede proteger al servidor y a los usuarios de posibles amenazas en línea.
Para configurar la DNS de nuestro servidor Ubuntu repetiremos el mismo proceso que hicimos al configurar nuestra IP estática ingresando a la ruta /etc/netplan/00-installer-config.yaml desde un editor de código.
De acuerdo a la documentación de netplan la forma de agregar nuestras DNS es a través del valor
nameservers:
En el archivo de netplan configuramos una o más direcciones DNS que el servidor usará para resolver nombres. Por defecto, para un servidor web/FTP/genérico, lo habitual es apuntar a un par de resolvers DNS públicos (Cloudflare, Google, OpenDNS) o a los del proveedor de red.
⚠️ Apuntar como DNS primaria a la propia IP del servidor solo tiene sentido si ese servidor está ejecutando un servicio de resolución DNS (por ejemplo BIND, Unbound o dnsmasq). En caso contrario, dejará al servidor sin resolución de nombres.

Les dejamos una lista de DNS públicas que pueden usar para la red
| Nombre DNS | IP principal | IP alternativa |
|---|---|---|
| Cloudflare | 1.1.1.1 | 1.0.0.1 |
| OpenDNS | 208.67.222.222 | 208.67.220.220 |
| 8.8.8.8 | 8.8.4.4 |
Para esta configuración usaremos la DNS google
Una vez editado el archivo YAML aplicamos el comando sudo netplan apply.
Si queremos corroborar que tenemos conexión, usamos el comando ping junto a nuestro servidor alternativo.

Cuando hablamos de los servicios de red en los referimos hablamos de las aplicaciones que se ejecutan en un segundo plano, habilitando ciertas capacidades cuando sean necesarias, estas aplicaciones son componentes fundamentales que permiten la comunicación y el intercambio de información en una red.
Uno de los servicios de red más comunes en servidores Linux es el servidor web, que permite alojar y entregar páginas web a través del protocolo HTTP. El servidor web más popular en Linux es Apache, aunque también existen otras opciones como Nginx. Estos servidores web permiten a los usuarios acceder a sitios web y aplicaciones en línea, brindando una experiencia de navegación fluida y segura
Vamos a configurar nuestro servidor HTTP con Apache aplicando los siguientes pasos:
Instalamos Apache tras actualizar los paquetes locales previamente con sudo apt update.

Una vez actualizados los paquetes instalamos nuestro servidor Apache con sudo apt install apache2.

Antes de probar apache, es necesario modificar unos ajustes de firewall para permitir acceso externo a los puertos web predeterminados, durante la instalación, Apache se registra con UFW para proporcionar algunos perfiles de aplicaciones que pueden utilizarse para habilitar o deshabilitar el acceso a Apache a través del firewall.
Con el comando sudo ufw app list tendremos una lista de los perfiles de aplicación.

En el resultado tendremos tres perfiles disponibles para Apache.
1sudo ufw allow "Apache"

Podemos corroborar los cambios usando el comando sudo ufw status.

En algunos casos podemos tener una respuesta Status: inactive; esto ocurre porque el firewall está desactivado. Para activarlo usamos el comando sudo ufw enable y volvemos a comprobar el estado.


sudo systemctl status apache2.
Podemos ver que su estado es activo y corriendo.
hostname -I y nos devolverá la IP, que abriremos en un navegador web para comprobar que esté activo.

Otro servicio habitual en un servidor es FTP (File Transfer Protocol), utilizado para enviar y recibir archivos entre cliente y servidor a través de la red. Es importante dejar claro que el FTP clásico (puerto 21) transmite las credenciales y los datos en texto plano, por lo que no es seguro y no debería usarse en redes no confiables.
Existen tres variantes relacionadas:
AUTH TLS en el puerto 21, o implícito en el puerto 990). Sí cifra tráfico y credenciales.FTP funciona de manera análoga a HTTP (HyperText Transfer Protocol) o SMTP (Simple Mail Transfer Protocol). La diferencia es que FTP está diseñado para transferir archivos, mientras que HTTP transfiere páginas web y SMTP correos electrónicos.
⚠️ En un curso de ciberseguridad, la recomendación por defecto es SFTP. Si necesitas específicamente FTP, usa siempre FTPS con TLS obligatorio. A continuación mostramos la instalación de
vsftpdcomo ejemplo didáctico; al final incluiremos la configuración TLS.
Para instalar este servicio en nuestro servidor podemos seguir los siguientes pasos:
sudo apt update y sudo apt upgrade.
sudo apt install vsftpd.

sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 990/tcp
sudo ufw allow 40000:50000/tcp

Estos comandos abrirán varios puertos
Ya una vez agregadas las reglas revisamos el estatus del firewall

Abrimos el archivo /etc/vsftpd.conf con el editor de codigo de nuestra elección y ya dentro del archivo habilitamos la opcion
write_enable=yes eliminando el #,

Agregamos unos valores nuevos al final del archivo. En primer lugar, se agregará un user_sub_token en la ruta del directorio local_root. Esto permitirá que la configuración funcione con el usuario actual y con cualquier otro usuario que se agregue posteriormente:
user_sub_token=$USER
local_root=/home/$USER/ftp



📖 En este módulo hemos aprendido como configurar dos servicios muy importantes para administrar un servidor como lo son HTTP y FTP, existen muchos otros que puedes investigar y poner en práctica dentro de tu máquina virtual, anímate, la práctica hace al maestro.