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

domingo, 2 de marzo de 2025

ProtonVPN en Mikrotik

 Después de mucho tiempo sin escribir con alguna que otra investigación voy a documentar cómo voy a configurar el router Mikrotik hAP ax^3 que tengo. Recordad, si no lo conté en su momento, que no está conectado directamente a la fibra, pero todas las conexiones pasan por él. 

No obstante, como fuente de información voy a utilizar la oficial de Proton. ¡Ah! También recalcar que en esas instrucciones tiran de consola y ya veré si lo hago tal cual lo explican o lo traslado a interfaz gráfica. Como de costumbre, pondré capturas o los comandos introducidos con su la tipografía que habitualmente pongo.

Una vez creada una cuenta (gratuita), hay que ir a la página de descargas y buscar "wireguard" para generar un fichero de configuración:

Creando fichero Wireguard en ProtonVPN
Creando fichero Wireguard en ProtonVPN

En mi caso quiero seleccionar que voy a configurar un enrutador. El resto de valores los voy a dejar por defecto. Ojo, porque alguno de ellos pudiera hacer falta pagar la suscripción pertinente. 

Al hacer click sobre el botón crear aparecerá una ventana emergente con todos los datos que te harán falta. Tendrás que copiarlos y pegarlos en un fichero de texto antes de cerrarla porque, tal y como te indican, muchos de esos valores no se volverán a mostrar teniendo que generar otro nuevo (si es que te deja con la suscripción que tengas).

Fichero de configuración Wireguard creado
Fichero de configuración Wireguard creado

Desde la herramienta Winbox, vamos a crear una interfaz Wireguard. Un recordatorio más: Mikrotik lo soporta nativamente desde la versión 7. Una vez hemos accedido al router, seleccionamos Wireguard en el menú de la izquierda. Nos abrirá otra ventana donde seleccionaremos el botón "+". En la ventana que nos aparezca podremos decidir cambiar el nombre de la interfaz que tendrá. Lo que sí o sí hay que hacer es poner la clave privada que nos hayan generado.

Creando interfaz Wireguard desde Mikrotik
Creando interfaz Wireguard desde Mikrotik

Con la interfaz creada hay que asignarle una dirección IP, una dirección de red, etc.

Configurar direccionamiento IP en interfaz Wireguard
Configurar direccionamiento IP en interfaz Wireguard

En el ejemplo del manual están ejecutando estas líneas:

/ip address
add address=10.2.0.2/30 interface=wireguard-inet network=10.2.0.0


Con estos datos configurados hay que configurar el router como cliente (lo que llaman peer). Eso se hace desde la pestaña peer en la ventana de Wireguard. Habrá que indicar el nombre descriptivo (es opcional), la interfaz (en nuestro caso wireguard1) y los valores que podrás encontrar en el fichero generado (public key, IP y puerto del endpoint). El valor de keepalive lo pondremos a 25 segundos. Si no pones el valor de allowed addresses no te dejará aplicar esta configuración.

Configurando Mikrotik como peer / cliente
Configurando Mikrotik como peer / cliente

Lo siguiente que hay que hacer es configurar el masquerade, que es el que hace que una tarjeta de red con una dirección IP se oculte detrás de otra. Es lo que comúnmente llamamos NAT. En mi caso, como ya tengo más entradas, me pudiera encontrar con que falle y no funcione, o que incluso para conexiones internas me deje de funcionar o que haga otras cosas más extrañas. Sólo voy a poner un ejemplo de cómo seria. Yo he puesto tantos como casos me corresponden:

Configurando NAT para Wireguard en Mikrotik
Configurando NAT para Wireguard en Mikrotik

Lo siguiente que hay que hacer es crear a mano dos entradas de enrutamiento más. Nada más aplicar los cambios de este paso, tal cual estamos, la conexión a Internet deja de funcionar y no queda otra que deshabilitar esas entradas. En caso contrario, no hubiera podido subir las capturas ni guardar los cambios de este post:

Primera cnfiguración de tabla de enrutado para Wireguard en Mikrotik
Primera configuración de tabla de enrutado para Wireguard en Mikrotik 

Segunda configuración de tabla de enrutado para Wireguard en Mikrotik
Segunda configuración de tabla de enrutado para Wireguard en Mikrotik 

El siguiente paso sería configurar los DNSs. Si bien te indican que pongas el suyo, 10.2.0.1 (que acaba siendo el gateway propio del sistema), en teoría se pueden usar otros, al menos es lo que parece si probamos a hacer ping a los que queremos usar: 9.9.9.11. 

Además del DNS, te indican que configures el cliente dhcp de la tarjeta de red conectada al router de Internet (entiendo que también sería la ONT, etc). Esta parte la ignoré porque no estaba activándolo pero he tenido muchos problemas y parece que va mejor si se pone. En este caso, lo que he hecho ha sido ejecutarlo por consola y después desde la GUI activarlo (ya que precisamente esa entrada la tenía desactivada). El comando que he ejecutado ha sido:

/ip dhcp-client
set 0 use-peer-dns=no

Lo último es configurar una entrada más en la tabla de enrutado en el que se pone la dirección IP que se indica en el campo endpoint del fichero que hemos descargado en el campo dst address y el gateway la dirección IP específica del router hacia Internet. Recuerdo que este no está conectado directamente a la fibra. 

En este punto, si hacemos ping contra Quad9 y después habilitamos las tres entradas que hemos creado veremos que se produce un pequeño corte pero después vuelve una conexión, pero se ve que la respuesta es más lenta:

Probando Wireguard en Mikrotik usando ping contra Quad9
Probando Wireguard en Mikrotik usando ping contra Quad9

En teoría, con toda esta configuración, debería de funcionar. No obstante: me he encontrado con problemas. Tuve que desactivar el DoH (DNS over HTTPS). Otro problema es que según le daba, al menos hasta que he configurado el DHCP-client, es que precisamente haciendo ping a veces iba como un tiro y en otras ocasiones dejaba de funcionar, tanto llamando a una dirección IP como a una URL. 

