Configuración de un router para permitir el acceso a diferentes servicios

En la práctica de esta semana, vamos a configurar un router para que permita el acceso a una serie de servicios de los equipos de su red privada desde un ordenador del exterior.

Deberemos configurar el router de forma que cuando algún equipo se dirija al router con un puerto determinado, este le redireccione a la dirección IP y puerto del equipo en el que tengamos los servicios que hayamos previamente instalado. Al existir servicios repetidos en diferentes servidores, es necesario el uso de puertos diferentes para diferenciar e identificar a que ordenador y servicios concretos nos queremos conectar.

Para que el montaje de esta práctica funcione correctamente, las IP de los equipos que van a dar los servicios deberán ser fijas.
Los servicios que vamos a configurar van a ser un par de servidores web y un servidor FTP, además en ambos ordenadores deberemos poder tener acceso a ellos mediante SSH para posibles cambios futuros en su configuración.

Este es el esquema de cómo debería quedar la instalación, los servicios instalados y puertos desde donde se accede a cada uno de ellos:

  • SERVIDOR #1 
    • 1 servidor web (puerto 8080)
    • 1 servidor FTP (puerto 21)
    • SSH (puerto 2280)
  • SERVIDOR #2 
    • 1 servidor web (puerto 8081)
    • SSH (puerto 2281)

Para hacer esta práctica más sencilla y como no disponemos en clase de tantos ordenadores como sería necesario, vamos a utilizar el VirtualBox para tener en un solo ordenador virtualizados ambos servidores a la vez.

Lo primero que debemos realizar será instalar en el VirtualBox dos máquinas virtuales con Ubuntu Server. Omitimos este paso ya que se ha hecho varias veces en anteriores prácticas, solo recordar que hay que configurar la red de ambas máquinas virtuales en modo “Bridge”.

Una vez instalados ambos servidores, antes de configurar el router, como vamos a necesitar tener conexión a internet, vamos a instalar y configurar los servicios en cada uno de ellos antes de nada.

INSTALACIÓN SERVIDOR WEB

Vamos a instalar y configurar un servidor web apache, además crearemos una página web sencilla para comprobar su correcto funcionamiento. La instalación del apache server la debemos realizar en ambos servidores de cada máquina virtual.

La instalación del servidor apache la realizaremos mediante el siguiente comando (nos pedirá la clave de root o administrador, es decir la misma que creamos al momento de instalar el sistema):

sudo apt-get install apache2

Al instalarse apache2, la carpeta por defecto en donde tenemos que ubicar los archivos que van a ser nuestra página web es /var/www.

Para esta práctica simplemente vamos a editar el archivo /var/www/index.html con el comando nano y vamos a escribir en cada servidor, SERVER 1 y SERVER 2 para poder diferenciarlos.

01

Después de editar el index.html, debemos editar un par de archivos más para terminar de configurar el apache2, y así añadir en que puerto debe estar “escuchando” nuestro servidor por si hay una petición este servicio.

Para ello hay que modificar los siguientes archivos añadiendo las líneas que se muestras en las siguientes capturas, en el caso del Servidor #1 el puerto 8080 y en el caso del Servidor #2 el puerto 8081 (las capturas son del Server #2 como se puede apreciar).

/etc/apache2/ports.conf
/etc/apache2/sites-enabled/000-default

02 

03

Solo nos quedaría reiniciar nuestras máquinas virtuales o reiniciar el servicio de apache2 para que funcione correctamente mediante el comando:

/etc/init.d/apache2 restart

 

INSTALACIÓN SSH

El siguiente paso es instalar el SSH (Secure Shell) para poder acceder remotamente de forma segura a nuestros servidores desde cualquier ordenador que este en la misma red.

Como en el caso del servidor web, debemos instalar el SSH en nuestros dos servidores, y lo haremos mediante el comando:

sudo apt-get install ssh

Una vez instalado el SSH en nuestros dos servidores, para completar su configuración simplemente deberemos editar el archivo “sshd_config” y añadir el puerto correspondiente en el que nuestro servidor debe estar “escuchando” para poder usar este servicio. El archivo “sshd_config” está alojado en la ruta /etc/ssh/

