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