Llevaba mucho tiempo queriendo probar esta historia, y aprovechando la historia de Cloudfare, ya me he puesto a buscar. 

Lo voy a dejar aquí. Al final estoy aplicando lo que dicen en el manual oficial en mi sistema. Pudiera ser que acabe de escribir estas líneas, quiera guardar y publicar este post y me deje mal. Aún así, no descartaría que en algún momento se me ocurra probar otro servicio o intente afinar la configuración. 

domingo, 11 de abril de 2021

Router Sercomm FG824CD IV

Como podéis ver sigo pegándome con el router. La verdad es que he estado a punto de tirar la toalla. Casi lo había hecho. Pero al encontrar más posibles soluciones, he querido ver qué podía hacer.

No me quiero olvidar del disclaimer:

  • Recuerda que es altamente probable que el router no sea de tu propiedad sino de tu operadora.
  • Cualquier cosa que hagas y de lo que le pueda suceder a tu router es de tu responsabilidad.
  • Acuérdate de hacer copias de seguridad, tanto del modo usuario (como te muestra la pantalla originalmente) como del admin (ya os conté en anteriores entregas cómo se encuentra).
  • Podrías quedarte sin conexión y tocarte resetear el router a estado de fábrica o tener que tirar de tus copias de seguridad.

Aunque me estuve pegando con otros flancos lo primero que voy a mostrar es algo que se sabía (más o menos): con el router reseteado, sin conectar el cable de la fibra, usuario admin... Acceder al menú del teléfono (submenú configuración básica)... En el momento en el que se conecte el cable de la fibra (con el trasto encendido) y refrescando, se pueden ver los datos de configuración del ATA integrado. Eso sí, el usuario y contraseña están codificados en base64 y totalmente cifrados. 


Sercomm FG824CD datos telefónicos
Sercomm FG824CD datos telefónicos

Uno de los problemas está en que si se quiere analizar cómo se cargan el usuario y la contraseña hay que hacerlo en el mismo momento en el que se conecta el latiguillo de la fibra. Y eso no será fácil porque en un instante determinado te fuerza el cierre de la sesión y ya se habrá perdido el acceso al usuario administrador. 

He vuelto a intentar ver si podía descifrar el usuario y contraseña que ponen por defecto ya que aparece codificado en base64. Pero ya he visto que a su vez están cifrados. 

Al final me decidí a mirar estos así porque estuve luchando con la configuración del TR-069, que creo que es la que más impedimentos pone (si no es la única). 

Nota: Estoy reescribiendo todo esto antes de continuar con la publicación. Han sido muchos bandazos, con idas y venidas. Pero he conseguido llegar a un punto en el cual a pesar de no haber acabado sí ha sido un gran avance que creo que merece la pena mover todo el texto para dejarlo más ordenado. 

La idea de todo esto es atacar contra la configuración TR-069. Una de las muchas aproximaciones con las que he intentado atacar este problema es configurando un servicio tr069 en una de las raspberries que tengo paradas. En este gitlab hay un script en python que permite configurarlo rápidamente. Está pensado para un ZTE pero alguna cosilla he llegado a verla funcionar en este. Por lo que he entendido lo que hace es volver a poner el usuario admin en el sistema. Además de recuperar la configuración del sistema. Como es capaz de devolver la estructura necesaria para añadir o modificar un usuario, si después lo modificamos para gestionar la configuración y poder acceder por ejemplo por ssh bienvenido sea. 

Una vez descargado sólo tendríamos que ejecutar estos dos comandos:

openssl req -x509 -nodes -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365

python3 acs-server.py --username admin --password pass --ssl

Yo ya había creado el certificado hace unas semanas. Por lo que...

acs-server.py por Jorge Senín
acs-server.py por Jorge Senín

En Youtube hay un vídeo donde se muestra cómo funcionaría en un router ZTE F680.

Vamos por partes.

Conexiones WAN

Tendremos que hacer dos configuraciones. 

Una contra la tarjeta de red (de fibra óptica) original. Es la que está relacionada con la siguiente captura por lo que tuve que activarla pero con el cable de fibra desconectado: 


Sercomm FG824CD: Configuración tarjeta WAN
Sercomm FG824CD: Configuración tarjeta WAN

Aunque podría haber deshabilitado el DHCP y poner una dirección pública válida (copiando alguna que ya me hubieran puesto anteriormente) hay que pensar que a día de hoy lo normal es que no se tenga derecho a una dirección estática. De ponerla a mano lo recomendable es tenerla así el menor tiempo posible para regresar a la dinámica una vez se hayan hecho todas las configuraciones deseadas. 

Por lo que he podido averiguar y probar: "DHCP option 60" con valor "dslforum.org" y marcando la casilla "DHCP opción de solicitud 43" es la forma en la que informan al router cómo o de dónde cargar la configuración ACS automáticamente. 

En mi caso lo que he hecho ha sido poner un servidor DNS interno que he configurado en el punto de acceso Mikrotik. En este servidor he configurado una entrada para que redirija acs.masmovil.com y acs.yoigo.com a la dirección IP de la raspberry. Mientras que no evites que acceda a estas direcciones no te recomiendo que conectes la fibra o se te actualizará la configuración automáticamente.

Por lo otro lado también he creado dos tarjetas adicionales. Una de tipo "enrutamiento" (como la que tenemos aquí) con el nombre LAN y otra de tipo host con el nombre LANHost. Esta última al final no ha hecho falta. 


Sercomm FG824CD - Añadir una conexión más con direccionamiento estático
Sercomm FG824CD - Añadir una conexión más con direccionamiento estático


