Tu propio Network-Music-Player o como reciclar una PC obsoleta

Dr. Zoidberg

Well-known-Papá Pitufo
Voy a ver si ahora aparece el mupeace en la play.
No está... :unsure::unsure::unsure::unsure:
Lo tengo instalado en un celu viejo, pero no tengo la apk. Voy a ver si la rastreo.
Psss...ya la encontré. Acá la subo.
 

Adjuntos

  • org.musicpd.android_2014-09-19.apk.zip
    1.1 MB · Visitas: 25
Muchachos, encontré un cliente MPD para Windows que destroza incluso al GMPC (que debería ser el mejor, pero no).

Se llama "Cantata". La primera impresión es que es un soft diseñado para Windows 3.11... Pero a los 10 minutos de uso se van a dar cuenta que es el mejor, por lejos.

Incluso carga archivos cue que NINGUN otro cliente puede cargar. Tengo varios cue que con todos los demás clientes dan error, pero Cantanta los carga perfectamente.


También funciona en GNU/Linux...


Bueno, era eso nomás.
 

Dr. Zoidberg

Well-known-Papá Pitufo
Yo intente evaluar el "Cantata" hace un par de años, pero no logre instalarlo. Tal vez estsba muy crudo aún...
De todas formas solo lo iba a usar para hacer pruebas desde la PC por que controlo todo desde el celu.
 

Dr. Zoidberg

Well-known-Papá Pitufo
Ya estaba podrido de tener que subir la escalera a encender la PC donde está la música para luego bajar a encender el NMP, que ya sabemos que no soporta Wake-On-Lan (WOL) por que es muy viejo, así que se me ocurrió la idea modificar la página web de control remoto del NMP para desde ahí encender la PC que guarda la música que SI soporta WOL. Puede que no sea lo mejor, pero al menos me evito una subida de escaleras con la rodilla operada.

Así quedó la nueva página web del NMP:

76-control-remoto-web.png

Lo que está recuadrado en rojo es el nuevo botón que le agregué, y tiene por trabajo enviar un magic-packet WOL para despertar a la PC que guarda la música, que ahora vive hibernando en lugar de apagarse por completo.
De esta forma, solo enciendo el NMP y luego, con pulsar el botón "Wakeup music storage server" enciendo la otra PC sin moverme del lugar.
Para que esto funcione hay que instalar el programa etherwake (tan dificil como sudo apt-get install etherwake) e invocarlo con la dirección de capa MAC de la placa de red de la PC remota que quieren encender con WOL.

Lean este post anterior para ver que es lo mínimo necesario para que funcione el acceso vía página web.

Les dejo adjunto el archivo index.cgi (en formato zip) que se encarga de mostrar esa pantalla y ejecutar los comandos de cada botón. Si a alguien le sirve, me sentiré contento.
 

Adjuntos

  • index.zip
    985 bytes · Visitas: 6
Así quedó la nueva página web del NMP:

Ver el archivo adjunto 170395
Les dejo adjunto el archivo index.cgi (en formato zip) que se encarga de mostrar esa pantalla y ejecutar los comandos de cada botón. Si a alguien le sirve, me sentiré contento.

Hola Doc, por supuesto que sirve :cool:, en mi red tengo una página con los accesos a cada servicio que uso (el acceso web a mopidy, torrent y alguna pavada mas), me gustaría agregarle un botón para refrescar la base de datos pero no lo pude hacer, sería ejecutar el comando "mopidy local scan" o "mopidyctl local scan", no sé nada de programación así que mas que copiar una plantilla y cambiarle los links no pude hacer, ¿sería posible ejecutar el comando desde un botón en una página local?.

gracias y un saludo!
 

Dr. Zoidberg

Well-known-Papá Pitufo
sería ejecutar el comando "mopidy local scan" o "mopidyctl local scan", no sé nada de programación así que mas que copiar una plantilla y cambiarle los links no pude hacer, ¿sería posible ejecutar el comando desde un botón en una página local?
Claro que se puede, pero primero verificá el funcionamiento del comando ejecutándolo manualmente.
Si funciona OK, el cambio es simple:
Bash:
#!/bin/sh

