Páginas

Mostrando entradas con la etiqueta chr. Mostrar todas las entradas
Mostrando entradas con la etiqueta chr. Mostrar todas las entradas

martes, 3 de noviembre de 2020

Configurar VPN Acceso Remoto Mikrotik BGP


Configurar VPN para Acceso Remoto

Necesitamos un VPS (Cloud Compute), un servidor básico, por ejemplo, un chr de Mikrotik cuyo proceso de instalación detallamos en un vídeo anterior.

Para conseguirlo haremos un túnel VPN y enrutamiento BGP (configuración básica) y declarar las redes para que todo funcione. Lo ideal es tener una red ruteada (OSPF) para que conectando al core principal toda la red sea accesible. Hetzner nos otorgará a través del servidor cloud chr una dirección IP pública accesible desde Internet.

La prueba la haremos conectandonos desde un teléfono móvil hacia el cloud.

Abrimos el Winbox y accedemos a nuestro cloud chr Mikrotik que habíamos configurado en la nube de Hetzner. 


Una vez en nuestro cloud chr activamos el PPTP Server (Protocolo inseguro, creado solo para realizar el laboratorio. Para equipos en producción usaremos VPN SSTP


En el firewall vamos a agregar una regla NAT que hará NAT a todo lo que llegue al router -> IP -> Firewall -> Nat




En IP DNS no hace falta cambiar nada, las DNS vienen configuradas por defecto.


Vamos a crear un Profile Name: userpptp, encriptación obligarotira, Local Address 4.1.1.1, Remote Address 4.1.1.2 y un Secret con contraseña, Service pptp y el Profile userpptp.




Ahora vamos a nuestro Router de Borde (BordeRouter) y creamos el cliente pptp con los datos del servidor pptp y la IP pública del chr.




Una vez levantado el túnel VPN podemos proceder con el enrutamiento a nivel de BGP para acceder a nuestro router de manera transparente.

En nuestro cloud chr vamos a crear nuestra intefaz lógica Loopback.



Le asignamos una dirección IP a la interfaz Loopback con el que identificaremos al router chr.


Entramos en Routing BGP y le asignamos para crear una Instance, el AS lo identificamos con un número, por ejemplo, 150 y Router ID 1.1.5.3, que es la IP que hemos asignado a la interfáz lógica Loopback.


En el otro router BordeRouter, creamos la Instance BGP, al AS le asignamos un número, por ejemplo 900:


Regresamos al chr y creamos un Peer, la instancia default y la dirección remota 4.1.1.2.


Volvemos a nuestro BordeRouter y creamos el BGP Peer, donde la IP remota es 4.1.1.1 que es la dirección IP del túnel pptp y el AS del chr que es 450.





En este punto nuestros dos routers son accesibles, nuestro router en la nube chr y nuestro BordeRouter, pueden comunicarse y comparten rutas e ips.


Router list BordeRouter


En la pestaña BGP Networks se agregan todas las subredes detrás del router a las que queremos tener acceso. Por ejemplo:


Vamos a crear nueva credencial para conectar un teléfono móvil a nuestro router en la nube.

PPP -> Secrets -> PPP Secret

Name: phone
Password: **********
Service: pptp
profile: default
Local Address: 4.1.1.3
Remote Address: 4.1.1.4

Apply y OK


Para establecer la conexión, lógicamente desde fuera de la red, utilizo los datos de mi proveedor de telefonía (Simyo), creando una nueva conexión VPN del tipo PPTP.




Conexión establecida:



Desactivar BtServer


Implementando reglas básicas de seguridad en el Firewall

/ip firewall filter printFlags: X - disabled, I - invalid, D - dynamic 0 ;;; Aceptar tr·fico SSTP que vaya a cualquier lugar, protocolo TCP, puerto 443. chain=input action=accept protocol=tcp port=443 log=no log-prefix="" 1 ;;; Permitir conexiones nuevas desde mi LAN chain=input action=accept connection-state=new src-address=192.168.88.0/24 log=no log-prefix="" 2 ;;; Permitir trafico establecido. chain=input action=accept connection-state=established log=no log-prefix="" 3 ;;; Permitir trafico relacionado chain=input action=accept connection-state=related log=no log-prefix="" 5 ;;; Permitir trafico SSH VPN destinado al puerto 2222. chain=input action=accept protocol=tcp dst-port=2222 log=no log-prefix="" 6 ;;; Permitir trafico Loopback-BGP. Puerto por defecto BGP 179 TCP chain=input action=accept protocol=tcp dst-port=179 log=no log-prefix="" 7 ;;; Permitir trafico ppptp-userpptp.Puerto por defecto 1723 en TCP. chain=input action=accept protocol=tcp dst-port=1723 log=no log-prefix="" 8 ;;; Permitir puerto 8291 Winbox chain=input action=accept protocol=tcp in-interface=ether1 dst-port=8291 log=no log-prefix="" 9 ;;; Denegar todo lo demas. chain=input action=drop log=no log-prefix="" 10 chain=forward action=jump jump-target=tcp protocol=tcp log=no log-prefix="" 11 ;;; Denegar conexiones invalidas chain=forward action=drop connection-state=invalid log=no log-prefix="" 12 ;;; Denegar conexiones NBT a los puertos 137-139 chain=tcp action=drop protocol=tcp dst-port=137-139 log=no log-prefix="" 13 ;;; Denegar conexiones cifs al puerto 445 chain=tcp action=drop protocol=tcp dst-port=445 log=no log-prefix="" 14 ;;; Denegar conexiones RPC portmapper al puerto 135 chain=tcp action=drop protocol=tcp dst-port=135 log=no log-prefix="" 15 ;;; Denegar conexionex TFTP al puerto 69. chain=tcp action=drop protocol=tcp dst-port=69 log=no log-prefix="" 16 ;;; Permitir conexionex establecidas chain=forward action=accept connection-state=established log=no log-prefix="" 17 ;;; Permitir conexiones relacionadas chain=forward action=accept connection-state=related log=no log-prefix=""  18 chain=forward action=drop log=no log-prefix="" Flags: X - disabled, I - invalid, D - dynamic 0 ;;; Hacer NAT a todo chain=srcnat action=masquerade log=no log-prefix="" > ip firewall raw print Flags: X - disabled, I - invalid, D - dynamic 0 ;;; Denegar consultas DNS desde WAN protocolo udp. chain=prerouting action=drop in-interface=ether1 dst-port=53 log=no log-prefix="" protocol=udp 1 ;;; Denegar consultas DNS desde WAN protocolo tcp. chain=prerouting action=drop in-interface=ether1 dst-port=53 log=no log-prefix="" protocol=tcp 2 ;;; Denegar conexiones entrantes al puerto SSH chain=prerouting action=drop in-interface=ether1 dst-port=22 log=no log-prefix="" protocol=tcp

Mikrotik es genial!


domingo, 1 de noviembre de 2020

Instalar chr Mikrotik en la Nube Hetzner

Después de registrarnos en Hetzner abrimos nuestroy correo electrónico y clicamos en el enlace:


Are yo insterested in the Hetzner Cloud?
URL: https://console.hetzner.cloud

A continuación procedemos a la creación de un projecto nuevo y un servidor. Revisamos nuevamente el correo electrónico utilizado durante el registro para conocer los datos de conexión.


YOUR NEW SERVER
Your server "ubuntu-2gb-fsn1-1" was created!

You can access your server with the following credentials:
 
IPv4	138.201.94.32
IPv6	2a01:4f8:c17:e00b::/64
User	root
Password	7CN9eFAggr4RJkVaXEbs

Abrimos nuestra terminal Linux o Mac y tecleamos. Estás obligado a cambiar la contraseña. Te pedirá la contraseña actual y la nueva contraseña.


ssh -p 22 root@138.201.94.32
password:

Change password:
Old password:

New password:

Nos ubicamos en la raiz para descargar y descomprimir la imagen Cloud Hoster Router (Raw), desde el sitio web de Mikrotik.


# cd /root

# curl -O https://download2.mikrotik.com/routeros/6.42.3/chr-6.42.3.img.zip

# gunzip -S .zip chr-6.42.3.img.zip

Comprobar el dispositivo


# fdisk -l

Device      Start      End  Sectors Size Type

/dev/sda1  129024 40001502 39872479  19G Linux filesystem

/dev/sda14   2048     4095     2048   1M BIOS boot

/dev/sda15   4096   129023   124928  61M EFI System

# dd if=chr-6.42.3.img of=/dev/sda

262144+0 records in

262144+0 records out

134217728 bytes (134 MB, 128 MiB) copied, 38.3924 s, 3.5 MB/s

Reiniciar el sistema


# reboot

Abrimos Winbox e introducimos en Connect To: la IP Pública del servidor, en la entrada Login: admin, y en Password la contraseña cambiada anteriormente y hacemos clic en Connect.


En System User clicamos en admin y ponemos una contraseña. También actualizamos nuestro RouterOS a la última versión y desactivamos desde IP Services todo menos api y winbox

Mikrotik es genial!

sábado, 31 de octubre de 2020

VPN SSTP Entre dos Mikrotik Utilizando Certificados

Crear certificados en el Servidor cloud chr que creamos en Hetzner

System -> Certificates. En primer lugar creamos el certificado CA con las siguientes características



Ahora tenemos que crear el certificado del servidor, similar al anterior pero en Common Name pondremos la dirección IP Pública del servidor 195.201.40.65 de manera que los equipos tengan la certeza que la comunicación se establece con el equipo correcto.



A continuación creamos el certificado del cliente.



Firmar los certificados:

Certificado CA:


El certificado CA está firmado (KAT) K - private-key, A - authority, T - trusted.


Firmar certificado del cliente:


Firmar certificado del servidor



Vamos a configurar la VPN clicando en PPP SSTP Server. Primero creamos un PPP Profile con dirección IP local 10.254.254.1 y dirección IP remota 10.254.254.2 o en su defecto si las direcciones IP se entregarán por DHCP, en Remote Address pondremos el pool de direcciones IP del DHCP Server. En la pestaña Protocols la entrada Use Encryption en required (obligatorio).






Ya podemos crear la VPN. PPP -> SSTP Server, TLS Version only--1.2 y tildando Force AES para obligar la encriptación, el puerto será el 443.


Exportar certificados CA y CLIENTE. El certificado cliente lo exportamos con una clave (Export Passphase:



Nos vamos a Files y descargamos los certificados a una carpeta que llamaremos cert-hetzner


En el segundo dispositivo Mikrotik (AdminRouter) es donde vamos a subir los certificados, Upload en la carpeta Files.


Luego los importamos. System -> Certificates -> Import. El CA, el crt (con la clave que utilizamos para crearlo), y la llave pública.





El siguiente paso es crear el SSTP cliente. Abrimos PPP y en la pestaña + elegimos SSTP Client e introducimos los datos correspondientes al servidor cloud SSTP. Tildamos Add Default Router si vamos a navegar a través del cloud, si no lo dejamos por defecto. Por último comprobamos que el túnel se ha establecido. 




Si nos conectamos al cloud chr y vamos a PPP Interface veremos el túnel, DR dynamic y running.



Habilitar conectividad entre el chr y la LAN detrás del AdminRouter. Si hacemos ping hacia el chr tenemos conectividad pero, desde el chr cloud hacia la LAN no. Tenemos que crear la ruta en IP Route agregando en Dst. Address el segmento de la LAN y como Puerta de Enlace el túnel sstp.




Llegados a este punto, podemos establecer la conexión VPN SSTP con el cloud chr, a través de Winbox.




Mikrotik es genial!.