Habrá que ponerle un nombre fácil de entender e identificar, una dirección IP con distinto netid al tuyo (por lo que si usas una 192.168.1.0/24 ponte una 192.168.2.0/24) y la puerta de enlace adecuada a ese netid. Ejemplos: 192.168.2.177 y gateway 192.168.2.1. No te olvides de poner el mismo DNS que en la anterior:

Sercomm FG824CD Estado conexiones creadas
Sercomm FG824CD Estado conexiones creadas

Configuración TR-069

La siguiente captura que procede de la sección TR-069 la saqué justo después de resetear el router. De todas formas, para el punto donde nos encontramos nos sirve perfectamente:.


Sercomm FG824CD: Configuración TR-069
Sercomm FG824CD: Configuración TR-069

En la captura podemos ver que hay un botón para activar o desactivar TR069. Pero está deshabilitado. Y aunque se manipule el html para habilitarlo el cambio no se guarda. Por lo que siempre estará activo. Lo que significa que tenemos que conseguir engañar al sistema de otra forma. 

La conexión WAN: Esta es importante. Aquí he puesto la nueva conexión.

La versión SSL sólo deja seleccionar auto, SSL 3.0, TLS 1.0 y TLS.1.2. La primera prueba en la que he visto que había una reacción ha sido sin tirar de https. Lo mejor es dejarlo en auto.

ACS URL: he puesto la dirección IP con el puerto de la raspberry donde tengo lanzado el script. Los ejemplos de ese script tiran de ssl pero la primera prueba exitosa ha sido con http y ha funcionado (aparentemente). ¡Ojo! Aunque parezca que funciona, desconozco por qué al rato vuelve a la URL original.

Obtener URL por DHCP: Esta opción es otra de la que da problemas. Es un botón deshabilitado que por mucho que se habilite a nivel de html no se guardan sus cambios. Esta es la razón por la que hay que tirar de un servidor DNS interno que evite que busque (de momento) las URLs que fuerzan "gracias" a esta opción.

Credenciales: poco puedo contar. Los nombres de usuario suelen ser conocidos. Las contraseñas... No lo sé.

Intervalo de informe: no sé muy bien si es el tiempo en el que tarda en volver a llamar al servidor TR069 pero lo cambiaría a muy bajo, a lo mejor unos pocos minutos, por si se consigue que contacte con uno nuestro podemos detectarlo rápidamente.

Enrutamiento

Uno de los problemas que me he encontrado ha sido que no había forma de conseguir que LAN accediese nuestro propio servidor TR-069 (vamos, la rasp). Sabía que tenía que buscar su dirección IP pero al mandar el paquete ARP no había respuesta. Lo he intentado con rutas estáticas pero nada. Y ya desesperado, simplemente por probar, he configurado ¿el enrutamiento de políticas? Serán las políticas de enrutamiento (¿no?): 

Sercomm FG823CD: Enrutamiento de políticas
Sercomm FG823CD: Enrutamiento de políticas

A la vez he comprobado (por vigésima vez mínimo) que desde mi ordenador llegaba a la IP de la tarjeta WAN con nombre LAN (me acabo de dar cuenta de que es un poco antagónico, pero para el caso me sirve). Desde mi ordenador todo bien. Pero curiosamente desde la raspberry, que es la que tiene que tiene que poder responder a esas peticiones no funcionaba. Para mí no tiene sentido porque tendría que tirar directamente contra su gateway por defecto. No obstante he añadido la misma puerta de enlace para el rango de LAN:

#route add -net $IP_WAN_LAN netmask 255.255.255.0 gw $GATEWAY_PRINCIPAL

Y con esto ya tengo respuesta.

Algunas de estas cosas las he podido evaluar y buscar gracias a las secciones de port mirroring o captura de paquetes en la sección de estado y soporte.

Resumen1:

Para el primer resumen este es el estado del router:

  • Wifi deshabilitado.
  • Dirección IP interna reconfigurada.
  • Servidor DHCP deshabilitado.
  • WAN: 
    • Con DHCP pero el DNS reconfigurado hacia uno nuestro.
    • Nueva conexión llamada LAN (ojo que puede liar): direccionamiento estático con IP privada; Mismo DNS que la conexión principal.
  • El servidor ACS interno activado.
  • Configuración de políticas de enrutamiento.
  • Configuración de gateways si hace falta.
Continuación:

Te preguntarás cuándo conectar el cable de fibra. Lo puedes hacer en el mismo instante en el que cambies el DNS de la conexión HSI. No se te configurará entre otras cosas el teléfono. Pero al menos tendrás acceso a internet.

Una vez conseguido que haya una primera respuesta y he ordenado el artículo hasta aquí... He tenido problemas con la raspberry y me ha costado un tiempo volver a tener conectividad. Pero una vez reestablecida la configuración de red esta, vuelto a lanzar el servicio ACS y reiniciado el router estoy obteniendo resultados. 

Sercomm FG824CD: TR-069 y acceso al servidor ACS
Sercomm FG824CD: TR-069 y acceso al servidor ACS

En mi caso parece que se está cambiando el usuario y la contraseña principales. Pero sí devuelve resultados internos. Lo único que no se están guardando y el buffer de la consola no me los registra. No sé si es por el cliente ssh o por la librería del servidor http en python. Razón por la cual he activado el port mirroring (con el tcpdump en otro screen de la rasp) y la captura de paquetes en el propio router. 

Ah! Que no me olvide: he tenido que corregir un pequeño problemilla en el código; una excepción de esas que con sólo validar que si una variable es nula se le asigna cadena vacía y listo.

Al recoger una de esas capturas sólo he tenido que seleccionar uno de los paquetes con texto (ya que no me estoy conectando con https) y hacer un follow TCP stream

Sercomm FG824CD: Resultados de su configuración por TR-069 / ACS
Sercomm FG824CD: Resultados de su configuración por TR-069 / ACS