# Perform shell variable expansion for any form data
eval "`/usr/bin/proccgi $*`"

echo -n "Content-type: text/html
Pragma: nocache
cache-control: no-cache, must-revalidate, no-store

<!DOCTYPE html>
<html><head>
<style>
table, th, td {
    border: 1px solid black;
    border-collapse: collapse;
}
th, td {
    padding: 12px;
}
</style>
<title>PolloX - NMP</title></head><body>"
case "$FORM_OKBTN" in
    "System")
        echo "<center><b>System information</b><br><br>"
        echo "<table><tr><td nowrap><pre>"
        /usr/bin/uptime
        echo "</pre></td></tr><tr><td nowrap><pre>"
        /sbin/ifconfig eth0
        echo "</pre></td></tr><tr><td nowrap><pre>"
        /usr/bin/free -m
        echo "</pre></td></tr><tr><td nowrap><pre>"
        cat /proc/asound/card*/pcm*p/sub*/hw_params
        echo "</pre></td></tr><tr><td nowrap><pre>"
        sensors
        echo "</pre></td></tr></table></center>"
        echo "<br></body></html>"
        exit 0
        ;;
    "Mount points")
        echo "<center>Status of mount points<br><br>"
        echo "<table><tr><td nowrap><pre>"
        /bin/df -h
        echo "</pre></td></tr></table></center>"
        echo "<br></body></html>"
        exit 0
        ;;
    "Wakeup music storage server")
        echo "<center>Waking up music storage</center>"
        /usr/sbin/etherwake poner:aca:la:mac:de:la:placa:de:red:donde:esta:la:musica
        echo "<br></body></html>"
        exit 0
        ;;
    "Reset")
        echo "<center>Restarting Player...</center>"
        /sbin/reboot
        echo "<br></body></html>"
        exit 0
        ;;
    "Shutdown")
        echo "<center>Shutting down Player...</center>"
        /sbin/poweroff
        echo "<br></body></html>"
        exit 0
        ;;
    "Suspend")
        echo "<center>Suspending Player...</center>"
        /usr/sbin/pm-suspend&
        echo "<br></body></html>"
        exit 0
        ;;
    "Hibernate")
        echo "<center>Hibernating Player...</center>"
        /usr/sbin/pm-hibernate&
        echo "<br></body></html>"
        exit 0
        ;;
    *)
cat << CLEOF
<center><form method="POST" action="/cgi-bin/index.cgi"><br>
<center><h2>PolloX - NMP</h2></center>
<table>
<tr><td align="center"><h2><b>System commands</b></h2></td></tr>
<tr><td align="center"><input type=submit value="System" name=OKBTN></td></tr>
<tr><td align="center"><input type=submit value="Mount points" name=OKBTN></td></tr>
<tr><td align="center"><input type=submit value="Wakeup music storage server" name=OKBTN></td></tr>
<!-- <tr><td align="center"><input type=submit value="Mount music" name=OKBTN></td></tr> -->
<tr><td align="center"><input type=submit value="Shutdown" name=OKBTN></td></tr>
<tr><td align="center"><input type=submit value="Suspend" name=OKBTN></td></tr>
<tr><td align="center"><input type=submit value="Hibernate" name=OKBTN></td></tr>
<tr><td align="center"><input type=submit value="Reset" name=OKBTN></td></tr>
</table></form></center>
CLEOF
    ;;
esac

