Actividad 4: Servidor VPNs

per Victor Carceler darrera modificació 2020-04-06T13:06:37+02:00

En las actividades anteriores se ha utilizado OpenVPN para realizar túneles entre dos equipos. De este modo, si una máquina quiere estar preparada para aceptar determinado número de clientes (por ejemplo 100), debe estar configurada para soportar un túnel diferente para cada cliente. No se trata de un escenario cómodo, pues para cada conexión será necesario preparar sus ficheros de configuración y puerto a utilizar.

OpenVPN puede funcionar en modo servidor aceptando muchos clientes en un mismo puerto UDP o TCP.

Los requisitos para utilizar OpenVPN en modo servidor son:

  • OpenVPN2.0 o superior
  • Es posible mutiplexar varios túneles en un mismo puerto UDP o TCP
  • Es necesario utilizar SSL/TLS
    • Cada nodo debe tener su propio par de certificado/clave (.crt y .key) y el certificado de la autoridad de certificación (ca.crt)
    • El servidor necesita el certificado de la autroidad de certificación (ca.crt) su propio par certificado/clave (.crt y .key) y el fichero .pem con los parámetros Diffie Hellman (dh1024.pem)


Configuración servidor
configuración cliente
port 30001
proto udp
dev tap
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
comp-lzo
#persist-key
#persist-tun
verb 3
client
dev tap
remote 192.168.100.104 30001
nobind
#persist-key
ca ca.crt
cert client1.crt
key client1.key
comp-lzo
verb 3

Cuando se utilizan túneles en modo servidor, no es necesario configurar en los clientes los parámetros IP del túnel. Es el propio servidor el que asigna una configuración de red. En los clientes es posible incluir varias directivas remote con diferentes servidores para conseguir tolerancia a fallos o bien balanceo de carga.



Actividades

  1. Construya una nueva PKI incluyendo autoridad de certificación, una clave/certificado de servidor y 3 claves/certificados de cliente. Se utilizará un fichero de parámetros Diffie Hellman de 2048 bits. Los certificados y claves de los clientes tendrán un nombre formado por la inicial del nombre y los apellidos del alumno que los generó seguidos de A,B o C. Por ejemplo, los ficheros generados por Silvia Álvarez serán: salvarez{A,B,C}.{key,crt}. Los ficheros de la autoridad de certificación tendrán por nombre salvarez_ca.{key,crt}. En los certificados/claves de los clientes se utilizará salvarez{A,B,C} como common name.
  2. Configure su ordenador como un servidor de VPNs utilizando las siguientes redes:
    Alumno
    redmáscara
    Álvarez, Silvia
    172.16.1.0 255.255.255.0
    Cano, Iñaki
    172.16.2.0 255.255.255.0
    Español, Jordi
    172.16.3.0255.255.255.0
    Francisco, Carlos
    172.16.4.0255.255.255.0
    Jurado, Oscar
    172.16.5.0255.255.255.0
    Murillo, David
    172.16.6.0255.255.255.0
    Núñez, Samuel
    172.16.7.0255.255.255.0
    Perez, Ismael
    172.16.8.0255.255.255.0
    Romero, Juan Francisco
    172.16.9.0255.255.255.0
    Veiga, Begoña
    172.16.10.0255.255.255.0
  3. Intercambie sus claves/certificados de los clientes con tres compañeros
  4. Compruebe el correcto funcionamiento de su túnel y el de los compañeros. Cuando se levanta el túnel, qué IP adquiere la interfaz del servidor y los clientes ? Cuantos clientes simultáneos admite el servidor ? De qué depende este número ?
  5. Cuando usted está conectado como cliente a un servidor puede comunicarse con dicho servidor, pero puede hacer pings a los otros clientes del mismo servidor ? Busque en la documentación de OpenVPN la directiva necesaria para que los clientes se vean entre sí y pruébela.



Túneles en el aula

ServidorInvitado a
Invitado b
Invitado c
cliente a
cliente b
cliente c
salvarez       
icano
      
jespañol iperez dmurillo ojurado 
  
cfrancisco       
ojurado jespañol snuñez bveiga    
dmurillo iperez snuñez
jespañol    
snuñez dmurilloiperez bveiga    
jromero       
bveiga ojurado snuñez