Sólo quedaría pasar ese XML a un fichero o editor que permita analizarlo con más facilidad. Por ejemplo, Notepad++.

Es un xml muy largo, por lo que ver y entender todo va a ser casi imposible para lo que nos ocupa en este post pero alguna cosa sí que puede ser interesante. Además hay que recordar que todavía no hemos sido capaces de hacer una actualización de la configuración a través del script. Por cierto, he tenido que buscar alguna entrada y he llegado a esta página donde tienen la explicación muchos de los datos (por no decir todos) que contiene este xml que curiosamente es para TR-098, y que no a aparece en el de TR-069..

...
<ParameterValueStruct>
    <Name>InternetGatewayDevice.ManagementServer.ConnectionRequestURL</Name>
    <Value xsi:type="xsd:string">http://_IP_LAN_:13854/_cadena_larga_"aleatoria"_/index.html</Value>
</ParameterValueStruct>
<ParameterValueStruct>
    <Name>InternetGatewayDevice.ManagementServer.ConnectionRequestUsername</Name>
    <Value xsi:type="xsd:string">cwmpCR</Value>
</ParameterValueStruct>
...
<ParameterValueStruct>
    <Name>InternetGatewayDevice.Services.VoiceServiceNumberOfEntries</Name>
    <Value xsi:type="xsd:unsignedInt">1</Value>
</ParameterValueStruct>
...
<ParameterValueStruct>
    <Name>InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.Name</Name>
    <Value xsi:type="xsd:string"></Value>
</ParameterValueStruct>
...
<ParameterValueStruct>
  <Name>InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.Line.1.SIP.AuthUserName</Name>
    <Value xsi:type="xsd:string"></Value>
</ParameterValueStruct>
<ParameterValueStruct>
    <Name>InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.Line.1.SIP.AuthPassword</Name>
    <Value xsi:type="xsd:string"></Value>
</ParameterValueStruct>
...
<ParameterValueStruct>
    <Name>InternetGatewayDevice.X_SC_Management.AccessControl.TR069Mode</Name>
    <Value xsi:type="xsd:string">wan (nota: ¿cambiar a 'ALL' o 'LAN'?)</Value>
</ParameterValueStruct>
...
<ParameterValueStruct>
    <Name>InternetGatewayDevice.X_SC_Management.AccessControl.SSHStatus</Name>
    <Value xsi:type="xsd:string">Disabled (cambiar a 'Enabled')</Value>
</ParameterValueStruct>
<ParameterValueStruct>
    <Name>InternetGatewayDevice.X_SC_Management.AccessControl.SSHMode</Name>
    <Value xsi:type="xsd:string">none(¿cambiar a 'lan'?)</Value>
</ParameterValueStruct>
<ParameterValueStruct>
    <Name>InternetGatewayDevice.X_SC_Management.AccessControl.SSHTrustNetworkMode</Name>
    <Value xsi:type="xsd:string">none(¿cambiar a 'lan'?)</Value>
</ParameterValueStruct>
...
<ParameterValueStruct>
    <Name>InternetGatewayDevice.X_SC_Management.Server.SSHServer.Enable</Name>
    <Value xsi:type="xsd:boolean">1(¿ya está activo? Pero según qué nmap se lance, puede aparecer como filtrado o no aparecer)</Value>
</ParameterValueStruct>
<ParameterValueStruct>
    <Name>InternetGatewayDevice.X_SC_Management.Server.SSHServer.AccessPort</Name>
    <Value xsi:type="xsd:unsignedInt">22</Value>
</ParameterValueStruct>
...
<ParameterValueStruct>
    <Name>InternetGatewayDevice.X_MASMOVIL_COM.Users.User.1.Username</Name>
    <Value xsi:type="xsd:string">admin</Value>
</ParameterValueStruct>
<ParameterValueStruct>
    <Name>InternetGatewayDevice.X_MASMOVIL_COM.Users.User.1.Password</Name>
    <Value xsi:type="xsd:string"></Value>
</ParameterValueStruct>
<ParameterValueStruct>
    <Name>InternetGatewayDevice.X_MASMOVIL_COM.Users.User.1.Group</Name>
    <Value xsi:type="xsd:string">admin</Value>
</ParameterValueStruct>
...
<ParameterValueStruct>
   <Name>InternetGatewayDevice.X_MASMOVIL_COM.Users.User.1.Permission</Name>
   <Value xsi:type="xsd:string">web,cli(,ftp,smb)</Value>
</ParameterValueStruct>
...
<ParameterValueStruct>
    <Name>InternetGatewayDevice.X_SC_MiscCfg.GPON.DebugMode</Name>
    <Value xsi:type="xsd:string">Disabled</Value>
</ParameterValueStruct>

Con alguno de estos datos podría probar a cambiar el script para adecuarlo a la estructura que entiende el router porque está claro que los usuarios no se crean de igual forma en Sercomm que en el ZTE. Además podemos ver cómo añadirles más capacidades de acceso (con ese "cli" que tiene el administrador por ejemplo). Y activar el servicio SSH sólo válido para "lan" (porque si ponen "wan" en otros servicios seguro que "lan" sirve también). 

He estado haciendo pruebas modificando el script. 
  • He querido añadir usuarios para los cuales he acabado modificando una copia de este para crear los objetos que contendrían los datos de estos usuarios. Como adelanto para otra posible entrada, se usa un tag que se llama "AddObject". Pero después no me funcionan.
  • He hecho modificaciones para poder incluir datos de tipo boolean.
  • Ahora mismo desconozco por qué al intentar cambiar el valor de "DebugMode" no me permite ponerle "Enabled" a pesar de que es un tipo string. Esta cadena es la que aparece en uno de los tags de la interfaz web cuando se quiere que muestre la opción de activar los servicios de SSH.
  • Al activar los servicios de SSH parece que sí se debían de estar activando pero después no se encuentran estos servicios con nmap.
  • Las contraseñas que no se hayan actualizado por nuestra parte a través de este script no se muestran. Las que nosotros hayamos metido, sí.
  • Y lo más soprendenete es que a pesar de que después devuelve que se han realizado los cambios al reiniciar el router... Al menos los importantes como los del SSH y modificación de los usuarios vuelven a su estado anterior. Lo único que he visto (si es quen o se me ha escapado ningún otro) es que los objetos relacionados con los nuevos usuarios sí que están, pero con sus valores por defecto que no sirven para nada.