echo "<br></body></html>"
El código de arriba es un shell-script y tiene la operación repartida en dos partes:
La primera es la que se encarga de ejecutar cada comando usando el nombre de cada botón como elemento de selección
Bash:
case "$FORM_OKBTN" in
    "System")
        echo "<center><b>System information</b><br><br>"
        echo "<table><tr><td nowrap><pre>"
        /usr/bin/uptime
        echo "</pre></td></tr><tr><td nowrap><pre>"
        /sbin/ifconfig eth0
        echo "</pre></td></tr><tr><td nowrap><pre>"
        /usr/bin/free -m
        echo "</pre></td></tr><tr><td nowrap><pre>"
        cat /proc/asound/card*/pcm*p/sub*/hw_params
        echo "</pre></td></tr><tr><td nowrap><pre>"
        sensors
        echo "</pre></td></tr></table></center>"
        echo "<br></body></html>"
        exit 0
        ;;
    "Mount points")
        echo "<center>Status of mount points<br><br>"
        echo "<table><tr><td nowrap><pre>"
        /bin/df -h
        echo "</pre></td></tr></table></center>"
        echo "<br></body></html>"
        exit 0
        ;;
    "Wakeup music storage server")
        echo "<center>Waking up music storage</center>"
        /usr/sbin/etherwake poner:aca:la:mac:de:la:placa:de:red:donde:esta:la:musica
        echo "<br></body></html>"
        exit 0
        ;;
    "Reset")
        echo "<center>Restarting Player...</center>"
        /sbin/reboot
        echo "<br></body></html>"
        exit 0
        ;;
    "Shutdown")
        echo "<center>Shutting down Player...</center>"
        /sbin/poweroff
        echo "<br></body></html>"
        exit 0
        ;;
    "Suspend")
        echo "<center>Suspending Player...</center>"
        /usr/sbin/pm-suspend&
        echo "<br></body></html>"
        exit 0
        ;;
    "Hibernate")
        echo "<center>Hibernating Player...</center>"
        /usr/sbin/pm-hibernate&
        echo "<br></body></html>"
        exit 0
        ;;
    *)
y la segunda es la que se encarga de dibujar los botones y enviar el comando al servidor para que este lo ejecute:
Bash:
<center><form method="POST" action="/cgi-bin/index.cgi"><br>
<center><h2>PolloX - NMP</h2></center>
<table>
<tr><td align="center"><h2><b>System commands</b></h2></td></tr>
<tr><td align="center"><input type=submit value="System" name=OKBTN></td></tr>
<tr><td align="center"><input type=submit value="Mount points" name=OKBTN></td></tr>
<tr><td align="center"><input type=submit value="Wakeup music storage server" name=OKBTN></td></tr>
<!-- <tr><td align="center"><input type=submit value="Mount music" name=OKBTN></td></tr> -->
<tr><td align="center"><input type=submit value="Shutdown" name=OKBTN></td></tr>
<tr><td align="center"><input type=submit value="Suspend" name=OKBTN></td></tr>
<tr><td align="center"><input type=submit value="Hibernate" name=OKBTN></td></tr>
<tr><td align="center"><input type=submit value="Reset" name=OKBTN></td></tr>
</table></form></center>

Entonces lo que hay que hacer es cambiar el nombre a uno de los botones (o agregar un boton nuevo, pero lo otro es más fácil), por ejemplo el de Reset, que quedaría:
Bash:
<tr><td align="center"><input type=submit value="Refrescar Base de Datos" name=OKBTN></td></tr>
Con eso, aparece un botón que dice "Refrescar Base de Datos"
Ahora tenemos que agregar la ejecución del comando que vos necesitás y para eso hay que modificar, en la primera parte, el bloque que correspondía al Reset, cambiándole el string de selección, el comando a ejecutar y el cartelito que escribe mientras trabaja. Antes era así:
Bash:
 "Reset")
        echo "<center>Restarting Player...</center>"
        /sbin/reboot
        echo "<br></body></html>"
        exit 0
        ;;
y ahora quedaría:
Bash:
 "Refrescar Base de Datos")
        echo "<center>Releyendo musica...</center>"
        /ruta/al/mopidy local scan 
        echo "<br></body></html>"
        exit 0
        ;;
Y con eso debería ser suficiente.
 
Gracias Doc, el comando en forma manual funciona correctamente, lo vengo usando así desde que armé la primera versión (ya dos años??), voy a implementarlo en estos dias y les cuento como me fué.

