En esta ocasión, vamos a configurar nuestro acceso por VPN a nuestra red interna. Vamos a ver dos variantes para poderlo hacer, una será IPSec/L2TP y la otra será por PPTP.
Primero debemos entender porque usar una VPN y para qué usarla, pues bien, vamos a dar una explicación sencilla. Esta configuración nos permite que el dispositivo que configuremos con esta cuenta, cree un túnel hasta nuestra red y aparezca entre nuestros dispositivos dentro de la misma. Es decir, podremos ver con las ips locales toda nuestra red como si estuviéramos allí. Esto nos permite cosas como navegar a través de nuestra red estando fuera, acceder a nuestros dispositivos de forma local y muchas más cosas…
Bien pues nos ponemos a ello!!:
Lo primero es crear un nuevo Pool de IPS que serán las que nuestro servidor VPN asigne tanto al servidor (Mikrotik) y al usuario que se conecte. Deben estar separadas del Pool DHCP de nuestra red.
Para ello accedemos a IP – Pool:
Name: Conex PPP (nombre que queramos dar al Pool)
Addresses: 5.5.5.2-5.5.510 (Rango de IPS fuera del DHCP, yo he puesto un rango pequeño ya que no habrá más de 2 dispositivos a la vez)
Next pool: none
En la terminal:
/ip pool add name="Conex PPP" ranges=5.5.5.2-5.5.5.10
Una vez creado el pool vamos al apartado PPP – Profiles:
Agregamos uno nuevo.
Name: Acceso VPN
Local address: Conex PPP (o el nombre elegido)
Remote address: Conex PPP
Change TCP MSS: yes
El resto quedara como esta
En el terminal:
/ppp profile add change-tcp-mss=yes local-address="Conex PPP" name="Acceso VPN" remote-address="Conex PPP"
Ya tenemos el perfil de conexión.
Ahora vamos a añadir usuarios para ambas conexiones, vamos a PPP – Secrets:
Añadimos un usuario
Name: soporte (nombre de usuario)
Password: contraseña (la que vayamos a usar)
Service: l2tp o pptp (si creamos los dos tipos de conexiones, por lo menos crear un usuario de cada tipo)
Profile: Acceso VPN
En terminal:
/ppp secret add name=soporte password=contraseña profile="Acceso VPN" service=l2tp o pptp
Ahora vamos a levantar los servidores VPN:
PPP – Interface – L2TP Server y PPTP Server:
En el caso del PPTP Server:
Enabled: yes (marcar)
Default Profile: Acceso VPN
Marcamos: mschap2 y mschap1
En el terminal:
/interface pptp-server server set authentication=mschap2 mschap1 default-profile="Acceso VPN" enabled=yes
Ahora vamos con el L2TP:
Enabled: yes (marcar)
MTU/MRU: 1450
Keepalive Timeout: 30
Default profile: Acceso VPN
Authentication: mschap2
Use IPSec: yes
IPSec Secret: contraseña2 (importante!!! Esta contraseña deberá coincidir cuando configuremos mas adelante IPSec, y será la segunda contraseña de la conexión L2PT)
En terminal:
/interface l2tp-server server set authentication=mschap2 default-profile="Acceso VPN "enabled=yes ipsec-secret=contraseña2 use-ipsec=yes
Ahora vamos a configurar la parte de IPSec, que es un protocolo de seguridad que cifra los paquetes en nuestra conexión, por ello es mejor que pptp, y nos asegura que no se ve nuestro trafico, es por ello que podremos acceder a internet por ejemplo desde la wifi del trabajo pero a través de nuestra casa sin que nadie sepa que estamos viendo por ejemplo.
Vamos a IP – IPSec – Peers:
Antes de nada, los siguientes datos estan repartidos a lo largo de tres ventanas distintas, en las capturas, para no volverse loco mirando. Lo que no aparece aquí se deja por defecto. Se configura en Peers, Identities y Profiles, siempre creando un perfil nuevo:
Address: 0.0.0.0/0
Port: 500
Auth method: pre shared key
Exchange mode: main l2tp
Passive: yes (marcar)
Secret: contraseña2 (la segunda que pusimos en l2tp server antes)
Policy template group: default
Send Initial Contact: yes
NAT Traversal: yes
My ID Type: auto
Generate policy: port override
Lifitime: 1d 00:00:00
DPD Interval: 120
DPD Maximum failures: 5
Proposal check: obey
Hash algorithm: sha1
Encryption Algorithm: 3des aes-128 aes-256
DH Group: modp 1024
Desde el terminal:
/ip ipsec peer add address=0.0.0.0/0 enc-algorithm=aes-256,aes-128,3des exchange-mode=main-l2tp generate-policy=port-override passive=yes secret=contraseña2
Ahora vamos a IP – IPSec – Proposals:
Name: default
Auth algorithms: sha1
Enrc. algorithms: 3des, aes-256 cbc, aes-256 ctr
Life time: 00:30:00
PFS Group: mod 1024
Desde el terminal:
/ip ipsec proposal set [ find default=yes ] enc-algorithms=aes-256-cbc,aes-256-ctr,3des
Ahora vamos a ir al Firewall porque debemos crear un par de reglas para permitir el acceso VPN, y se deben poner al principio del Firewall. Estas reglas no tienen captura de pantalla ya que yo las tengo integradas dentro de otras y podría ser mayor confusión:
Primera regla:
Chain: Input
Protocol: udp
Any. Port: 1701,500,4500
Action: Accept
Segunda regla:
Chain: Input
Protocol: ipsec-esp
Action: Accept
Por ultimo por si queremos hacerlo por terminal:
/ip firewall filter add chain=input action=accept protocol=udp port=1701,500,4500
/ip firewall filter add chain=input action=accept protocol=ipsec-esp