Hola señores lectores vamos empezar un proyecto que tratará en su totalidad sobre la instalación y configuración de un servidor Debian para ofrecer distintos servicios, que iremos explicando poco a poco en este blog.
Imaginemos que nos ha contratado el instituto tecnológico de estudios superiores «ITES El Olimpo» el cual ha comprado el dominio «elolimpo.org» para utilizarlo en su red y necesita que instalemos y configuremos un servidor Debian con diferentes servicios para ofrecerlos en su red privada.
Los servicios que explicaremos serán los siguientes:
- Enrutamiento (en esta misma entrada)
- DHCP
- Servidor Web (Parte 1)
En esta entrada del blog explicaremos la instalación del sistema operativo Debian Jessie, la configuración inicial del servidor y configuraremos el enrutamiento para que los clientes tengan acceso a Internet.
- Instalación del servidor
- Configuración de red del servidor
- Configuración del enrutamiento
- Configuración de red de los clientes
Para la realización del proyecto utilizaremos la aplicación «Virtualbox» con el que podremos virtualizar el entorno y las máquinas.
Vamos a necesitar 3 máquinas virtuales:
- Un servidor con el sistema operativo Debian Jessie (8) con dos interfaces de red:
- Una en modo adaptador puente.
- Otra en modo red interna.
- Un cliente con el sistema operativo Windows 7.
- Un cliente con una distribución de Linux.
En la siguiente imagen mostramos la estructura de la red y de los equipos, en el que el servidor tendrá 2 interfaces de red:
Instalación del servidor
Instalaremos el servidor sin interfaz gráfica, así no requerirá de muchos recursos y podremos acceder a él mediante «ssh».
Lo primero será introducir el CD/DVD o un pen «booteable» con la ISO de la instalación de Debian Jessie en la máquina del servidor que podremos descargar en este enlace.
Configuramos la BIOS de la máquina para que arranque desde el dispositivo en el que tenemos la instalación, reiniciamos la máquina y comenzamos con la instalación.
Al principio de la instalación se nos mostrará un menú en el que nos da a elegir entre una instalación a modo terminal «Install», una instalación a modo gráfico «Graphical install» (no confundamos esta opción con la instalación del sistema con entorno gráfico) y otras opciones que no nos interesa en este momento. Elegimos una de estas dos.
Ahora indicaré las configuraciones necesarias en los pasos de la instalación:
- Configuración del idioma:
- Elegimos el Idioma: «Español».
- Elegimos el País: «España».
- Elegimos el idioma del teclado: «Español».
- Nombre del equipo y del dominio:
- Escribimos el nombre del servidor: en nuestro caso lo llamaré «zeus».
- Escribimos el nombre del dominio: en nuestro caso «elolimpo.org».
- Configuración de usuarios y contraseñas:
- Escribimos la contraseña de «root».
- Escribimos el nombre completo del usuario.
- Escribimos el nombre de la cuenta de usuario.
- Escribimos la contraseña del usuario.
- Elegimos la configuración del reloj.
- Particionado de discos:
- Elegimos la opción «Guiado – utilizar todo el disco»
- Elegimos el disco en el que deseamos instalar el sistema.
- Elegimos el esquema de partición «Todos los ficheros en una partición».
- Finalizamos el particionado y escribimos los cambios en disco.
- Configuración del gestor de paquetes:
- Escogemos el país del que queramos usar las réplicas de Debian: en nuestro caso «España».
- Escogemos la dirección de la réplica: en nuestro caso «ftp.es.debian.org».
- Selección de programas:
- Desmarcamos todas las opciones y dejamos solo marcadas las opciones «ssh server» y «Utilidades estándar del sistema» (la opción «Entorno de escritorio Debian» debe estar desmarcada para que no instale la interfaz gráfica).
- Instalamos GRUB.
Configuración de red del servidor
Ahora explicaremos la configuración del servidor para que la red funcione correctamente.
Configuración de los nombres
Antes que nada verificaremos si el nombre del servidor totalmente cualificado es correcto, el cual pusimos durante la instalación:
hostname -f
zeus.elolimpo.org
Si por algún motivo no está correctamente podemos editarlo manualmente:
- Nombre del equipo
Editamos el archivo/etc/hostname
como «root»:zeus
- Nombre del dominio
Editamos el archivo/etc/hosts
como «root» y dejamos la segunda línea tal y como a continuación:127.0.0.1 localhost 127.0.1.1 zeus.elolimpo.org zeus # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouter
Configuración de las interfaces de red
El servidor tiene 2 interfaces red, una conectada a Internet que obtendrá la configuración dinámica (eth0) y la otra conectada a la red privada del instituto,entonces tendremos que configurar esta última de manera estática (eth1) haciendo lo siguiente:
Editamos el archivo /etc/network/interfaces
como «root» y lo dejamos de la siguiente manera:
auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp auto eth1 iface eth1 inet static address 192.168.0.254 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255
Reiniciamos el servicio networking
como «root» para que se efectúen los cambios:
systemctl restart networking
Comprobamos que la configuración se ha establecido correctamente:
ip a
2: eth0: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 08:00:27:cd:28:c3 brd ff:ff:ff:ff:ff:ff inet 192.168.1.20/24 brd 192.168.1.255 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fecd:28c3/64 scope link valid_lft forever preferred_lft forever 3: eth1: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 08:00:27:2a:25:2b brd ff:ff:ff:ff:ff:ff inet 192.168.0.254/24 brd 192.168.0.255 scope global eth1 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fe2a:252b/64 scope link valid_lft forever preferred_lft forever
Configuración del enrutamiento
Queremos que los clientes tengan acceso a Internet, entonces debemos hacer que el servidor enrute y haga la función NAT:
Para hacer que enrute modificamos el archivo /etc/sysctl.conf
como «root» y descomentamos la siguiente línea:
net.ipv4.ip_forward=1
Para que se efectué el cambio podemos reiniciar el servidor o ejecutar lo siguiente como «root»:
sysctl --system
Para hacer que realice la función NAT volveremos a modificar el archivo /etc/network/interfaces
añadiendo al final las siguientes líneas:
up iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE down iptables -t nat -D POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE
Volvemos a reiniciar el servicio networking
como «root» para que se efectúen los cambios:
systemctl restart networking
Configuración de red de los clientes
Por el momento configuraremos las interfaces de red de los clientes de manera estática, como por ejemplo así:
En Windows:
- Dirección IP : 192.168.0.2
- Máscara de red: 255.255.255.0
- Puerta de enlace: 192.168.0.254
- Servidor DNS: 192.168.1.1 (en nuestro caso la Ip del router que nos provee Internet)
En Linux:
- Dirección IP : 192.168.0.3
- Máscara de red: 255.255.255.0
- Puerta de enlace: 192.168.0.254
- Servidor DNS: 192.168.1.1 (en nuestro caso la Ip del router que nos provee Internet)
Finalmente probamos que el servidor enruta mediante los clientes accediendo con el navegador a Internet:
En Windows (hades):
En Linux (poseidon):