Muchas gracias y un abrazo!
 

Dr. Zoidberg

Well-known-Papá Pitufo
Aprovechando un poco las vacaciones y la parva de cosas que tengo colgadas por hacer, decidí modificar un poco el control del NMP. Como ya comenté antes, el NMP está en el living de mi casa y la PC donde está la musica está en mi escritorio del primer piso, lo que me obliga a subir a escalera para encenderla antes de escuchar música y luego subir nuevamente para apagarla luego de la "sesión" de escucha. Como me operaron de una rodilla que quedó muy bien pero también me tengo que operar la otra, no me hace mucha gracia estar subiendo y bajando la escalera para estas cosas menores. Acá les paso un equema de como está la cosa:

77-esquema-conexiones-wifi.jpg

Por otra parte el NMP no admite WOL (Wake-On-Lan) por que es muuuy viejo así que no hay otra que encenderlo manualmente, pero como tiene un ACPI que anda "bien", al menos permite manejar la energía de forma remota y apagarlo, tal como mostré hace ya un tiempo.

Gestión de la PC con música
La solución al problema de la escalera es controlar por red el encendido y el apagado de la "PC con música". Encenderla es simple por que esta PC si que admite WOL (le tuve que flashear el último BIOS por que el viejo tenía pinchado el WOL y la gestión de la memoria), pero apagarla no es tan simple por que es una PC con Windows 7 y yo la voy a gestionar desde un celular con Android, el cual no quiero cargar con aplicaciones raras por que usa un Android Lineage muy liviano y con el que vuelaaaa!!!
Por suerte, Windows tiene un comando que permite gestionar el apagado del equipo y se llama shutdown (como era de esperarse ;)), pero hay que buscar alguna forma de dispararlo en forma remota sin tener que loguearse en Windows ni usar cosas raras. La solución llegó de la mano de un muy pequeño y liviano servidor web gratuito llamado tinyweb de la empresa Ritlabs. Este servidor ni siquiera se instala (pesa solo 77 Kb), tiene una estructura de directorios muy simple desde el cual puede servir las páginas web y tiene capacidad de ejecutar CGI. Vean la imagen para que no se hagan lío por que en la web mandan cualquier fruta:

78-directorios-tinyweb.jpg

