MANUAL: Mikrotik, tips & tricks

Por si sirve de algo, diré que yo uso a veces unos script que me hice.
Con ellos apago y enciendo los datos. Con esto consigo que se reinicie el túnel PPPoE.
La mayor parte de las veces, obtengo nueva IP.

Lo mismo adaptándolo se pueden haces otras cosas.

Saludos.
@Yoniper, viendo el pantallazo que has adjuntado, he visto unas reglas de firewall curiosas en cuanto a temas de escaneo de puertos y tal.

Llevo tiempo que "sufro" intentos de acceso a mi router desde las ip's más variopintas. ¿Cómo lo tienes solucionado?


Saludos!!
 
Truco: Usar el servidor DNS, como servidor local para un dominio de intranet.
Con la opción de IP -> DNS -> Allow remote requests, estamos convirtiendo nuestro equipo en un servidor DNS, el cual podrá hacer las funciones de DNS caché y de servidor local. Para esto último podemos crear entradas estáticas a las IP's locales de nuestros dispositivos, resolviendolos luego vía nombre.dominio.

Por defecto, el router habrá creado una entrada que apunta a la IP del propio equipo, la cual podemos resolver con un ping a router.lan. Siguiendo con ese dominio .lan, podemos seguir añadiendo dispositivos para luego resolverlos por nombre. Ejemplo:
Código:
/ip dns static add address=192.168.88.2 name=miequipo.lan
/ip dns static add address=192.168.88.3 name=miotroequipo.lan
...
etc

Bonus: una vez tengamos nuestros equipos, todos bajo un mismo dominio (puede ser el .lan o cualquier otro que nos guste más), podemos añadir este dominio a la lista de dominios de búsqueda en el DHCP, de tal manera que nos lo entregue como parte de los datos que facilita el router cuando un cliente le solicita una IP.
Código:
/ip dhcp-server network set number=[find where gateway=192.168.88.1] domain=lan

De esta forma, una vez el servidor DHCP nos entregue una dirección, también nos entregará su dominio de búsqueda, tal que ahora podremos invocarlo con un ping simplemente al nombre del equipo: ping router deberia responder de la misma manera ahora que un ping router.lan
Me surge una duda respecto a ese tip&trick, que seguramente alguno de los compañeros sabe solventar.
El servidor DNS local que puede montarse en Mikrotik, al final como todo DNS, solo resuelve direcciones IP, pero no puertos.
¿Qué ocurre pues si tienes varios servicios corriendo en un mismo servidor (misma IP) pero con diferente puerto?
Imagino que para estos casos hay que usar un proxy inverso (Nginx, Swag o Traefik), pero siempre he visto que esto está pensado para acceder desde fuera de la red, es decir, a través de la IP pública (para eso se implementa también Hairpin NAT, para poder acceder desde dentro de la LAN con la IP pública).

Pero a mí se me ocurre otro caso, que no sé si podría resolverse con un Mikrotik.
¿Qué ocurre si quiero usar subdominios pero que sean solo accesibles desde mi LAN?
Por ejemplo:
servicio1.lan -> 192.168.1.20:8000
servicio2.lan -> 192.168.1.20:7000
servicio3.lan -> 192.168.1.20:6000

Serían accesibles desde LAN, pero desde fuera de la red no. Entiendo que de esta forma no hay que exponer ningún puerto. ¿Cómo se haría esto?
- ¿Configurando un proxy inverso pero sin abrir el puerto 80 ni el 443 en el router?
- ¿Haciendo una especie de mapeo de puertos dentro de las reglas de Hairpin NAT?

A ver si alguien se ha planteado esto alguna vez y nos cuenta como lo tiene implementado.
 
Me surge una duda respecto a ese tip&trick, que seguramente alguno de los compañeros sabe solventar.
El servidor DNS local que puede montarse en Mikrotik, al final como todo DNS, solo resuelve direcciones IP, pero no puertos.
¿Qué ocurre pues si tienes varios servicios corriendo en un mismo servidor (misma IP) pero con diferente puerto?
Imagino que para estos casos hay que usar un proxy inverso (Nginx, Swag o Traefik), pero siempre he visto que esto está pensado para acceder desde fuera de la red, es decir, a través de la IP pública (para eso se implementa también Hairpin NAT, para poder acceder desde dentro de la LAN con la IP pública).

Pero a mí se me ocurre otro caso, que no sé si podría resolverse con un Mikrotik.
¿Qué ocurre si quiero usar subdominios pero que sean solo accesibles desde mi LAN?
Por ejemplo:
servicio1.lan -> 192.168.1.20:8000
servicio2.lan -> 192.168.1.20:7000
servicio3.lan -> 192.168.1.20:6000

Serían accesibles desde LAN, pero desde fuera de la red no. Entiendo que de esta forma no hay que exponer ningún puerto. ¿Cómo se haría esto?
- ¿Configurando un proxy inverso pero sin abrir el puerto 80 ni el 443 en el router?
- ¿Haciendo una especie de mapeo de puertos dentro de las reglas de Hairpin NAT?

A ver si alguien se ha planteado esto alguna vez y nos cuenta como lo tiene implementado.
No te sigo. En un dns, resuelves un nombre de dominio y lo asocias a una IP, independientemente del puerto que uses. Es decir si router.lan apunta a la 192.168.88.1, vas a poder acceder a todos los servicios que exponga esa IP, a través de su nombre de dominio igualmente. Es decir, router.lan:8080, accederá al servicio local que corra en la IP 192.168.88.1, en el puerto 8080. Y, para resolver eso en local, no necesitas ningún nginx ni nada por el estilo, simplemente concatenas el puerto al dominio con dos puntos y listo.

Saludos!
 
No te sigo. En un dns, resuelves un nombre de dominio y lo asocias a una IP, independientemente del puerto que uses. Es decir si router.lan apunta a la 192.168.88.1, vas a poder acceder a todos los servicios que exponga esa IP, a través de su nombre de dominio igualmente. Es decir, router.lan:8080, accederá al servicio local que corra en la IP 192.168.88.1, en el puerto 8080. Y, para resolver eso en local, no necesitas ningún nginx ni nada por el estilo, simplemente concatenas el puerto al dominio con dos puntos y listo.

Saludos!
Gracias por la respuesta @pokoyo , pero no es exactamente lo que proponía.
Lo que dices es correcto, pero implica saber/conocer los puertos que usan cada uno de tus servicios. Si tienes 2, pues vale. Si tienes varios, la cosa cambia.

Mi pregunta iba enfocada a que la resolución del subdominio redireccione localmente a una IP+puerto concreto.
Si tu dominio router.lan apunta a la 192.168.88.1, lo que yo propongo es lo siguiente, por ejemplo:

servicio1.lan -> Sería equivalente a router.lan:8080
servicio2.lan-> Sería equivalente a router.lan:7000
 
No, eso que pretendes no se puede hacer, al menos a priori y que yo sepa, usando el DNS del mikrotik. Podrías crear todos los subdominios que te diera la gana apuntando a una misma IP, y que esa IP resolviera el puerto a partir del subdominio consultado. Es decir, esa IP sería un web server con un proxy reverso (apache, nginx, lo que te de la gana)

Si tienes un NAS de synology en casa, se podría hacer. O corriendo un docker con un reverse proxy en una máquina que esté siempre encendida. O montándolo en una raspberry pi... como quieras. Pero directamente en el mikrotik, no se me ocurre cómo hacerlo.

Saludos!
 
Arriba