Creo que de momento lo dejo aquí. Hay muchos más flecos con los que tengo que pegarme pero ya los contaré en otra entrada.  

Antes de acabar no me quiero olvidar de poner otro enlace que también dan pistas de por dónde tirar para hacer estas cosas. Me lo dejé a medias pero lo tenía pendiente de continuar. Y no quiero que se pierda. Es para un router F@ST 5657,

sábado, 9 de diciembre de 2017

Mikrotik routerboard 411UAHR IV: Antenas

Hace mucho, mucho tiempo (casi un año) que monté el router Mikrotik 411UAHR.

Tal y como comenté, los pigtail (MMCX/RP SMA Jack bulkhead) seleccionados no eran los adecuados:

Mikrotik Routerboard 411UAHR - Pigtail MMCX/RP SMA Jack bulkhead
Mikrotik Routerboard 411UAHR - Pigtail MMCX/RP SMA Jack bulkhead

Así, meses después (allá por abril o mayo), conseguí comprar los pigtail adecuados.

Por lo tanto, me hice con los siguientes elementos:
Este sería el material:

Mikrotik - ACMMCX y MMCX-NFemale
Mikrotik - ACMMCX y conversor RP-SMA a NFemale
Así es el conversor a NFemale de cerca:

Conversor RP-SMA a NFemale válido para la caja Mikrotik CA411-711
Conversor RP-SMA a NFemale válido para la caja Mikrotik CA411-711

Y así el pigtail:

Pigtail ACMMCX
Pigtail ACMMCX 

Por no poner otra foto con el primer resultado, nos podemos remitir a la que estoy mostrando al principio de este artículo.

Así es como queda instalado el pigtail:

Mikrotik con el nuevo pigtail sin enroscar
Mikrotik con el nuevo pigtail sin enroscar

Una vez enroscadas las tuercas, podemos conectar los conversores:

Mikrotik - ACMMCX y conversores instalados
Mikrotik - ACMMCX y conversores instalados

Puede que cueste un poco ponerlos: hay que afinar muy bien. De hecho, si no recuerdo mal, antes de poder enroscar los conversores, había que oir un pequeño "click". En caso contrario, no se podrían enroscar.

Al final, ya podremos instalar las antenas, quedando estas de una forma consistente:

Mikrotik con las antenas instaladas
Mikrotik con las antenas instaladas
Como se puede observar, no quedan colgando. Espero que esta solución al primer problema os sea de utilidad, por si os hiciese falta. 

viernes, 6 de enero de 2017

Mikrotik routerboard 411UAHR III: Completando la configuración

Hoy, día de Reyes, vamos a completar la configuración del dispositivo RB411UAHR. Ésta se ha hecho en varias fases.. Eso significa que el artículo lo escribí  en un momento determinado, después cambié algunas cosas porque me había encontrado con problemas o hice mejoras y más adelante (justo ahora mientras estoy escribiendo esta parrafada) voy a completar datos. Intentaré que se quede lo más ordenado posible para que no sea el típico caos de añadir datos que después no pegan ni con cola.

Solucionando el problema del acceso de los DNSs. Tal y como edité el anterior artículo, esos eran valores que equivaldrían a los datos del fichero hosts. Los DNS se ponen desde

/ip dns set listaDNSs

Añadiendo lista de servidores DNS a Mikrotik
Añadiendo lista de servidores DNS a Mikrotik
¡Ojo! La lista de las direcciones IP tiene que ir separada por una coma (,) pero sin espacios entre cada una de las direcciones. 

Además, me he encontrado con una utilidad 

/system route check DIR_IP

que te dice cuál sería el siguiente salto a nivel de direccionamiento. Por lo que si pones una dirección de fuera de la red (por ejemplo, la dirección IP de tus DNSs en internet), debería de indicarte el gateway

Según estoy viendo, existe "otro" ping. Al menos el comportamiento es distinto. En este caso, si lo ejecuto como 

/ping address=IP_2_PING

sí que responde, y además lo muestra en una lista. A diferencia que si accedo desde

/tools ping IP_2_PING

muestra sólo dos líneas con la velocidad en bps.

Por lo tanto, se puede dar por corregida esta incidencia.

Para la fecha y hora, quería configurarle un servidor NTP: 0.es.pool.ntp.org (de memoria). Pero a pesar de encontrarme con problemas para encontrar dónde se hacía, acabo de ver desde

/system clock print

que muestra la fecha, hora y timezone correctamente. Lo dejaré para más adelante (a ver si es que se han perdido utilidades al actualizar).

También es importante: no nos olvidemos de cambiar las contraseñas de los usuarios (en algún momento terminé creando alguno directamente) tanto de los nuevos como de los que vienen por defecto.

Ahora vamos al lío: voy a configurar una de las tarjetas wifi. Este es uno de los casos que he ido cambiando cosas, me he encontrado con otros problemas, etc.

Desde

/interface wireless print

vemos las tarjetas instaladas y su configuración:

Ver tarjetas inalambricas en Mikrotik
Ver tarjetas inalambricas en Mikrotik

Como podemos cometer el error de configurar la tarjeta (en mi caso va a ser la 1) sin seguridad (como me ha sucedido al configurarla y activarla) lo primero que se debería de hacer es ir a

/interface wireless security-profile