El directorio www lo pueden colgar de donde quieran (yo tengo un disco aparte del que usa el Sistema Operativo y ahí lo puse) lo que sí es importante que respeten esa estructura (en bin está el ejecutable, en log...los logs y las páginas las sirve a partir de root). Una característica de este servidor web es que si no encuentra una página web llamada index.htm o index.html en la carpeta root, entonces busca y ejecuta alguna página web llamada index y de cualquier extensión ejecutble (bueee..no cualquiera pero lean el faq de Ritlabs) en el directorio cgi-bin. Entonces ahí creé una página que se llama index.cmd con el siguiente contenido:
Código:
@echo off
@shutdown /h /f
Que básicamente suprime cualquier salida por pantalla e invoca al comando shutdown para que pase la PC a hibernación sin preguntarle a nadie y con eso logramos que la PC se vaya a dormir hasta que la despertemos con un magic-packet WOL. Poner la PC con música en hibernación es muy simple y solo requiere una petición http a su dirección IP (algo del tipo http://192.168.xxx.yyy con lo que el servidor ejecutará index.cmd)

Hay que mencionar algo importante, y es que este servidor web NO ES UN SERVICIO de Windows, por lo tanto requiere iniciar sesión para arrancarlo manualmente o por el grupo Inicio, lo cual resulta bastante incómodo. Como soy un maestro para estas cosas, bajé el Windows Resource Kit que contiene una herramienta llamada srvany.exe que permite autoinstalarse como servicio y luego arrancar - también como servicio - cualquier programa que se me ocurra. Pues bueno, usé ese programa para ejecutar tinyweb como servicio y así no tener que iniciar sesión. Les copio una imagen de las claves del registro que hay que tocar para que funcione todo OK, y también LEAN lean la documentación del srvany.

79-claves-registro.jpg

Lo que está tachado corresponde a la estructura de directorios que ustedes elijan, usen la mía como referencia y modifiquen asu antojo sin hacer lío. Acá tienen como se usa la aplicacion srvany del WRK.

Gestion desde el NMP
Ahora hay que retocar un poco la gestión web remota del NMP para incorporar el encendido y apagado remoto de la PC con música desde un único punto y con la m;inima cantidad de recursos. Para eso, modifiqué el archivo index.cgi que había subido antes y que reside en el servidor web del NMP, y quedó de esta forma:
Bash:
#!/bin/sh

# Perform shell variable expansion for any form data
eval "`/usr/bin/proccgi $*`"

echo -n "Content-type: text/html
Pragma: nocache
cache-control: no-cache, must-revalidate, no-store

<!DOCTYPE html>
<html><head>
<style>
table, th, td {
    border: 1px solid black;
    border-collapse: collapse;
}
th, td {
    padding: 12px;
}
</style>
<title>PolloX - NMP</title></head><body><h2>"
case "$FORM_OKBTN" in
    "System")
        echo "<center><b>System information</b><br><br>"
        echo "<table><tr><td nowrap><pre>"
        /usr/bin/uptime
        echo "</pre></td></tr><tr><td nowrap><pre>"
        /sbin/ifconfig eth0
        echo "</pre></td></tr><tr><td nowrap><pre>"
        /usr/bin/free -m
        echo "</pre></td></tr><tr><td nowrap><pre>"
        cat /proc/asound/card*/pcm*p/sub*/hw_params
        echo "</pre></td></tr><tr><td nowrap><pre>"
        sensors
        echo "</pre></td></tr></table></center>"
        echo "<br></h2></body></html>"
        exit 0
        ;;
    "Mount points")
        echo "<center>Status of mount points<br><br>"
        echo "<table><tr><td nowrap><pre>"
        /bin/df -h
        echo "</pre></td></tr></table></center>"
        echo "<br></h2></body></html>"
        exit 0
        ;;
    "Wakeup music storage server")
        echo "<center>Waking up music storage</center>"
        /usr/sbin/etherwake Aca:va:la:mac:de:la:placa:de_red
        echo "<br></h2></body></html>"
        exit 0
        ;;
    "Hibernate music storage server")
        echo "<center>Hibernating music storage</center>"
        /usr/bin/wget -q -t 1 -T 3 http://aca.va.la_ip.de_la_pc
        echo "<br></h2></body></html>"
        exit 0
        ;;
    "Reset")
        echo "<center>Restarting Player...</center>"
        /sbin/reboot
        echo "<br></h2></body></html>"
        exit 0
        ;;
    "Shutdown")
        echo "<center>Shutting down Player...</center>"
        /sbin/poweroff
        echo "<br></h2></body></html>"
        exit 0
        ;;
    *)
cat << CLEOF
<center><form method="POST" action="/cgi-bin/index.cgi"><br>
<center><h1>PolloX - NMP</h1></center>
<table>
<tr><td align="center"><h2><b>System commands</b></h2></td></tr>
<tr><td align="center"><input type=submit value="System" name=OKBTN></td></tr>
<tr><td align="center"><input type=submit value="Mount points" name=OKBTN></td></tr>
<tr><td align="center"><input type=submit value="Wakeup music storage server" name=OKBTN></td></tr>
<tr><td align="center"><input type=submit value="Hibernate music storage server" name=OKBTN></td></tr>
<tr><td align="center"><input type=submit value="Shutdown" name=OKBTN></td></tr>
<tr><td align="center"><input type=submit value="Reset" name=OKBTN></td></tr>
</table></form></center>
CLEOF
    ;;
esac

echo "<br></body></html>"
Ustedes deben modificar las direcciones MAC de "Wakeup music storage server" y la IP de "Hibernate music storage server" de acuerdo a su configuración de red, pero NO CAMBIEN los parámetros de operación del wget por que pueden tener problemas al encender la PC si recién la apagaron y también para recuperar el control de pagina web del celular.