En el caso del Servidor #1 será el puerto 2280 y en el Servidor #2 el puerto 2281:

04

Solo nos quedaría reiniciar nuestras máquinas virtuales o reiniciar el servicio de SSH para que funcione correctamente mediante el comando:

/etc/init.d/ssh restart

INSTALACIÓN SERVIDOR FTP

El siguiente paso es instalar nuestro servidor de FTP (File Transfer Protocol) para la transferencia de archivos entre sistemas conectados a una red TCP basado en la arquitectura cliente-servidor.

En nuestro caso vamos a instalar el FTP server VSFTP (Very Secure FTP Daemon) únicamente en el Servidor #1. Para ello utilizaremos el siguiente comando:

sudo apt-get install vsftpd

Ahora vamos a configurar el servidor editando el archivo /etc/vsftpd.conf pero antes, y por seguridad, hacemos una copia del archivo original.

05

Ahora solo nos queda ir “descomentando” y editando las líneas que nos interesan.

Vamos a permitir el acceso anónimo al servidor por lo que dejamos el valor de anonymous_enable a YES

anonymous_enable=YES

Permitimos que los usuarios locales del sistema puedan conectarse:

local_enable=YES

Para permitir que se puedan subir archivos al servidor hay que dar permisos de escritura, por lo que deberemos buscar y descomentar la línea write_enable:

write_enable=YES

A continuación podemos establecer el valor umask para los archivos que subamos. Este valor determina los permisos de lectura, escritura y ejecución que tendrán los archivos por defecto.

local_umask=022

El siguiente parámetro que vamos a ajustar es el valor de la directiva chroot_local_users. Descomentando esta línea haremos que los usuarios solamente tengan acceso a sus respectivos directorios /home y no puedan recorrer el resto del sistema:

chroot_local_users=YES

Con estos cambios que hemos hecho en el archivo de configuración ya tenemos nuestro servidor FTP operativo, solo debemos reiniciar el servicio de vsftpd con el siguiente comando:

sudo /etc/init.d/vsftpd restart

Ahora ya solo nos quedaría crear los usuarios que queramos, en nuestro caso hemos creado el usuario “gontzal” para conectarnos por FTP desde cualquier parte con algún gestor como el filezilla o winscp. Lo vamos a crear con el siguiente comando:

sudo adduser gontzal

Con estos pasos ya tendríamos configurado nuestro servidor FTP y solo quedaría probarlo con algún gestor FTP, pero esto lo haremos más adelante con el gestor de FTP Filezilla.

 

CONFIGURACIÓN IP FIJA

En este punto de la práctica, ya tenemos instalados en nuestros servidores los servicios que vamos a necesitar, por lo que podemos proceder a configurar nuestros servidores con una IP fija como hemos explicado al principio del informe

Para poner una IP Fija en nuestros servidores, debemos editar el archivo “interfaces”:

/etc/network/interfaces

Una ver abierto por primera vez, observamos en la línea “iface eth0 inet dhcp” que el servidor de DHCP nos esta asignando una IP automáticamente.

Como queremos que la IP de nuestros servidores sean fijas, debemos eliminar esa línea o colocarle un “#” y añadir las líneas que aparecen en la siguiente captura marcadas en el recuadro rojo.

Vamos a asignar las siguientes IP’s fijas:

  • Servidor #1 la IP 200.100.100.2
  • Servidor #2 la IP 200.100.100.3

La IP de nuestro router (que lo configuraremos la final) va a ser la 200.100.100.1, por lo que en nuestros servidores pondremos esta IP como Gateway o puerta de enlace.

06

Una vez editado el archivo interface, para que la nueva IP asignada a cada servidor se haga efectiva, debemos reiniciar la configuración de red mediante el siguiente comando:

/etc/init.d/networking restart

CONFIGURACIÓN ROUTER

Por último, debemos configurar nuestro router, en nuestro caso un Linksys WRT54GL. Nuestro router va a ser el encargado de redireccionar las peticiones hacia los puertos correctos.