Esta sección nos permitirá crear un perfil de seguridad. Es decir: el perfil que indicará, entre otras cosas, el tipo de cifrado que se usará, la contraseña, etc. Un perfil que después se podrá asignar a la(s) tarjeta(s) que deseemos. Tendremos que buscar los distintos parámetros que necesitemos. Tipo de cifrado, clave(s) (wpa/wpa2...) el nombre que le vamos a asignar a esa configuración en concreto (para luego usarla), etc. Me he basado en lo que me indican en la wiki para adaptarlo a mis necesidades. Aunque he hecho unos cuantos cambios este debería de ser un ejemplo válido:

add name=nombre_molon mode=dynamic-keys supplicant-identity=nombre_molon_supplicant authentication-types=wpa2-psk,wpa-psk unicast-cipher=aes-ccm wpa-pre-shared-key="123abc123abc123abc" wpa2-pre-shared-key="123abc123abc123abc" management-protection=allowed

Y ahora ya podremos configurar los parámetros de la tarjeta de red. No nos olvidemos de indicarle qué perfil queremos usar para la seguridad:

/interface wireless
set 1 disabled=yes hide-ssid=yes wps-mode=disabled band=2ghz-b/g/n ssid=red_inalambrica mode=ap-bridge allow-sharedkey=no adaptive-noise-immunity=ap-and-client-mode antenna-mode=ant-a basic-rates-a/g=54Mbps
set 1 security_profile=nombre_molon disabled=no

Importante acordarse del wps-mode, que se me había quedado activado. Sólo lo pondremos si queremos reventar la seguridad que nos otorgan las claves WPA/WPA2.

Tampoco hay que olvidarse de ponerle su propia dirección IP a cada una de las tarjetas wifi con las que trabajemos. Recordemos que se hacía:

/ip address add interface=nombreInterfaz address=direccionIp netmask=mascaraRed 

No des por hecho que están puestas. Muchos cambios de aquí para allá pueden liarte. Y esto podría ser una de las razones por las que no eres capaz de conectarte a esa tarjeta de red en concreto.

Falta otro paso más: activar la comunicación entre las distintas tarjetas del sistema. Por ejemplo, entre las dos tarjetas integradas en el sistema. Eso significa que si se intenta hacer un ping de una de las tarjetas a la otra no vamos a obtener respuesta. También me he encontrado algún ejemplo (o eso parece) en el que usan NAT para hacer esa comunicación. Primero miraré cómo hacerlo con las opciones de bridge. Además, en algún caso he visto un ejemplo en el que configuraban WDS. Aunque me ha costado encontrarlo (y lo tenía en una de las páginas ya abiertas), WDS fundamentalmente convierte varios APs en un hub/switch.

/interface bridge add=nombreBridge
/interface bridge port add interface=ether1 bridge=nombreBridge
/interface bridge port add interface=wlan1 bridge=nombreBridge

Varias cosas sobre el bridge:

  • Su dirección MAC está toda a ceros en consola. En la GUI me aparece con la MAC de la tarjeta ethernet. Habrá que estudiar si se le pone una (por ejemplo, impersonalizando algunas de las que tiene el dispositivo) o si deja tal cual está.
  • He visto cómo le asignan una dirección IP al bridge (como una tarjeta más): 
/ip address add interface=nombreBridge address=ipBridge netmask=netMask comment=descripcion


Con esto he conseguido que un equipo conectado a la wifi pueda salir a Internet a través del punto de acceso. Pero no me deja(ba) hacer ping a otros dispositivos dentro de la misma red. Incluyendo desde el mismo Mikrotik. Hay que tener mucho cuidado al activar y desactivar las distintas direcciones IP que se tengan configuradas. Para solucionar este problema: buscamos en

/ip route print

Veremos que tenemos la dirección del gateway en una línea en la siguiente línea las distintas tarjetas con una sóla dirección IP. Pues fundamentalmente es como si esa dirección IP dijera por dónde va a salir. Ahí, en nuestro caso, tendremos que conseguir que ponga aquella que tiene asignado el bridge. Una forma puede ser ir a

/ip address set NUMERO_IP disabled=yes

para cada una de las que no queremos que aparezcan. Después las podemos volver a activar, pero así se fuerza a que ponga la que queremos que sea la principal. Seguro que hay otras formas, pero esta es una de ellas.

Con respecto a al cliente NTP, he tenido que hacer un ping al servicio 0.es.pool.ntp.org para obtener su dirección IP porque no me está dejando poner su URL (aunque hay vídeos donde sí se ve que se puede hacer).

/system ntp client set enabled=yes primary-ntp=193.145.15.15 server-dns-names=listaDNSs

Y ya tendríamos el equipo puesto en hora (casi) siempre en punto.

Es posible que toque hacer algún cambio más ya que la señal que me aparece en uno de los móviles para la tarjeta mini-PCI es mínima. De todas formas, para la integrada no va nada mal.

A medida que vaya solucionando estos problemas lo iré avisando. Aunque para ello tenga que mirarlo en la interfaz web o la herramienta WinBox que según entiendo al fin y al cabo parsea la interfaz web en una GUI para Windows. 

domingo, 1 de enero de 2017

Mikrotik routerboard 411UAHR II: Configuracion puerto serie

Una vez el dispositivo de Mikrotik está montado y ya tengo el cable nullmodem para conectarme (actualicé el artículo añadiendo en la lista este último), es hora de arrancar el aparatejo.

Probaré a usar como emulador de consola el putty. Y los parámetros que he indicado son:

  • Velocidad: 115200 bps
  • Data bits: 8
  • Bit de parada: 1
  • Paridad: No
  • Control de flujo: según las instrucciones, no funciona del todo bien el control de flujo. Primero probaré a no ponerlo y después veré si tira poniéndolo y después, si acaso, pongo el que nombran: RTS/CTS.
Por lo que quedaría así:

Configuración de putty para acceder al Mikrotik RB411UAHR por nullmodem/puerto serie
Configuración de putty para acceder al Mikrotik RB411UAHR por nullmodem
También es importante ir a la consola de administración de dispositivos, y mirar en la sección de Puertos (COM y LPT) para saber cómo se llama el puerto con el que vais a trabajar (yo lo tengo que cambiar).

Después vamos al árbol de Session y seleccionamos Serial:

Putty para iniciar serial en RB411UAHR
Putty para iniciar serial en RB411UAHR
Al iniciar la sesión no aparecerá nada hasta que no encendamos el cacharro. En mi caso es la primera vez que lo inicio. Y esto es lo que me ha aparecido:

Mirkrotik arrancado en puerto serie
Mirkrotik arrancado en puerto serie
Varias cosas que debería de hacer:
  • Actualizar: me sonaba haber visto que la última versión andaba por la 6 y pico. Como aparece la 5.25, toca actualizar. 
  • Presionar una tecla para acceder al setup. Además, el kernel no lo ha cargado correctamente. 
  • Mirar el usuario y contraseña por defecto. 
Por lo tanto, miraré si puedo configurarlo para que lo conecte a la red cableada y se baje automáticamente la actualización.

Para el primer acceso, usuario por defecto es admin y su contraseña vacía. En la página oficial de Mikrotik ofrecen distintas formas para acceder (entre otras las que he usado yo).

Al introducir las credenciales obtenemos:

Primer inicio de sesión en dispositivo Mikrotik
Primer inicio de sesión en dispositivo Mikrotik
Ahora hay que cambiar la dirección IP por defecto: 192.168.88.1.

Para la consola me ha costado poder acceder a la shell. Me estaba ofreciendo información pero no sabía si era para poder interactuar. Hasta que en momento determinado, la he visto. Ahora, ¿Cómo le indico qué quiero hacer? Los comandos cls, clear, help... No ayudan. Pero en el mismo instante en el que le mandamos el caracter "?" (sin comillas) nos muestra un menú. Si seleccionamos uno de los contenidos de se menú nos lleva a esa "carpeta" (actúa como tal). Y así sucesivamente:

Menú de Mikrotik
Menú de Mikrotik
Lo que no sé es qué diferencia hay entre cada uno de los colores de los elementos mostrados. Si hago un print obtengo la tabla de las direcciones IP:

Mikrotik: ip address print
Mikrotik: ip address print
Y así puedo cambiar la dirección IP:

set 0 comment "comentario" address direcionIP netmask mascaraRed interface ether1

Cambiar IP por defecto a Mikrotik
Cambiar IP por defecto a Mikrotik
Y hay que poner el gateway. Tengo mis dudas de que sea esta la opción, pero según el manual, para el entorno gráfico hay que usar éste, por lo tanto, lo daré por hecho y a ver qué pasa:

add gateway IP_GATEWAY

Configurar gateway en Mikrotik
Configurar gateway en Mikrotik
Y los DNSs, eliminando el que viene por defecto (la direccion IP que venía por defecto):

remove 0
add address IP_DNS1
add address IP_DNS2

Configurar DNSs en Mikrotik
Configurar DNSs en Mikrotik
[Inciso]
Este artículo ya lo tenía escrito, pero no publicado: esta sección realmente añade servidores DNS, sino entradas estáticas (por eso estamos en "static") al más estilo hosts. Aunque lo explicaré en el próximo artículo (esto es un auto-spoiler), la resolución de nombres se puede añadir en /ip dns set servers listaServidores
[/Inciso]

Ahora tengo que buscar dónde está el ping y una vez encontrado, conectar el cable de red.

Al ir a lo que equivaldría a /tools/ping IP_DNS_EXTERNO no obtengo resultados, por lo que el gateway no está del todo bien configurado. Resulta que haciendo más pruebas es extraño: los DNSs que siempre uso sí que me devuelven datos desde otros equipos, desde el RB no, pero sí que hay resultados con los de Google (8.8.8.8, 8.8.4.4). 

Quiero revisar los temas de las licencias, porque me da que si no lo gestiono bien, me puedo llevar la desagradable sorpresa de que se resetee él solo a las 24 horas de haberlo encendido. Pero buscando bastante me he encontrado con que con la wiki oficial dice que "los dispositivos RouterBOARD vienen con una licencia preinstalada, si has comprado un dispositivo RouterBOARD, no hay que hacer nada relacionado con las licencias". Por lo tanto, con respecto a este tema ya puedo estar tranquilo. 

Fin día 1

Día 2:

Mientras, más cosas a tener en cuenta: el reloj. Mientras estaba entrando de nuevo al sistema, me he acordado del reloj, que está desactualizado (ahora estamos en 1970). Buscando en el manual, indican que a partir de la versión 6.27 se puede hacer automáticamente (autodetect). Una vez más, la actualización ayudará mucho. Y aun así, también está el cliente ntp. 

Antes de nada: actualización (y veamos si puede descargarse las cosas teniendo en cuenta que sólo consigue hacer ping a algunas redes)

De acuerdo a lo que me indican, una actualización de todo el sistema no la puedo hacer con la consola. Por lo tanto, tiraré vía web. 

En la página oficial de descargas buscamos el modelo de nuestro dispositivo en la lista, tal y como he marcado de ejemplo en la imagen:

Paquetes de descarga de actualizaciones de Mikrotik
Paquetes de descarga de actualizaciones de Mikrotik

Después, desde la interfaz web, vamos al menú File, y seleccionamos el fichero *.npk. En mi caso, también he seleccionado el fichero .zip. Puede que hubiera sido mejor haberlo hecho en dos pasos. Nada más reiniciar se procede a la instalación:

Actualización del Mikrotik 01
Actualización del Mikrotik 01
Y el proceso:

Actualización del Mikrotik 02
Actualización del Mikrotik 02
Para que al reiniciar:

Mikrotik actualizado
Mikrotik actualizado

/system routerboard upgrade

Y al reiniciar ya lo tenemos. 

Los siguientes pasos los haré en el próximo post para evitar alargar este mucho más. Entre otros terminaré de hacer alguno de los pasos que ya he comentado y que se han quedado en el tintero.

¡¡¡Por cierto!!! ¡¡Feliz año nuevo!!

domingo, 25 de diciembre de 2016

Mikrotik Routerboard 411UAHR I: Montaje

Llevaba mucho tiempo queriendo hacer un cacharro de estos. Y haciendo una búsqueda me encontré con este tipo de tarjetas. Son de la marca Mikrotik, cuyo hardware lo venden como Routerboard (en ocasiones se encuentra como las siglas RB). Pues bien, Papá Noel, durante todo un mes me ha estado trayendo los distintos componentes para montarme el cacharro.

Para montarme el dispositivo estuve buscando las distintas tarjetas que podía adquirir. Una de las cosas que quería era que tuviese puerto serie (el DB9 de toda la vida). La razón: ¿frikismo? ¿poder configurar el aparato desde el puerto sin depender de direcciones IP? No sé. Pero después de MUCHO (meses) tiempo mirando, comparando, volviendo a mirar... Terminé decidiéndome por uno en concreto: RB411AH. Sin embargo, cuando me llegó, resulta que era otra ligeramente superior: RB411UAHR. Y lo bueno es que todos los componentes que ya había pedido eran perfectamente válidos. Así, para montar el aparato necesitaríamos:

  1. Tarjeta: RB411UAHR
  2. Caja: CA411-711 *1
  3. Fuente de alimentación: 18POW
  4. Antenas. En mi caso adquirí unas TP-Link. TL-ANT2405CL.
  5. Pigtails: MMCX/RP SMA Jack bulkhead. Debería de ser esta. *2
  6. Cable USB-Serie: Goobay 68875 [update] y nullmodem Nimo Electronic[/update]
  7. Tarjeta Mini-PCI: R52nM
Creo que primero contaré el primer problema que tuve. La caja que veréis en la foto no se va a corresponder exactamente con lo que se muestra en las imágenes oficiales. La parte trasera no tiene los mismos agujeros (tiene 4 en vez de los 3 que podréis ver en las que nos muestran). Y el otro problema es que encontré (y lo he perdido) un sitio con la foto de una caja igual a la que me llegó en la que indicaban que no serviría para conectores MMCX. Además de haber comparado las medidas encontradas (4x12x18) no coincidían en altura  Total, que la devolví (a parte de otros problemillas varios) y cuando pedí otra a otro proveedor me llegó la misma. Total, que decidí probar y como veréis en las fotos, por lo pelos SÍ encaja. 

Este es el material que he necesitado:

Mikrotik RouterBoard 411UAHR: Material
Mikrotik RouterBoard 411UAHR: Material
Como se puede observar, la caja incluye más cosas (importante): los distintos frontales, las tapas para las antenas, tornillos (tanto internos como externos) y una palometa que va a un tornillo de marcado con el símbolo de toma de tierra.

Con este este material vamos ensamblando las piezas como si de un Mecano se tratase. 

La primera operación fue instalar la tarjeta mini-pci en la placa:

Mikrotik 411UAHR + Mini-PCI R52nM
Mikrotik 411UAHR + Mini-PCI R52nM
Ahora toca instalar este bloque en la carcasa. Como he comentado, y ante el temor de no poder terminar de cerrar la caja, lo hice por pasos. Primero puse dos tornillos de los cuatro que tenía y miré si se podía cerrar:

Mikrotik RB411UAHR + R52nM + Carcasa CA411-711
Mikrotik RB411UAHR + R52nM + Carcasa CA411-711
Como se puede apreciar, hay espacio "suficiente" para que se termine de cerrar. Por lo que tocaba hacer la siguiente prueba con los pigtails. Me he encontrado con que la foto con la prueba de estos la hice más adelante: 

Mikrotik 411UAHR + Pigtails
Mikrotik 411UAHR + Pigtails
Además, sólo tenía dos pigtails. Los compré pensando en una tarjeta no tuviera integrada Wifi. Por lo que uno de los que ya disponía tenía que ir a esta integrada. Además, la pegatina en el RJ45 lo decía: es obligatorio ponerle antena a la integrada. 

Con respecto a estos pigtails hay otro problema. Como se puede ver (más adelante es posible que sea mejor) la caja se podrá cerrar. Pero resulta que sobresalen bastante; es decir: son más pequeños que los agujeros que tiene la caja (según he leído a posteriori, son de tipo N-Female) por lo que van a quedar medio colgando y por lo tanto, las antenas quedarán a la virulé

Mikrotik RB411UAHR, CA411-711, R52nM
Mikrotik 411UAHR casi montado
Buscando una solución, me encontré con un foro del propio Mikrotik que decían que también se podía agujerear con un taladro, algo que estoy dispuesto a hacer, o poner unas cabezas enormes u otros pigtails, que ya veré si lo hago o busco una solución a lo McGiver (mi primera opción). 

Una vez cerrada la caja, puse el frontal, quedando así:

Frontal CA411-711
Frontal CA411-711
Y ya está. A parte del problema con las antenas, ya lo tendría para iniciarlo (que aún no lo he hecho). 

Mikrotik RB411UAHR en CA411-711 cerrada
Mikrotik RB411UAHR en CA411-711 cerrada
Y en principio esto es todo. Seguro que me dejo algún detalle, pero para ver cómo queda un sistema de estos comprado por piezas seguro que es suficiente (y más de uno le puede ayudar a saber qué puede comprar y qué le puede salir rana).

Ya, para otra ocasión, espero poder contar algo más de estos cacharros. Pero mientras que no me pegue... Y si consigo hacer algún apaño para las antenas, también lo diré por aquí.