También es seguro que deban instalar etherwake y wget si es que no vienen incluidos en su instalación. Tendrán que fijarse, pero es muy simple:
Código:
sudo apt-get update
sudo apt-get upgrade

sudo apt-get install etherwake
sudo apt-get install wget
En el celular se verá algo como esto (usando el navegador Via):

76-control-remoto-web.jpg

Y eso es todo.
 
Última edición:
Interesante propuesta, gracias por compartirla (en mi caso no va a ser necesaria esta implementación, pero es interesante saber que se puede hacer eso).
PD: todavía no me puse con el tema del refresco de la base de datos :sleep::sleep:(n)
 
Buenas gente, despues de varios milenios vuelvo por estos lares. Hace unos días decidí hacer limpieza en mi NMP que originalmente estaba corriendo en Debian 9, además de funcionar también como seedbox y NAS. El sistema está configurado con 1 disco IDE de 80GB para la partición swap y la partición root, y todo lo que sea datos de usuario, es decir /home, está repartido en un LVM formado por 3 discos SATA de 1TB, logrando un volumen de 2,6TB. El sistema sufrió varios "power failure" y LVM es muy malo para manejar fallas de energía, aún así con fsck logré reparar los desastres, pero si bien la integridad de los archivos estaba intacta, tenía cortes en la reproducción con mpd, como si faltaran partes de los archivos de audio. Decidí actualizar a Debian 10 y al final de la instalación me preguntó algo que nunca antes me había preguntado (o yo no recuerdo), y era si quería arrancar con un conjunto de drivers acotado a mi sistema o uno mas amplio... Indiqué que use sólo lo necesario para mi sistema, y una vez que terminé de configurar todo post instalación, descubrí que no sólo el tiempo de inicio es menor, sino que las interrupciones del mpd -que yo creía era por archivos corruptos en el LVM, no volvieron a ocurrir.
Les dejo el dato por si se topan con algo similar...
Dr. Zoidberg, si leés esto y aún no pudiste hacer andar el sistema con la memoria SD, ¿probaste con Balena Etcher? Está diseñado para memorias SD.
 

Dr. Zoidberg

Well-known-Papá Pitufo
Vuelvo para comentar que estaba teniendo problemas con la conexión WiFi entre el NMP y la PC que tiene la música (la mitad de la conexión es WiFi y la otra mitad cableada). Al mismo tiempo habían problemas con los celulares de los chicos, que se conectaban y desconectaban de la red en forma permanente, y con mi celular que de repente informaba que no había internet en la red WiFi y se quedaba tildado ahí hasta que lo reiniciaba.
Leyendo y leyendo la web recordé que una vez había encontrado un artículo que decía que los TP-Link cortaban las conexiones cuando estas excedían "algún número", y empecé a sospechar de eso por que en casa somos cuatro, así que hay cuatro celus, tres Chromecast y la notebook de mi hija conectados en forma casi permanente, y a eso se le suma el NMP y una RPi + un D1-mini que usa mi hijo para hacer experimentos.

También los Chromecast demoraban una eternidad en conectarse a la red y otra eternidad en aparecer listos para ser seleccionados para el streaming. Es más, había que cerrar Netflix o YouTube y esperar algunos muchos minutos...o había que reiniciar el celu.

El problema ya se puso excesivo, por que los cortes y pinchazos aparecían a cualquier hora y en cualquier condición de carga de la red, así que me mandé de nuevo a flashear un firmware open-source al router TP-Link 941 que tengo. Luego del clavo anterior que sufrí con el DD-WRT que tuve que "desbrickear" el router vía puerta serie :mad: esta vez elegí al Open-WRT versión 18 que era la mas actualizada y última para este aparatejo.

El flasheo fué muy directo desde el propio módulo actualizador de firmware del TP-Link y luego de reiniciar, hubo que configurar algunas cosas para que opere como access-point y no como router.