Para entrar en la configuración de nuestro router, vamos a conectar nuestro ordenador anfitrión, en el que tenemos instaladas nuestros 2 servidores en VirtualBox, en la cualquiera de las bocas de la parte LAN del router.

Ahora solo tenemos que entrar en la siguiente dirección en nuestro explorador web:

192.168.1.1

Nos pedirá un nombre de usuario y contraseña, ambas son “admin”.

Ahora nos saldrá la pantalla principal de configuración de nuestro router, simplemente vamos a configurar el router para que este tenga también una IP Fija.

En el “Tipo de Conexión” ponemos “Static IP” e introducimos los siguientes datos:

  • IP: 200.100.12.1 (esta es la IP de tendrá nuestro router de cara al exterior)
  • Máscara de subred: 255.255.255.0
  • Gateway: 200.100.12.14 (esta es la IP del ordenador externo desde el que accederemos a servicios de nuestros servidores).

También configuraremos la IP interna de nuestro router, para que este en la misma red que nuestros servidores, en nuestro caso 200.100.100.1

07

Una vez hechos estos cambios, salvamos y el router se reiniciará con los nuevos cambios que acabamos de hacer. Ahora para poder entrar en la configuración al haber cambiado su IP, debemos introducir en nuestro explorador web la dirección:

200.100.100.1

Pero para que funcione, también debemos cambiar la IP de nuestro ordenador anfitrión para que estén todos en la misma red. Simplemente damos una IP Fija (200.100.100.4) a nuestro ordenador, con los siguientes datos:

08

Ahora ya solo nos queda configurar la parte de los puertos, que está en la pestaña “Aplications & Gaming”.

Como se puede observar en el siguiente cuadro, para configurar los puertos, simplemente tenemos que indicar el número de puerto y asignarle una dirección IP a la que el router va a redireccionar cuando se haga una petición por ese puerto.

Por lo que configuraremos los dos servidores web, el servidor FTP y los puertos para acceder a nuestros servidores por SSH.

09

Una vez realizado los cambios, guardamos y ya tenemos listo nuestro router para funcionar.

En este momento, tenemos configurado tanto nuestro router como nuestros dos servidores, ya solo nos queda conectar el ordenador externo desde el que vamos a acceder a los servicios a la boca WAN de nuestro router y probar que todo funcione.

Para que funcione, primero debemos cambiar los datos de este ordenador externo para que este en la misma red que nuestro router (la parte externa). Configuraremos la conexión de red de este ordenador de la siguiente manera:

10

 

COMPROBACIÓN DE LOS SERVICIOS

Una vez hecho esto ya podemos empezar a probar que los servicios funcionan.

Primero probamos el Servidor Apache Web, para ello simplemente en nuestro explorador web tecleamos:

  • Si queremos acceder al Servidor web del Server #1: 200.100.12.1:8080
  • Si queremos acceder al Servidor web del Server #2: 200.100.12.1:8081

11

12

Para probar que podemos acceder a los dos servidores mediante SSH, vamos a utilizar el programa PUTTY, lo podemos descargar desde aquí.

Es un programa tremendamente útil y muy sencillo de utilizar, simplemente introducimos la IP de nuestro router (la interna) y el puerto al que queremos acceder.

  • Servidor #1 IP 200.100.12.1: 2280
  • Servidor #2 IP 200.100.12.1: 2281

13

Comprobamos que podemos conectarnos al servidor 1, nos pedirá user y pass:

14

Por ultimo para finalizar la práctica comprobaremos que podemos acceder a nuestro servidor FTP con el programa Filezilla Cliente, el cual nos lo podemos bajar aquí.

Con él, podremos subir o descargar archivos a nuestro servidor de una forma sencilla desde cualquier lugar.

Al igual que con Putty, simplemente tenemos que introducir la IP de nuestro router e introducir el user y password. También, como lo hemos configurado así, podemos logearnos de forma anónima. En nuestro caso nos vamos a conectar con el usuario “gontzal” que hemos creado anteriormente.

15

Con todas estas comprobaciones damos por terminada la práctica, espero que os haya resultado tan interesante y práctica como a mi.

Un saludo!!