Resultado:
Hace una semana que estoy usando el mismo hardware con el nuevo software. La red VUELA 🛫!!!! Las conexiones se mantienen 100% estables todo el tiempo sin importar la cantidad de dispositivos enlazados. Mi teléfono nunca mas se tildó (era una o dos veces por día), los celus de los chicos nunca mas se desconectaron y los Chromecast aparecen disponibles al toque luego de encenderlos.
Ahora podemos hacer streaming a todos los televisores, navegar en el celu, ver las teteras de ForosDeElectrónica.com y escuchar música en el NMP, todo en forma simultánea, a cualquier hora del día y todos los dispositivos operan a la perfección.

Moraleja:
TP-Link andate a la RPMQTRMP !!!!! :mad::mad::mad::mad::mad::mad::mad::mad::mad::mad::mad::mad:
 
Yo hace unos meses tenía problemas de velocidad por cable, accediendo a mi NAS desde la TV para ver documentales sobre electrónica (XXX) y decidí cambiar los 3 routers TP-LINK 740 y el Cisco 180w que tenía por un TP-LINK AC 1750 (aka Archer C7). Los puertos gigabit del Cisco eran una gran mentira, ahora no tengo más problemas de velocidad. Es una inversión que me alegro de haber hecho, logro entre 50 y 75 Mbytes/s de PC a PC según el archivo. Lo recomiendan en dd-wrt como el mejor "accesible" (aproximadamente 60 U$S) y el firmware stock tiene un serio defecto de seguridad (tiene dos redes ocultas ABIERTAS para la función MESH) así que le puse dd-wrt además para usar el cliente OpenVPN. Realmente muy conforme.
 
En lo personal y en lo profesional armando redes no uso TP-Link por esos y otros problemas.

Algo que anda bien, son estable, un poco mas caros que el TP-Link y continuamente en evolución a nivel de software(FW) son los Router Board Mikrotik.

Hay para todo los bolsillos usos y gustos y desde el primero al ultimo se accede de la misma forma y con la mismas herramientas gratuitas corriendo el sistema operativo RouterOS .

El mas pequeñito ronda en fabrica los 19.95U$A y por cerca de 22U$A tenes un modelo un poco mas grande que es el que estoy usando en casa desde hace un tiempo y se terminaron los problemas de cortes, desconexiones, etc.

El único inconveniente que yo le veo es que al tener tantas alternativas de configuraciones, hay que saber un poco de redes para optimizarlo al 100%(nada que no se pueda aprender si ya no se sabe).

La ventaja es que los FW se van actualizando permanentemente y solucionando los distintos problemas y/o vulnerabilidades que puedan aparecer.

Podes hacer hasta graficas del consumo de datos de las interfases y una infinidad de cosas mas como administrar mas de una conexión a Internet, hacer balanceo de carga(conexiones), hacer AP virtuales esclavas de la principal con administración especifica de trafico y una larga lista de etc.

grafi.JPG
Esta es de una interfaz en una RB mas grande que controla el trafico(rutea) muchos dispositivos pero los mismo gráficos los puedes hacer en los mas pequeños.

Esa RB del grafico salió con un FW 3.0 y en este momento esta corriendo un 6.47.7 que es el ultimo estable que salió la semana pasada.

Lo mas importante es que la oferta de esta marca de productos, abunda hoy en día en ML.
 
Última edición:

Dr. Zoidberg

Well-known-Papá Pitufo
Hace un tiempo estuve asesorando un organismo público y entrenando gente, y ahí me tocó participar en la configuración de un mikrotik que tenían guardado (que creo que era este), pero por suerte habíamos mandado a dos flacos a capacitarse en la CABA y lo manejaban bien....aunque no tenían mucha idea de que tenían que hacer...pero eso se los dije yo.
Este bicho no corría firewall por que era un router interno que conectaba varias delegaciones y subredes propias en una red cerrada y el acceso hacia "afuera" iba a través de un firewall corriendo PfSense y conectado a una pata de este router.
El problema que le encuentro, y que odio, es la interfaz de usuario software donde configurás del RouterOS (creo que se llamaba WinBox o algo así), que es una verdadera porquería: es casi lo mismo que configurar un firewall/router en Linux usando los comandos de iptables...solo que en ventanitas de Windows o_O. Entonces para configurar algo tenés que tocar dos o tres cosas completamente independientes en menúes independientes...igual de cascote que el iptables de Linux.
Me parece muy ridículo que productos de hardware que son poderosos tengan una interfaz de software tan troglodita, mientras que hay otros productos a los que la interfaz le brilla...como por ejemplo PfSense, que conseguí que lo manejaran unos tíos que no tenían NPI de seguridad, y explicándole los conceptos de la seguridad aprendieron a manejar el firewall buscando y aplicando esos conceptos, no teniendo que estudiar el kernel de Linux y el iptables para saber como configurar un reenvío de puertos.
Desde ahí les dije....Mikrotik no contés conmigo para cliente.

En cuanto al TP-Link, lo compré hace 8 años por que los access-point que tenía en casa eran una batata (un Encore que anda bien con tres conexiones de guasap) y un Nexxt que usé un tiempo en el NMP pero era desastroso. Con este TP-Link tenía buen rendimiento a un precio muy razonable, con tecnología MIMO y para la poca demanda de los celus en esa época andaba muy bien....hasta que empezó a andar muy mal cuando le ponías muchas conexiones. El hardware no es malo aunque ya es obsoleto en recursos, pero con el OpenWRT funciona como nunca lo ha hecho...
 
Algo similar pasa con la línea UniFi de Ubiquiti. El hardware está bueno y las posibilidades de escalabilidad también, pero los firmware son medievales y los actualizan con tanta lentitud que siempre van atrás de las vulnerabilidades. Un cliente al que le puse unos AP LR de exterior quería hacer el enlace inalámbrico pero era WEP 🤦🏼‍♂️ y obviamente le dije que no, y a cable. Igualmente a los 3 meses de dejarle el servicio funcionando me pidió que le ponga una contraseña más fácil porque era complicado usar la que le había puesto yo. Déjalo abierto para eso... En fin...
Comparto lo de configurar iptables a mano, es poco práctico. Si estás estudiando cómo funciona, perfecto, pero una vez que aprendiste hay cientos de softwares que lo simplifican, me viene a la mente shorewall (se me cayó el DNI).
Mensaje automáticamente combinado:

Aprovecho para informar que al NMP me agregué un disco de 3TB a los 3 de 1TB que y tenía y tengo 5.4TB de capacidad. Lo recuperé con HDAT2 y si bien el SMART me dice que está en pre-fail fuera de los sectores dañados el resto de los parámetros están bien.
 
Última edición:
Si la hacen fácil cualquiera "lo maneja"! :) lo que me es muy útil es la exportación de script con la configuración y la subsiguiente importación en distintos dispositivos sin importar si son el mismo modelo, la capacidad de conectarse mediante RoMon con una configuración mínima y seguirla desde allí aunque no se acceda físicamente al equipo, etc.

Es cierro lo de la interfaz Winbox, en principio es bastante complicada pero es cuestión de adaptarse al manejo.

Si añoras la consola haces todo desde la lineal de comandos en la Terminal con predicción de texto y todo.

Ese modelo de Router que indicas lo esta usando mi ISP para interconectar el trafico entre los distintas ciudades y repartirlo entre la red de fibra local y los enlaces rurales de Wifi y entre los otros pueblos.

Hasta que encuentre algún otro producto que me satisfaga para armar redes yo sigo con la marca, sin "casarme" ya que en muchos lugares tengo integrados productos Ubicuiti pero eso sí, en ninguno TP-Link.
 

capitanp

Miembro irreconocible
Ya nos fuimos afuera del tema pero Ubiquiti le copio la forma de hcer las cosas a Mikrotik con la linea Edge, así que muy errados con lo que quieren los instaladores no estan
 
Arriba