Flopy.es

Tutoriales, noticias y soluciones informáticas

Etiqueta: Raspberry

aMule en una Raspberry Pi Server: y olvídate de dejar el ordenador encendido descargando

En anteriores tutoriales hemos aprendido cómo instalar un sistema operativo ligero en nuestra Raspberry, hemos instalado Pi-hole para quitar la publicidad cuando navegamos desde nuestros dispositivos y hemos instalado PiVPN para conectarnos a nuestra red desde fuera de casa y quitar la publicidad de nuestros móviles sin conectarnos al wifi. Hoy vamos a aprender a instalar aMule en nuestra Raspberry en un tutorial orientado de nuevo a gente que se está iniciando en el uso del terminal. Este software es muy similar al archiconocido «eMule». Se trata de un software libre que nos permite compartir archivos de cualquier temática mediante internet con todo el mundo (tecnología P2P o «peer-to-peer»). El software deja esos archivos a «libre disposición» para que se los descargue quien quiera, y evidentemente nos permite descargar archivos que tengan otros usuarios.

Por cierto… seguro que te estarás preguntando: ¿será la Raspberry lo suficientemente potente como para correr el pi hole que hemos instalado, el PiVPN y aMule a la vez? Pues la respuesta es un rotundo (Siempre que la configuremos correctamente, por supuesto). Es más… en futuros tutoriales instalaremos unas cuantas cosas más en el mismo equipo, puesto que para tu información, la raspberry aún con todo esto va a estar muy muy ociosa.

¿Y por qué instalar aMule en la raspberry si funciona genial en el ordenador? Pues hay muchos motivos. El consumo eléctrico de tu ordenador es muchísimo mayor que el de una Raspberry (pero mucho mucho mayor), por lo que usándolo en la Raspberry en lugar de en el ordenador vas a ahorrar en electricidad. La raspberry además es completamente silenciosa. Una raspberry no necesita ni un solo ventilador para estar descargando cosas del aMule a todo trapo, por lo que puedes dejarla encendida en la misma habitación en la que vas a dormir y no te molestará en absoluto. Y total como ya la vamos a tener encendida todo el día por la instalación que hemos hecho de Pi-Hole, vas a tener un amule encendido las 24 horas al día todos los días de la semana descargando cosas. Si hay un archivo que lleve mucho tiempo descargar, te va a dar igual. Acabará descargándose porque no vas a parar nunca las descargas.

Además, imagínate que estás en casa de un amigo o en un sitio con una wifi pública y de repente te acuerdas que te tienes que bajar algo del aMule. Si has hecho los tutoriales anteriores, podrías acceder por VPN a tu red. Una vez dentro, abrir el amule (con la misma interfaz que si estuviera instalado de forma local), bajar lo que necesites y al apagar el «cliente» de amule de tu ordenador, el amule real (que estará en la raspberry) seguirá haciendo el trabajo en tu casa. Al llegar a casa puede que eso que querías bajar ya esté disponible en tu raspberry. El secreto es que no lo estás ejecutando desde la misma red en la que te encuentras, si no que siempre lo estás ejecutando en tu casa, en la rasbperry, y sólo accedes a su interface desde otros ordenadores (puedes saltarte de esta forma filtrados en WiFis ajenas y usar un amule desde una biblioteca o desde tu facultad, por ejemplo).

Por cierto… ¿Te digo un pequeño secreto a gritos acerca de los programas de descargas? Acaban estropeando el disco duro en el que operan debido a la escritura y lectura contínuas. Yo lo tengo más que comprobado, y evidentemente no es lo mismo tener que cambiar una tarjeta SD que suelen tener un precio ridículo y en la que no vas a almacenar información excesivamente importante que el disco duro de tu ordenador, que además de ser más caro puede que tenga información que no puedas volver a recuperar.

1) Requisitos para la instalación y funcionamiento.

  • Tener una raspberry conectada a internet con Raspbian Lite instalado. En este tutorial tienes instrucciones de cómo realizar la instalación del sistema operativo.
  • Sería ideal que la tarjeta SD en la que está el sistema operativo fuese grande. Lo ideal sería que fuese de 32 o 64 GB. Hoy en día no tienen un precio elevado y una tarjeta grande va a permitirnos almacenar más cosas y de forma más segura. Por un lado, al tener más espacio dónde escribir, es un poco menos probable que la tarjeta se estropee debido al trabajo que le vamos a mandar hacer. Por otra parte, si tenemos mucho espacio disponible (64 GB para una Raspberry es mucho espacio) podremos bajar cosas más grandes o muchas cosas a la vez. Por tanto en este caso el tamaño sí que importa.

2) Instalamos Amule y Amule daemon.

Vamos a irnos al terminal de la raspberry. Si habéis seguido la primera parte del tutorial y vuestra raspberry no está conectada a ningún monitor (que es lo que recomiendo), ya sabéis que podemos conectanos por medio de Putty (Windows) o de un terminal desde otro equipo (Mac y Linux). Una vez dentro del terminal tecleamos el siguiente comando para instalar todo lo necesario.

sudo apt-get install amule amule-daemon

Y aquí que nadie se me asuste. Aparecerá en pantalla un texto muy extenso diciendo que para instalar esos dos programas tendrá que instalar también muchísimas otras «dependencias» (en linux hay paquetes que dependen de que otros estén instalados y a veces, como en este caso, para instalar una cosa hay que instalar 40 a mayores). Es completamente normal, dado que estamos instalando este programa en un sistema «Raspbian Lite», en el que sólo está instalado lo mínimo imprescindible para funcionar. Así que le vamos a escribir al final del todo una «S» para confirmar que se instalarán todos los paquetes y le daremos a «enter».

Después de una larga instalación tendremos por fin instalados todos los paquetes necesarios.

3) Añadimos un nuevo usuario específico para aMule

Después de hacer la instalación necesitamos crear un usuario que tenga los permisos necesarios para poder ejecutar aMule, así que vamos a crear un usuario que se llamará «amule» (qué originales que somos) con el siguiente comando.

sudo adduser amule

Nada más pulsar «enter» se nos preguntarán estas cosas.

  • Introduzca la nueva contraseña de UNIX: le ponemos una contraseña al usuario. Recordad que debería ser distinta a la de vuestro usuario normal (por favor, usad siempre contraseñas seguras y distintas para cualquier cosa que hagáis).
  • Vuelva a escribir la nueva contraseña de UNIX: Repetimos la contraseña
  • Nombre completo: amule (para qué matarnos)
  • Número de habitación: ¿Cómorrrl? Dejadlo en blanco
  • Teléfono del trabajo: Estoooo.. también dejadlo en blanco
  • Teléfono de casa: Es que no sé el número de la casa de aMule… así que dejadlo también en blanco
  • Otro: No hay otro. Dejadlo en blanco.
  • Es correcta la información: Pulsamos «s» y enter.
Nota mental. La próxima vez que vea a aMule tengo que preguntarle el número de teléfono de su casa… y el de su trabajo. Pero sobre todo, el número de su habitación. Hmmmmm…

4) Configuramos el servicio de aMule

Con los datos del usuario que hemos creado, vamos a configurar el servicio de aMule (os recuerdo que en GNU/Linux lo que en windows llamamos «servicios» aquí se llaman «daemons» o «demonios).

Lo primero será irnos a la carpeta «etc» que es donde se encuentran la mayoría de las configuraciones de los distintos programas de la raspberry, tecleando lo siguiente:

cd /etc

Dentro de esa carpeta nos vamos a una llamada «default».

cd default

Y una vez allí, editamos como superusuario el archivo «amule-daemon», que es el que contiene la configuración de aMule.

sudo nano amule-daemon

Dentro de ese archivo nos vamos a encontrar algo como esto.

Como podréis ver, hay una línea que indica el usuario que va a usar aMule que no está configurada, así que la editamos para dejarla tal que así.

AMULED_USER="amule"

Y también hay otra línea que nos indica la ruta de la carpeta «home» de ese usuario. Esa ruta también está sin configurar, así que vamos a cambiarla por esto otro.

AMULED_HOME="/home/amule"

Al final, el archivo debería quedar algo similar a esto.

Guardamos los cambios pulsando «Control + O» y salimos del editor con «Control + X». Ahora es el momento de encender el servicio recien configurado. Hay dos formas de encender un servicio en el terminal de linux, y podéis usar cualquiera de las dos. Podemos hacerlo con este comando:

sudo /etc/init.d/amule-daemon start

O con este otro:

sudo service amule-daemon start

En todo caso el resultado debería ser este que os muestro aquí:

Además de encender el servicio, esto va a generarnos el archivo principal de configuración del aMule que vamos a editar más adelante.

5) Creamos contraseñas para el acceso al aMule

El aMule, tal y cómo lo estamos configurando, necesita dos contraseñas. Una que usaremos cuando nos conectemos desde el cliente de aMule de nuestro ordenador (para usarlo como el eMule de toda la vida) y otra para acceder a la página web que nos genera el aMule, que sirve para poder controlarlo desde un equipo que no tenga instalado el cliente habitual. Evidentemente las dos contraseñas pueden ser iguales, pero como yo soy un paranoico de la seguridad e intento infectar a todo el mundo de este mal, os recomiendo que sean diferentes entre ellas y diferentes de cualquier otra contraseña que uséis.

Cada una de esas contraseñas lleva aparejado un código llamado md5. Para explicarlo de forma que me podáis entender todos… el md5 se genera haciendo operaciones matemáticas con vuestra contraseña. Cuando hagáis login en el aMule, el sistema cotejará la contraseña con el md5 y si la contraseña corresponde con el md5 podréis logaros. Así que vamos a generar los md5 de las dos contraseñas.

Como ejemplo, voy a usar como contraseña del cliente de aMule la siguiente: aMulemola1000 (por favor… usad otra contraseña. Sed seguros). Vamos a generar el md5 de esa contraseña con este comando.

echo -n aMulemola1000 | md5sum

y ese comando nos genera este resultado en el terminal.

d86c2fe670798211aeeb3ee1c0e889d3  -

Hacemos lo mismo con la contraseña de la página web. Vamos a usar como contraseña lo siguiente: MiLinuxMola1000 (De nuevo: usad otra contraseña, por favor). introducimos este comando en el terminal:

echo -n MiLinuxMola1000 | md5sum

y con ese comando obtendremos este código.

f5e5a155333402b3c86a4b06a52c637f  -

Apunta los códigos (sin el símbolo «-» que tienen al final) y las contraseñas que hemos puesto. Las vamos a necesitar en un momento.

6) Configuración básica del aMule. Contraseñas y puertos

Vamos a ir a la carpeta del usuario que hemos creado para el aMule y vamos a realizar la configuración básica para poder arrancarlo. Para ello necesitamos entrar en la carpeta «home» del usuario «amule» (normalmente operamos en la carpeta «home» del usuario «pi», pero recordad que ahora éste va a ser el usuario que opere el aMule). Entramos en esa carpeta con este comando.

cd /home/amule

Una vez dentro de la carpeta, si ejecutamos el comando «ls», no nos mostrará nada. Este comando nos lista las carpetas y archivos que hay dentro del directorio que nos situamos. Sin embargo hay una carpeta oculta dentro que no nos muestra ese comando. En linux, el nombre de todas las carpetas ocultas comienza con un punto. Vamos a irnos a la carpeta llamada «.aMule» (ojo con la «M» mayúscula, que linux distingue mayúsculas y minúsculas en los nombres de archivo).

cd aMule

Si en esa carpeta tecleamos el comando «ls» ya podremos ver un montón de carpetas dentro. Vamos a editar como superusuario el archivo «amule.conf» con el siguiente comando:

sudo nano amule.conf

En anteriores tutoriales hemos usado el comando «nano» para hacer pequeñas ediciones, pero este archivo es bastante largo, así que vamos a hacer uso de algunas otras características de «nano» para encontrar lo que queremos editar.

Dentro de «nano» y con el archivo «amule.conf» abierto, pulsamos «Control+W» para buscar texto dentro del archivo. Buscamos este texto:

AcceptExternalConnections

Y pulsamos enter. Nos situará en la línea dónde aparece ese texto. Tenemos que cambiar en esa línea el «=0» por «=1», para dejarla así.

AcceptExternalConnections=1

Dos líneas más abajo hay un campo que pone «ECPassword=». Vamos a cambiar esa línea. Después del igual, vamos a poner el md5 que hemos generado para el cliente de amule. En mi caso lo dejaré así (pero vosotros poned la que habéis generado):

ECPassword=d86c2fe670798211aeeb3ee1c0e889d3

Un poco más abajo nos vamos a encontrar con dos líneas que ponen

[WebServer]
Enabled=0

Ese [WebServer] significa que lo que hay desde ese corchete hasta que aparezca otro corchete, forma parte de la configuración de la web que nos va a generar el amule. Como nos interesa poder acceder a esa web, cambiamos en la segunda línea el «=0» por un «=1», de esta forma.

[WebServer]

Enabled=1

La siguiente línea nos pregunta una contraseña. Vamos a poner el segundo md5 que hemos generado (insisto… poned el que habéis generado vosotros. No os fieis de mis contraseñas). Yo la dejaré entonces así.

Password=f5e5a155333402b3c86a4b06a52c637f

Por último, dos líneas más abajo, cambiamos el puerto de la web por uno más estandard (el 80 ya está siendo usado por el pi-hole, así que pondremos el 8090). Dejamos esa línea así:

Port=8090

Por último vamos a hacerle un reinicio al servicio de aMule. Sé que hay un comando para reiniciarlo en una sóla línea, pero vamos a hacerlo en dos. Primero hacemos…

sudo service amule-daemon stop

Hacemos una pausa de 10 segundos y luego tecleamos…

sudo service amule-daemon start

Si os sale un comando de error, volved a hacer una pausa de 10 segundos y volved a teclear el comando. Si sigue sin funcionar, reiniciad las raspberry con el siguiente comando:

sudo shutdown -r now

Esto ocurre debido a una incidencia en el paquete de aMule que hace que no siempre inicie el servicio correctamente. En todo caso un reinicio debería resolver el problema.

7) Comprobación del funcionamiento de la web que genera aMule

Antes de nada vamos a ver si nos funciona la web que nos genera aMule. Vamos a ir a un navegador web y ponemos la dirección IP de nuestra raspberry, dos puntos y luego el puerto 8090. Debería quedar algo así (cambiando la dirección IP por la vuestra, claro está).

http://10.0.1.222:8090

Y si todo va bien deberíais ver algo como esto:

En la parte izquierda, se os invita a poner una contraseña. Vamos a poner la contraseña que hemos inventado para el interface web, que en el ejemplo que os puse era «MiLinuxMola1000» (pero confío en que estéis usando una diferente, claro). En cuanto la pongáis, deberíais poder entrar en el interface de amule, que se ve tal que así:

En los botones de arriba, podéis ver qué archivos os estáis bajando, gestionar los servidores en los que os estáis conectando, buscar y bajar archivos nuevos… todo de una forma muy simplificada. Sin embargo esta interfaz os será muy útil para gestionar vuestras descargas desde un teléfono móvil, por ejemplo. ¿Cómo acceder aquí si estáis fuera de casa? Pues os recomiendo encarecidamente que tengáis una VPN montada en la raspberry, tal y cómo explicamos en un tutorial anterior. Si la tenéis, no váis a tener que configurar nada más y tendréis el interfaz web del aMule seguro (porque no se podrá conectar nadie desde fuera si no es un usuario de tu VPN). el procedimiento sería.

  1. Conectarte al VPN.
  2. Abrir el navegador de internet y acceder a la dirección que hemos visto desde el móvil (en el ejemplo sería http://10.0.1.222:8090).

8) Acceso desde el cliente de aMule.

Para acceder con un interfaz como el del emule de toda la vida, necesitaréis un «amule GUI» (GUI significa Graphic User Interface). Cada sistema operativo necesita el suyo propio. Os digo cuáles podéis usar en cada sistema.

  • Para Windows usad este enlace. Es la versión 2.3.1 de Amule. Podréis encontrar en el archivo comprimido, además de la versión normal de aMule para Windows, el archivo «AmuleGUI.exe», que es el que nos interesa para conectar con el amule de nuestra raspberry
  • Si usáis Mac OS necesitaréis el AmuleGUIAdunanzA versión 2012.1 (que lo podéis bajar desde este enlace). Ésta que os pongo es la única versión que he encontrado que funciona con Mac OS 10.14 Mojave.
  • En linux podéis buscar en los repositorios de vuestra distribución «aMule-utils-gui». En Ubuntu o Linux Mint podéis encontrar este programa en el gestor de software del sistema.

Si tenéis varios ordenadores podéis instalar estos programas en ellos para que todos conecten a la misma raspberry (aunque sean sistemas operativos diferentes, pueden conectar todos ellos a la misma instalación).

Al ejecutar por primera vez cualquiera de esos programas os saldrá una ventana en la que debemos cubrir los datos para conectarnos a nuestra raspberry:

  • Connect to: debemos poner la IP de nuestra raspberry. En nuestro ejemplo voy a poner 10.0.1.222
  • Al lado de esa IP hay un pequeño cuadro en el que se nos invita a poner un número. Debería salirnos por defecto el 4712, y ese es el que vamos a dejar en ese recuadro.
  • User Name: Dejamos ese recuadro en blanco o con el usuario que nos marque por defecto (en el caso del aMule AdunanzA, por ejemplo, no está permitido cambiar este recuadro, pero no va a influir en la conexión).
  • Password: vamos a poner la contraseña que generamos para el cliente de aMule, que en el ejemplo era «aMulemola1000».
  • Dejamos marcado el recuadro de «recordar las configuraciones».

Pulsamos «connect» y por fin tenemos el interface de toda la vida de aMule (o eMule para los que lo han conocido en Windows).

Ahora sólo tendremos que mapear en el router los puertos necesarios a la raspberry y realizar algunas configuraciones para optimizar el rendimiento de aMule.

9) Mapeo de los puertos del router.

Vamos a mapear algunos puertos del router (apuntarlos hacia la raspberry), pero… ¿Qué puertos? Vamos a entrar de nuevo en el interface del aMule y pulsar en el icono de preferencias.

Dentro de las preferencias nos vamos al apartado «conexiones» y vamos a cambiar los siguientes parámetros:

  • Download: 1900 kB/s
  • Upload: 900 kB/s

Seguro que ahora mismo estás pensando: «espera… ¿por qué voy a limitar tanto la velocidad del Amule si tengo una línea de internet mucho más rápida que esto?». Pues por dos motivos: Por un lado no queremos que la Raspberry «se ponga a mil», porque necesitamos que haga muchas más cosas. Y por otro lado, no queremos que el aMule sature nuestra conexión de internet (vamos a usar nuestra conexión para más cosas, y si no ponemos límites no vamos a poder ni navegar en condiciones).

Cambiaremos también los siguientes campos:

  • Standard TCP Port: Ponemos un número cualquiera entre 4500 y 5000 (yo voy a poner el 4783 en el ejemplo, pero poned uno cualquiera). Eso es para evitar bloqueos de nuestro proveedor de internet.
  • UDP port for server request: el sistema lo calcula automáticamente. El puerto es el mismo que el standard, pero sumándole 3. En nuestro caso será el 4786
  • Extended UDP Port: También nos lo inventamos. Yo voy a poner el 4789

El resto de parámetros los dejamos como están.

Estos puertos que hemos cambiado, debemos dirigirlos en el router hacia la IP de nuestra raspberry. En cada router la configuración es distinta, así que os voy a enseñar cómo se hace en el mío (Time Capsule de Apple), pero debéis averiguar por vuestra cuenta cómo se mapean puertos en el vuestro.

En el interfaz de configuración del Time Capsule pulso en «edit» para cambiar la configuración, luego sobre «red» y en «ajustes de puerto» pulso sobre el botón «+».

En la siguiente pantalla añado una descripción el puerto a mapear, en «Puertos TCP públicos» pongo el primer puerto (el 4783) y lo pongo también en «puertos TCP privados». En «dirección IP privada pongo la IP de la raspberry. Recordad que vosotros podéis tener un puerto diferente según lo hayáis configurado en el aMule (y de hecho es lo que os recomiendo)

Repetimos el proceso para el puerto UDP que se nos asignó de forma automática (el 4786). Ojo: que este puerto hay que configurarlo como UDP y hay que ponerlo en el campo correspondiente a UDP, tal que así.

Mapeo también el último puerto (en nuestro ejemplo, el 4789). También es un puerto UDP.

Con esto queda el mapeo de puertos completado y sólo tenemos que hacer los últimos ajustes al interfaz del aMule.

10) Preparamos la carpeta en la que aMule realizará las descargas.

En este momento, aMule tienen configurada una carpeta por defecto en la que almacenará todo lo que se descargue, que está en la siguiente ruta.

/home/amule/.aMule/Incoming

Amule va a funcionar con esta configuración, pero no va a ser cómodo. Vamos a crear una carpeta en una ubicación más lógica dónde aMule va a almacenar todo lo que descargue y vamos a compartirla para poder acceder a ella mediante un ordenador (y así poder recuperar todo lo que se descargue aMule).

Nos vamos al terminal y vamos a teclear el siguiente comando.

cd /home/pi

Esto nos sitúa en la carpeta del usuario principal de la raspberry. Ahí vamos a crear una carpeta nueva, a la que vamos a llamar «descargas». Para ello usamos el siguiente comando.

mkdir descargas

Ahora vamos a darle permisos a esa carpeta para que cualquiera pueda escribir en ella con este comando:

sudo chmod 777 descargas

Perfecto. ahora vamos a compartir la carpeta para que se vea desde otros ordenadores de la red. De esta forma, en cuanto tengamos un archivo descargado, podremos acceder a esta carpeta desde nuestro ordenador y coger el archivo. En el punto 11 del tutorial ya le diremos al aMule que use esa carpeta para las descargas.

Para compartir la carpeta y poder acceder a ella desde nuestro ordenador vamos a instalar Samba en la raspberry, que es un software que nos permite compartir carpetas (y también impresoras y otros recursos) a otros ordenadores. Para instalarlo tecleamos en el terminal el siguiente comando:

 sudo apt install samba samba-common-bin 

Después de instalar los paquetes necesarios, configuramos la carpeta compartida. Para ello tecleamos:

 sudo nano /etc/samba/smb.conf 

Nos vamos a la última línea del archivo e introducimos este texto a mayores.

[Descargas]
    comment = Share Directory
    path = /home/pi/descargas/
    browseable = Yes
    writeable = Yes
    only guest = no
    create mask = 0644
    directory mask = 0755
    public = yes

Como siempre, guardamos cambios con «Control+O» y salimos de nano con «Control+X». Y por último reiniciamos el servicio de Samba para que se apliquen los cambios con este comando:

sudo service smbd restart

Ahora en Windows, podemos ir a una carpeta cualquiera y en la barra de direcciones teclear dos barras, seguidas de la dirección ip de nuestra raspberry, de esta forma.

\\10.0.1.22

Evidentemente poned la dirección IP de vuestra raspberry en lugar de la mía. Pulsad «enter» y podréis ver una carpeta compartida, que será la carpeta «descargas» que hemos creado en nuestra raspberry. Si queremos, creamos un acceso directo en el escritorio a esa carpeta y listo.

OJO: Cualquier informático que se precie, al ver esto seguramente esté sacando espuma por la boca porque he compartido esta carpeta sin seguridad de ningún tipo y la compartición además se puede hacer de forma más elegante (con el nombre del dispositivo en lugar de la dirección IP). Ahora, tal y cómo hemos hecho, cualquier ordenador que esté dentro de nuestra red WiFi puede entrar a esa carpeta sin poner ninguna contraseña y eso en determinados entornos es un riesgo de seguridad. Vale… aceptamos barco… pero estos tutoriales son para ir aprendiendo poco a poco cómo usar el terminal y están claramente orientados a gente que está dando sus primeros pasos en el terminal. Ponerse a securizar esto sería alargar más aún un tutorial que me está quedando ya demasiado largo y no os quiero dar más la chapa. Esto funciona tal cual se explica aquí y si alguien quiere más seguridad (Contraseña para esa carpeta, agregar la raspberry al grupo de trabajo, etc…) explicaremos cómo aplicarla en otro momento.

En Mac OS es también muy sencillo acceder a esa carpeta. En la barra superior del finder, pulsamos en «ir» y luego en «conectarse al servidor».

En la ventana que nos sale, tenemos que irnos a la dirección «smb://direcciónIP» (poned la de vuestra raspberry).

El Mac nos preguntará con qué nombre y contraseña se conecta. Decidle que se conecte como invitado.

Ahora seleccionamos la única carpeta que está compartida en la Raspberry

Y listo. Si queréis, podéis hacer un acceso directo en la barra lateral del finder para acceder a esa carpeta más tarde con más comodidad. *

En Linux es muy similar que en Mac OS. En cualquier ventana de una carpeta, pulsamos sobre el botón «alternar entrada de ubicación» y nos vamos a la dirección «smb://tudireccionip» (pon ahí la dirección que corresponda a tu raspberry). En nuestro ejemplo, habría que ir a:

smb://10.0.1.222

Y una vez ahí, pulsamos sobre «Descargas».

Se nos abrirá una ventana preguntándonos las credenciales para conectarnos a esa carpeta. Pulsamos «Anónimo» y luego en «Conectar».

Por último, si queremos tener un acceso directo a esa carpeta, lo mejor es que en la columna de accesos directos, pulséis con el botón derecho en la carpeta de vuestra raspberry y luego en «Añadir Marcador».

Con esto ya tenemos lista la carpeta dónde vamos a descargarnos todo.

11) Últimas configuraciones del interfaz de aMule.

Volvemos al interfaz del amule. Nos vamos a la pestaña «Directories». En la zona superior, dónde pone «Destination folder for downloads» vamos a poner la siguiente ruta:

/home/pi/descargas

La ruta que aparece inmediatamente debajo la dejamos tal cual está.

Una vez que cambiamos esas rutas, reiniciamos la raspberry para que se apliquen esos cambios escribiendo este comando en el terminal:

sudo shutdown -r now

En cuanto encienda la raspberry, volvemos al cliente de aMule de nuestro equipo y en las preferencias nos vamos a la pestaña «files» y ahí dentro vamos a marcar las opciones «Preallocate disk space for new files» y «save 10 sources on rare files», que están desmarcadas por defecto.

Ahora nos vamos a la pestaña Security y vamos a añadir varias opciones de seguridad (porque no nos interesa que otros nos espíen las cosas que descargamos). En primer lugar marcamos la casilla «Accept only obfuscated connections». Eso hará que tengamos menos fuentes de las que descargar cosas, pero serán más seguras.

También marcamos las opciones de «Filter clients» y «Filter servers», y añadimos la siguiente URL en la casilla correspodiente:

http://upd.emule-security.org/ipfilter.zip

Ésto nos descargargará unos listados de ip’s que están dedicadas a espiar a los usuarios de programas P2P (SGAE, universidades, ASGAC, etc…). Teniendo estos listados actualizados, cada vez que entre una petición de alguna de esas ip’s, simplemente no se atenderá, por lo que para ellos nosotros no existimos y no pueden espiar lo que estamos haciendo con nuestro aMule.

Con todo esto, nuestro aMule ya está listo para realizar descargas. Debo advertiros de dos cosas antes de que uséis este programa:

  1. Todo lo que haya en la carpeta de descargas lo estaréis compartiendo con otras personas, así que aseguraos de no poner por error nada personal en esa carpeta.
  2. No deberíais compartir con este programa archivos protegidos por derechos de autor. Un aMule es como un cuchillo. Es legal tenerlo y tiene usos interesantes, pero clavárselo a alguien es ilegal. Con el aMule pasa lo mismo: es legal y tiene usos interesantes, pero compartir archivos protegidos por derechos de autor no es legal. Que nadie os engañe. La legalidad de este programa está fuera de toda duda. Pero el uso que le puedes dar puede no serlo, así que ten cuidado con lo que descargas y compartes.

Seguro que ahora sí que crees que la raspberry no puede dar más de sí. Pues siento decirte que no. En el próximo tutorial le instalaremos un cliente de Torrents llamado «Transmission» (Sí… a la vez del Pi-Hole, PiVPN y aMule). Como siempre, te animo a dejar tus dudas y comentarios sobre este artículo a continuación.

Share

Pi-hole: elimina la publicidad en todos los dispositivos de tu hogar sin instalar nada en niguno de ellos

En nuestro anterior tutorial hemos visto cómo instalar un sistema operativo ultraligero en una Raspbery Pi. En éste vamos a aprender cómo instalar pi-hole en esa misma raspberry para eliminar la publicidad de absolutamente todos los dispositivos que se conecten a nuestra red wifi (tablets, smart tv, teléfonos, ordenadores…) sin tener que instalar nada en ninguno de ellos. Además, como el consumo eléctrico de una raspberry es ínfimo, podemos tener la Raspberry encendida todo el día realizando esta tarea sin preocuparnos por la factura de la electricidad.

Y sí… seguro que alguno está pensando «Pero eso se puede hacer instalando tal aplicación en mi móvil o este plugin en el navegador». Eso está muy bien, pero esa forma de proceder tiene tres problemas básicos que Pi-hole resuelve:

  1. Un plugin para el navegador quita la publicidad en ese navegador, pero no en otros navegadores o programas que tengas instalados en el equipo.
  2. Puedes instalar un software en el equipo que se ocupe de quitar la publicidad en cualquier programa, pero eso serviría para ese equipo (ordenador, móvil), pero no para el resto de dispositivos de tu casa.
  3. La gran mayoría de software que se dedica a estos temas NO son software libre. Muchos son gratis, pero no libres, lo que implica que no podemos estar seguros de qué es lo que hacen por detrás (¿enviar nuestro historial de navegación a alguna empresa? ¿espiarnos? ¿instalarnos una puerta trasera?…). Pi-hole sin embargo es completamente libre (podemos mironear su código para ver lo que hace), lo que es una garantía de seguridad.

Resumiendo: Es mucho más inteligente abordar la eliminación de la publicidad vía pi-hole que por medio de otras aplicaciones, aunque sean más sencillas de instalar (tanto por seguridad como por efectividad). Así que vamos al grano.

1) Requisitos

Vamos a suponer que habéis hecho todo lo que hemos aprendido en el tutorial anterior, es decir, tenéis una Raspberry Pi funcionando con Raspbian (sea la versión que sea, aunque os recomiendo Raspbian lite para que vaya más rápido) y tiene una IP fija asignada. También podéis aplicar este tutorial si tenéis un ordenador con Debian instalado o alguna distribución de linux basada en Debian (Ubuntu, Linux Mint…), aunque el consumo eléctrico de un ordenador de escritorio es muy superior al de una Raspberry, por lo que usar una Raspberry para esta tarea es lo ideal.

2) Instalación de Pi-hole

Para instalarlo, primero debemos acceder al terminal de nuestra raspberry. Si habéis seguido el tutorial de instalación, accederemos a ella mediante SSH, bien mediante Putty si usamos Windows o bien por el terminal de nuestro ordenador si usamos Linux o Mac Os. En mi caso accederé por terminal desde Mac OS, escribiendo el siguiente comando:

ssh pi@10.0.1.222

Nos logamos con nuestra contraseña para poder «hablar» con nuestra raspberry y escribiremos el comando de instalación de Pi-hole, de esta forma:

curl -sSL https://install.pi-hole.net | bash

Simplemente debemos esperar sin tocar nada hasta que nos salga esta pantalla en la que debemos pulsar en «Aceptar». El ratón no funcionará (recordad que estamos en modo texto), por lo que debemos pulsar «enter».

Debemos aceptar también la siguiente pantalla, que es ésta.

Y por último ésta también la aceptamos.

Ahora nos preguntará por qué interface se está conectando la raspberry. Los que la tengáis conectada por cable, debéis escoger eth0 y los que la tengáis por wifi debéis escoger wlan0. Se escoge subiendo y bajando el cursor con las teclas de dirección y seleccionando con la barra espaciadora. Pulsamos «Aceptar».

Ahora nos preguntará qué servidor de DNS va a usar. Esto es ya cuestión de gustos, pero os puedo decir que en lo personal estoy harto de la política de google y me niego a escoger ese servidor, así que voy a seleccionar Cloudflare y a pulsar en «aceptar».

La siguiente pantalla nos pregunta qué listas de bloqueos debe usar. En principio vamos a dejar todo tal y cómo está y pulsamos en «aceptar».

Siguiente pantalla. Nos pregunta por protocolos. Salvo sorpresas, hoy en día deberíais estar usando aún IPv4 (¡¡¡¿Pero cuándo van a implementar las operadoras de forma completa IPv6, por Jobs?!!!).

En la siguiente pantalla nos pregunta si la dirección es estática. Como es así, simplemente pulsamos «sí».

Ahora nos sale una adventencia acerca de que nuestro router puede usar la ip de la raspberry. Vale… reservar un rango de ip’s en el router mola (y yo lo tengo hecho) pero explicar esto es liar las cosas en un tutorial como éste y además en cada router se hace de forma distinta. Tal y cómo lo hemos hecho debería funcionar para el común de los mortales, así que tiramos pa’lante.

¿Queremos instalar el interfaz de administración? Por supuesto. ¿Cómo me haces esa pregunta?

¿Queremos instalar el servidor web? Pues como nuestra raspberry está recién instalada claro que sí, guapi.

¿Queremos archivos de registro para ver incidencias y reportes? Venga, ¿por qué no?

¿Modo de privacidad? Esto es por si nos interesa saber por dónde están navegando otros dispositivos y ver qué páginas se bloquean. La verdad es que es interesante, así que vamos a decirle que muestre todo.

Y ahora sí que sí. Empieza la instalación y tras unos minutos vemos algo parecido a esto.

Apuntamos esos datos (por favor, apuntadlos, que los necesitaremos luego) y pulsamos aceptar. Vemos que volvemos a ver nuestro terminal de color negro esperando a que tecleemos algo, pero vamos a hacerlo sufrir y lo dejaremos minimizado (lo usaremos más tarde para cambiar la contraseña de acceso a la gestión de pi-hole). En todo caso el proceso de instalación ha acabado y casi podríamos acabar aquí el tutorial, pero como somos muy perfeccionistas vamos a explicar algunos puntos a mayores.

(Sí… muchas fotos en el tutorial y se ha hecho muy largo de leer, pero al que me diga que ha sido complicado le doy una colleja).

3) Configurar el router.

La tentación de ir a la interfaz de configuración que nos dice ese último mensaje de la instalación es muy grande , pero vamos a configurar primero nuestro router. Sólo debemos entrar en su configuración (cada router es distinto, así que debéis averiguarlo según el modelo) y cambiar el servidor de DNS por la dirección IP de nuestra raspberry. Si no sabéis cómo hacerlo o vuestro router no es configurable, se puede hacer una «ñapa» que os explicaré más adelante.

Por el momento os voy a enseñar como lo he hecho yo en mi router, que es un «Time Capsule» de apple. Simplemente me voy al interfaz del router y en la pestaña «internet» cambio el servidor de DNS principal por la IP fija que le he asignado a la raspberry.

Sólo con este cambio, si conecto un dispositivo a la red wifi de mi casa, ya estará disfrutando de un filtrado de publicidad. Así de sencillo.

Pero puede ser que no podamos o no sepamos acceder a esa configuración. Entonces lo que debemos hacer es entrar en la configuración de red de todos los dispositivos de nuestra casa y cambiar manualmente el servidor de DNS de todos ellos. Debemos poner la dirección ip de nuestra raspberry. Por ejemplo, en un equipo con Windows iríamos a «panel de control» –> «redes e internet» –> «conexiones de red». Ahí pulsaríamos con el botón derecho en la tarjeta de red con la que nos conectemos, seleccionaríamos el protocolo de internet IPv4 y le daríamos a propiedades y en la nueva ventana marcaríamos la opción «Usar las siguientes direcciones de servidor DNS» y pondríamos como servidor de DNS preferido la ip de la raspberry.

Lo mismo deberíamos hacer para cada dispositivo (tablets, teléfonos, ordenadores, televisores…), pero sólo si no somos capaces de cambiar esa configuración en el router. Si hemos configurado el router con ese parámetro, entonces podemos ignorar todo esto que os estoy diciendo.

4) Probar el bloqueo de publicidad.

Aquí viene un punto sencillo. Simplemente hay que entrar en cualquier diario online español (están casi todos llenos de publicidad intrusiva) o alguna página de descarga de software para comprobar si pi-hole está ya bloqueando publicidad. Esta página puede también indicaros si os funciona el bloqueo:

https://blockads.fivefilters.org/?pihole

Puede que aún se nos escape algún anuncio pero eso lo vamos a corregir en un momento.

5) Cambiar la contraseña de pi-hole.

Es una política de seguridad obligada el cambiar las contraseñas que cualquier aparato nos pone por defecto, así que vamos a cambiar la contraseña del interface de pi-hole ahora mismo.

Entramos en el terminal (o putty) que habíamos minimizado al final de la instalación y tecleamos lo siguiente:

pihole -a -p

Nos saldrá un mensaje pidiéndonos la nueva contraseña. Ponemos una contraseña segura, pulsamos «enter», la volvemos a escribir y volvemos a pulsar «enter».

Y listo: a partir de ahora esa que hemos puesto será nuestra contraseña para acceder al interfaz de pi-hole.

6) Ajustes dentro del interfaz de pi-hole

Ahora sí que sí. Abrimos un navegador y vamos a entrar en la dirección que nos ha puesto el último mensaje de la instalación. En nuestro ejemplo es la siguiente:

http://10.0.1.22/admin

En la parte izquierda veremos esta columna. Pulsamos en «login».

Ahora ponemos la contraseña que hemos definido en el paso 5 y podremos ver el interfaz completo de pi-hole, que luce tal que así.

Entramos en el apartado «Blacklist». Ahí podemos ver páginas individuales que podemos bloquear. Podemos bloquear por ejemplo una URL (una página web en concreto), un subdominio o un dominio completo. Os voy a pasar la configuración que uso yo en mi casa en este apartado (que os recomiendo). Son todas entradas Regex. Simplemente id introduciendo una por una:

^|.)affiliates.host1plus.com$
(^|.)cloudfront.net$
(^|.)codere.es$
(^|.)jwpcdn.com$
(^|.)oferplan.abc.es$
(^|.)outbrain.com$
(^|.)platform.sunmedia.tv$
(^|.)promo.blackview.hk$
(^|.)promo.blackview.hk$
(^|.)resizer-oferplan$
(^|.)resizer-oferplan.abc.es$
(^|.)resizer-oferplan.lavozdegalicia.es$
(^|.)smartadserver.com$
(^|.)sunmedia.tv$
(^|.)vuelosbaratos.com$
(^|.)vuelosbaratos.es$

Ahora vamos a la parte más importante de este servicio. Nos vamos a «settings» y pulsamos en la pestaña «Blocklists». Aquí van las listas de las cosas que queremos bloquear. Además de bloquear publicidad, hay gente que hace listas para bloquear porno (muy útiles si tenemos niños en casa), bloquear páginas con contenido peligroso para el ordenador, bloquear páginas de apuestas (gambling), etc… Os dejo aquí las listas que uso yo (que también os las recomiendo).

https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts
https://mirror1.malwaredomains.com/files/justdomains
http://sysctl.org/cameleon/hosts
https://zeustracker.abuse.ch/blocklist.php?download=domainblocklist
https://s3.amazonaws.com/lists.disconnect.me/simple_tracking.txt
https://s3.amazonaws.com/lists.disconnect.me/simple_ad.txt
https://hosts-file.net/ad_servers.txt
https://hosts-file.net/psh.txt
https://v.firebog.net/hosts/Airelle-hrsk.txt
https://v.firebog.net/hosts/Shalla-mal.txt
https://ransomwaretracker.abuse.ch/downloads/RW_DOMBL.txt
https://ransomwaretracker.abuse.ch/downloads/LY_C2_DOMBL.txt
https://ransomwaretracker.abuse.ch/downloads/CW_C2_DOMBL.txthttps://ransomwaretracker.abuse.ch/downloads/TC_C2_DOMBL.txt
https://ransomwaretracker.abuse.ch/downloads/TL_C2_DOMBL.txt
http://www.networksec.org/grabbho/block.txt
https://isc.sans.edu/feeds/suspiciousdomains_Medium.txt
https://raw.githubusercontent.com/crazy-max/WindowsSpyBlocker/master/data/hosts/win10/spy.txt
https://v.firebog.net/hosts/static/SamsungSmart.txt
https://s3.amazonaws.com/lists.disconnect.me/simple_tracking.txt
https://v.firebog.net/hosts/Easyprivacy.txt
https://hosts-file.net/ad_servers.txt
https://s3.amazonaws.com/lists.disconnect.me/simple_ad.txt
https://gist.githubusercontent.com/anudeepND/adac7982307fec6ee23605e281a57f1a/raw/5b8582b906a9497624c3f3187a49ebc23a9cf2fb/Test.txt
https://v.firebog.net/hosts/Easylist.txt
https://v.firebog.net/hosts/AdguardDNS.txt
https://pastebin.com/raw/9M5ALu8n
https://raw.githubusercontent.com/mmotti/pihole-regex/master/regex.list
https://raw.githubusercontent.com/Marfjeh/coinhive-block/master/domains

Y con esto creo que podemos dejarlo listo. Hay dentro de «settings» –> «DHCP» algunas opciones interesantes en caso de que no podamos poner las DNS correctas en nuestro router, de forma que podríamos hacer que fuera el Pi-hole el que asignara direcciones ip en nuestra red, pero esto creo que ya excede el objetivo de este tutorial. Llegados a este punto ya tenéis activado el filtrado de webs en toda vuestra red doméstica. Y por cierto… la raspberry haciendo este filtrado está bastante ociosa, así que puede hacer otras tareas además de quitarnos la publicidad.

En el próximo tutorial veremos cómo extender este filtrado a los dispositivos móviles cuando estén fuera de casa instalando un servidor de VPN en nuestra Raspberry. Además también nos servirá para acceder a nuestros dispositivos mientras estemos fuera de casa (por ejemplo para acceder al disco duro del ordenador de sobremesa).

Como siempre, si tenéis dudas, sugerencias o queréis indicarme alguna errata indicadlo en los comentarios.

Share

Instalar Raspbian «Server» en una Raspberry Pi sin monitor: La base para un millón de usos en el hogar.

Una Raspberry Pi es un dispositivo muy barato pero que puede tener en tu hogar un montón de usos avanzados que van más allá de instalar un simple sistema operativo «de escritorio» o un reproductor de películas. Puede resultar muy útil usarla como bloqueador de publicidad para todos los dispositivos de la casa (sin tener que instalar nada en ellos), tener un aMule o un programa de descarga de «torrents» encendidos todo el día para descargar archivos sin tener que consumir la electricidad que gasta un ordenador de escritorio, tener un servidor de plex para retransmitir vídeos a tus dispositivos, usarla como servidor de VPN para acceder en remoto a tus dispositivos desde fuera de tu casa o para navegar de forma segura en redes wifis inseguras… Las posibilidades son casi infinitas. Pero todas ellas comienzan por la elección e instalación de un sistema operativo idóneo para aquello que vamos a hacer.

Es muy importante ser consciente de las limitaciones de esta máquina. A pesar de ser un dispositivo increíblemente versátil, no es tan potente como nuestros ordenadores de escritorio, por lo que lo ideal siempre es prescindir de todo aquello que es superfluo. Para los proyectos que hemos sugerido antes eso significa que vamos a prescindir del entorno gráfico porque no lo vamos a necesitar para nada (no vamos a necesitar ni siquiera conectar la raspberry a un monitor). Ésto aumentará sustancialmente el rendimiento de nuestro dispostivo, pero también implicará que tendremos que comunicarnos con nuestro dispositivo introduciendo comandos de texto al estilo del antiguo MS-DOS. Pero que nadie se me asuste: ésta es la forma habitual de usar un servidor Linux aún hoy en día. Además tanto en éste como en los sucesivos tutoriales vamos a suponer que estáis dando vuestros primeros pasos en un linux sin entorno gráfico por lo que intentaré que todas las explicaciones sean muy gráficas y fáciles de seguir e intentaré expresarme de forma que me pueda entender cualquiera que no haya tocado un entorno como este en su vida.

En este tutorial en concreto vamos a aprender a instalar el sistema operativo que usaremos de servidor y a hacerle una configuración muy básica, y en posteriores tutoriales vamos a usar este recién instalado servidor para un montón de cosas útiles en cualquier hogar.

1) Hardware que vamos a necesitar:

Antes de empezar a instalar nada debemos revisar este «checklist» para comprobar que tenemos todo el hardware necesario para los proyectos que enseñaremos en el blog. Necesitaremos:

  • Un ordenador (ya sea Linux, Windows o Mac) para poder configurar el dispositivo.
  • Una placa Raspberry pi (para los proyectos que crearemos, nos servirá cualquiera desde la Raspberry Pi 2 en adelante. Incluso una Zero nos serviría). Una sencilla búsqueda en Amazon os muestra algunas opciones.
  • Una tarjeta de memoria Micro SD que hará las veces de disco duro. A lo mejor tenéis alguna sin usar por casa, pero si no es así podéis comprarla en cualquier centro comercial o buscarla en internet. Para los proyectos que vamos a publicar, lo ideal sería que fuera de más de 32 GB. Este enlace os da algunas opciones.
  • Un transformador para hacerle llegar la electricidad. Necesitaríamos uno con entrada Mini-USB de un mínimo de 2,5 amperios (a lo mejor tenéis alguno de un móvil o una tablet que os puede servir, y así no tenéis que comprarlo). En este enlace tenéis también algunas opciones.
  • Una caja para poner dentro la raspberry como las que hay en este enlace. Para los proyectos que vamos a realizar no váis a necesitar en ningún momento una caja ventilada ni disipadores (Aunque vamos a usar la raspberry para muchas cosas a la vez, no se va a calentar de forma excesiva), por lo que os recomiendo la caja oficial. Yo simplemente he agujereado la mía con un pequeño taladro para asegurarme una ventilación extra, pero no es algo necesario y no os recomiendo que lo hagáis si no tenéis mucha experiencia en bricolaje.

(por cierto… esos últimos cuatro puntos se pueden sustituir por un «kit de arranque» como los que hay en este enlace).

  • Un cable de red para conectarla a nuestro router. Esto también se podría evitar conectándola mediante WiFi, pero en cuestión de servidores siempre es preferible la conexión por cable.
  • En algunos proyectos necesitaremos también un pen drive grande (de más de 32 GB) o un disco duro conectable por usb.

Y no… no vamos a necesitar ningún monitor o TV a la que conectar la raspberry, ni siquiera durante la instalación. Vamos a controlarla por completo desde nuestro ordenador. En el día a día, va a estar conectada únicamente a la corriente (en el caso de que la conectéis por wifi).

En cuanto os aseguréis de que tenéis todo, podemos empezar la parte divertida.

2) Descarga del sistema operativo.

Como sistema operativo para hacer funcionar nuestro servidor vamos a usar Raspbian, pero para tener la raspberry lo más fluída posible desde el principio, vamos a usar una versión que sólo trae lo mínimo imprescindible para que el sistema operativo pueda funcionar y que además no tiene ni siquiera entorno gráfico (va a tocar configurar todo a golpe de teclado). Así no tenemos el sistema cargado con paquetes que no vamos a usar nunca o que nos hacen más lento nuestro dispositivo.

Por tanto vamos a ir a la página de descargas de Raspbian (En este enlace) y vamos a descargar «Raspbian Lite» (en el momento de escribir este tutorial está disponible la versión «Stretch», pero cualquier versión superior debería poder descargarse de la misma forma). Esta versión tiene dos enlaces de descarga. Escogemos el archivo .ZIP

Recordad: Instalaremos Debian Lite. Las otras versiones tienen más de lo que vamos a necesitar y queremos un sistema ligero.

El archivo ZIP que acabamos de descargar no hace falta descomprimirlo. Con esto ya tendremos el sistema operativo descargado y listo para poner en la tarjeta de memoria.

3) Formatear la tarjeta Micro SD

Ahora vamos a preparar la tarjeta para descomprimir el sistema operativo. Debemos tenerla formateada en FAT32. Desde linux podéis hacerlo con GParted, pero Windows y Mac Os son famosos por hacer «cosas raras» con los formateos, así que vamos a formatearla de forma que no tengamos problema con ella. Y para eso vamos a usar el programa «SD Memory Card Formateer» (Programa gratuíto y completo para Windows y Mac). Podéis descargarlo desde este enlace, más o menos a mitad de altura de la web. Elegid la descarga correspondiente a vuestro sistema operativo.

En cuanto tengáis el programa instalado, el manejo es tremendamente sencillo. Simplemente seleccionáis la tarjeta SD en el recuadro desplegable superior (revisar esta opción varias veces. Si os equivocáis podéis estropear alguna unidad que tengáis conectada al ordenador), pulsáis la opción «Overwrite Format», le dáis un nombre a la tarjeta y luego pulsáis «Format». Con eso os aseguráis que la tarjeta SD quede correctamente formateada.

SD Card Formatter

4) Grabar el sistema operativo en la tarjeta Micro SD

Etcher

Una vez que hemos formateado nuestra unidad Micro SD (recordad que para nuestra Raspberry Pi es como su disco duro), ahora tenemos que grabar el sistema operativo en ella. Para ello vamos a usar el programa balenaEtcher que podéis descargar desde este enlace (tiene versiones para Mac, Windows y Linux). La apariencia de este programa no puede ser más sencilla.

Etcher

En la opción de la izquierda tenéis que seleccionar la imagen que habéis descargado en el punto 2 del tutorial. En la opción del medio tenéis que seleccionar la tarjeta SD (por favor, tened mucho cuidado, no vayáis a seleccionar una unidad diferente a la de la tarjeta y la vayáis a estropear). Y por último seleccionamos la opción «Flash». Esperamos unos minutos y ya tenemos nuestra unidad casi lista para usar en la raspberry.

Y digo casi porque vamos a hacer un pequeño cambio en la tarjeta. Quitadla de vuestro lector de tarjetas, volvedla a insertar y mirad el contenido. Os aparecerá una lista de archivos. Tenemos que añadir un archivo completamente vacío llamado «ssh». Así… sin extensión ni nada, como en esta imagen. Fijaos que el archivo ocupa cero bytes.

Podemos crear el archivo con alguna aplicación para editar texto plano, como el «bloc de notas» o «komodo Edit». Creamos un archivo que no tenga nada dentro, lo guardamos con el nombre «ssh.txt» y luego le cambiamos el nombre para quitar el «.txt» y dejar sólo el «ssh».

Ahora sí. Ya tenemos el «disco duro» de nuestra raspberry preparado. Lo insertamos en la raspberry, conectamos el cable de datos (RJ45) a la raspberry y al router y la enchufamos al transformador eléctrico para que se encienda.

5) Primera conexión con la raspberry

Vale… suponemos que la raspberry se ha encendido correctamente, pero… ¿cómo lo sabemos? ¿Cómo podemos controlarla?

Para averiguarlo primero necesitamos saber qué dirección IP tiene. El router seguramente le ha asignado una automáticamente, pero no sabemos cuál es. Si el interfaz de vuestro router lo permite, tal vez podáis ver desde ahí qué dispositivos tiene conectados, pero para asegurarnos vamos a instalar en nuestro ordenador un programa que se llama «Angry IP Scanner» y que podéis descargar desde este enlace.

Hay que ejecutarlo, pulsar las opciones para activar la columna «MAC del fabricante», y luego pulsar en «comenzar». El programa os mostrará todos los dispositivos que están conectados al router.

Tenemos que fijarnos en el dispositivo cuya MAC del fabricante muestre «Raspbery Pi Foundation». La dirección ip del dispositivo es la que aparece en la columna «IP» (en el ejemplo de la imagen sería 10.0.1.11, pero podría ser algo del tipo 192.168.1.XXX). Perfecto: ya sabemos la IP a la que nos tenemos que conectar.

Para «hablar» con nuestra raspbery debemos conectarnos por medio de un protocolo llamado SSH. Desgraciadamente Windows no dispone de ninguna herramienta para conectarnos por SSH, así que si usamos Windows debemos descargar un programa llamado «Putty» desde este enlace.

En «Host name or IP Address» debemos poner la dirección ip y luego pulsar en «open».

Si en lugar de usar Windows usamos linux o Mac OS las cosas son más sencillas, ya que estos sistemas operativos disponen de una aplicación llamada «terminal». Desde estos sistemas sólo tendríamos que abrir el terminal y escribir

ssh pi@10.0.1.11

Evidentemente esa ip (10.0.1.11) sería la que nos ha proporcionado el Angry IP Scanner y vosotros tendréis una distinta (tal y cómo os dije… puede que sea del tipo 192.168.0.XXX. Poned la que corresponda).

En todo caso al conectaros, lo primero que se os preguntará es si confiáis en el equipo al que os estáis conectando. En caso de usar Putty, la advertencia será similar a ésta y debéis pulsar «sí».

Si usáis un terminal, debéis escribir «yes» y pulsar «enter». Si os habéis conectado mediante Putty os pedirá el nombre de usuario con el que os váis a conectar, que es este:

pi

Luego, tanto si os conectáis por putty como por terminal, os pedirá una contraseña y deberéis poner ésta, que es la contraseña por defecto (no os preocupéis, que la cambiaremos dentro de un momento):

raspberry

Os aparecerá información sobre la raspberry y listo: Por fin estáis conectados a vuestro recién instalado servidor, que estará impaciente por recibir vuestras órdenes.

6) Configuraciones básicas después de la instalación

Una vez que hayamos terminado la instalación es buen momento para definir algunos parámetros del aparato. Para ello introducimos este comando en el terminal.

sudo raspi-config

Esto nos abre un sencillo menú de opciones en el que podemos navegar con el cursor y en el que podremos empezar a definir cosas.

Lo primero que nos interesa es cambiar inmediatamente la contraseña del usuario «pi» por otra que no sea la contraseña por defecto, ya que si no tendríamos un agujero de seguridad importante. Así que entrad en la primera opción y cambiad la contraseña (tendréis que poner la nueva dos veces, y por supuesto teneis que acordaos de ella para poder seguir entrando en el sistema).

Lo segundo que nos puede interesar hacer es entrar en la segunda opción, siempre y cuando queramos configurar una red wifi. Dentro de ella escogeríamos la opción «N2″…

y luego simplemente escribiríamos el nombre de nuestra red wifi (SSID) y la contraseña de la misma.

La cuarta opción del menú principal también es importante, porque aquí definiríamos nuestra localización (para definir el huso horario) y el mapeo del teclado (por si alguna vez conectamos un teclado físico a la raspberry, para que las teclas estén en el idioma correcto). Para los españoles las opciones correctas son es_ES y UTF-8.

Es importante que entremos en la opción 7 para «expandir» el espacio asignado en la tarjeta de memoria. Por defecto, el sistema se instala en una partición de poco menos de 2 GB. Si queremos usar todo el espacio disponible en la tarjeta de memoria, dentro de esta opción 7 debemos pulsar en la opción A1.

Sin salir de las opciones avanzadas, también nos interesa ir a la opción A3. Aquí definimos cuánta memoria va a usar la «tarjeta gráfica» o GPU. Como no vamos a usar gráficos para nada, vamos a poner que use sólo 1 MB (ponemos un «1»). De esta forma vamos a dejar que la memoria esté disponible para otros temas que nos interesan más.

Vamos a ir también en el menú principal a la opción 8 para actualizar esta aplicación (siempre está bien correr aplicaciones actualizadas) y con esto dejamos esta configuración inicial lista, a falta de un par de comandos más.

7) Configurar una IP fija.

Si recordáis, en el punto 5 hemos tenido que buscar qué dirección IP tenía nuestra raspberry con un programa externo. Es probable que cada vez que la encendamos, la raspberry tenga una IP diferente según le vaya asignando nuestro router, por lo que vamos a ponerle una fija para evitar este y otros problemas. Nos interesa poner una ip con un número final bastante alto para asegurarnos de que nuestro router no intente ponerle esa IP a algún otro aparato de nuestra red. En nuestro ejemplo habíamos visto que el router le había dado la ip 11 a la raspberry (10.0.1.11), así que nosotros le vamos a dar la 222 (10.0.1.222). Podríamos poner cualquier número elevado entre el que nos asignó el router y el 255, pero no me interesa poner un número demasiado alto, no sea que el router use esas ip’s para algo, así que algo como 233, 248 o similar estaría bien. Evidentemente, adaptaos al rango de ip’s que os dé el router (por ejemplo, en muchos casos habría que poner algo como 192.168.1.222).

Para ello vamos a usar estos comandos.

cd /etc

Este comando nos llevará a la carpeta «etc» de la raspberry (el comando «cd» significa «vete a este directorio»). Esta carpeta contiene las configuraciones de muchos de los programas que están instalados en ella. Luego pondremos el siguiente comando:

sudo nano dhcpcd.conf

Esta sentencia está compuesta de varias órdenes.

  • Sudo: Nos dice que ejecute lo que viene después como «superusuario» (Como administrador, para los que estéis habituados a windows).
  • nano: Se trata de un programa que nos permite editar texto. es muy muy básico, pero es con el que nos vamos a mover para escribir configuraciones.
  • dhcpcd.conf: Es el archivo que vamos a editar.

Al final, nos quedaría algo tal que así.

Aunque en linux podríamos «acortar» esos dos comandos en uno sólo (poniendo la ruta entera al final de la sentencia). Hacerlo de esta forma también nos serviría

sudo nano /etc/dhcpcd.conf

Ahora podemos ver el contenido de ese archivo con este «rústico» editor de textos. Nos vamos a la última línea del texto (al final). Si nuestra Raspberry se conecta a internet por cable añadimos lo siguiente debajo de todo, después de la última línea:

interface eth0
static ip_address=10.0.1.222/24  #Dirección IP deseada
static routers=10.0.1.1       #IP de nuestro router
static domain_name_servers= 1.1.1.1. 8.8.8.8

Si nos estamos conectando mediante wifi, entonces lo que debemos poner es esto.

interface wlan0
static ip_address=10.0.1.222/24  #Dirección IP deseada
static routers=10.0.1.1       #IP de nuestro router
static domain_name_servers= 1.1.1.1. 8.8.8.8

Yo por ejemplo, en la raspberry que estoy usando para realizar el tutorial, he dejado esta configuración.

Una vez que hayamos puesto esos parámetros pulsamos Ctrl + O (a la vez la tecla control y la letra o) para guardar cambios y le decimos que sobreescriba lo que hay. Una vez hecho esto, salimos del editor pulsando Ctrl + X. Con esto ya tenemos ip fija asignada en la raspberry.

8) Actualizar los paquetes de la raspberry.

Esto es algo que debemos acostumbrarnos a hacer de vez en cuando, que es actualizar todo el software de la raspberry a las últimas versiones de los paquetes para evitar problemas de seguridad. Simplemente hay que teclear dos comandos en el terminal.

El primero hace una búsqueda de actualizaciones en los servidores de los desarrolladores del software. Es el siguiente:

sudo apt-get update

Lo que os aparece en pantalla después de ejecutarlo será algo similar a esto:

El otro, que debe ejecutarse después de haber tecleado el primero, realiza las actualizaciones de los paquetes de software. Es el siguiente:

sudo apt-get dist-upgrade

Y si hay actualizaciones debería mostraros algo similar a esto.

Nos pregunta si estamos dispuestos a actualizar. Pulsamos «y» y enter y empezará a actualizar todos los paquetes del sistema. Tardará un buen rato, pero en cuanto acabe nuestra raspberry estará lista para meterle caña.

En el próximo tutorial veremos cómo instalar pi-hole en nuestra recién instalada raspberry, que se trata de un sistema para quitar toda la publicidad de todos los dispositivos que tenemos en casa sin tener que modificar ni instalar nada en ellos.

Si tenéis alguna duda o queréis hacer alguna colaboración o corrección en el artículo, os animo a dejar un comentario.

Share

Para qué sirve una raspberry: Usos que he dado a las mías.

El poder disponer hoy en día de mini-ordenadores como las Raspberrys, de bajo consumo y a un precio ridículo, es de lo mejor que le puede pasar a cualquier aficionado a la informática. Vale… hay que dedicarle algo de tiempo a aprender el uso de estas máquinas, pero para cualquier persona acostumbrada a cacharrear con aparatos no debería ser un gran quebradero de cabeza.

En este artículo os voy a contar el uso que le doy yo a mis dos Raspberrys, por si alguno de vosotros se atreve a realizar algo similar, o está pensando cómo aprovechar alguna que tenga perdida por un cajón. No se trata de un tutorial ni mucho menos (si interesa publicaré algún tutorial de cómo hacer todo esto en alguna otra entrada), sinó una guía para poder exprimir estos aparatos dándoles varios usos simultáneamente. Y ya os aviso que cada una de mis raspberrys hacen en mi casa un montón de cosas a la vez, por lo que vosotros también podéis hacer que la misma raspberry realice simultáneamente varios de estos puntos.

1) Servidor web: Raspbian sin entorno gráfico con  apache-php-mysql

Como os he dicho antes las Raspberrys destacan por su bajísimo consumo energético. Por tanto si tenemos una raspberry encendida las 24 horas del día todos los días de la semana apenas se notará en el consumo eléctrico. Esto la hace ideal para montarse un pequeño servidor de páginas web, siempre y cuando no vayáis a tener muchísimo tráfico, pero… hablemos en serio: ¿De verdad que pretendes que me crea que tienes cientos de miles de visitas al día en tu blog personal? Si es así a lo mejor tienes que plantearte otra cosa, pero para páginas medianas con un rango de visitas de unas pocas miles al día una raspberry va más que sobrada. De hecho este humilde blog está colgado en una raspberry (sí… la página que estás viendo te la acaba de enviar una raspberry que está sobre mi escritorio). Y por supuesto podéis tener colgadas a la vez varias páginas con dominios diferentes en la misma raspberry. En mi caso, en la misma raspberry tengo tambien colgada una pequeña web curricular: https://matas.com.es

En todo caso os doy unos consejos si os animáis a montar vuestro propio servidor web:

  • No lo montéis sobre la tarjeta SD de la raspberry. Va a haber tráfico leyendo y escribiendo en la tarjeta todo el rato, y eso va a estropearla, no lo dudes. Yo lo he aprendido a la cuarta tarjeta estropeada. Usad un disco duro conectado por USB como disco principal.
  • Actualizaciones frecuentes: este será un equipo expuesto a internet, así que programad actualizaciones para que se realicen con una frecuencia suficiente.
  • Usad la versión 7 de PHP.  El renidimiento que consigue lo váis a agradecer.
  • Si no tenéis un dominio comprado y lo que queréis es hacer un blog o proyecto personal en el que os queréis gastar el mínimo dinero posible, podéis tener un subdominio gratuíto en http://www.dnsexit.com (con una herramienta para actualizar la ip, por si no tienes ip fija). Si queréis un dominio de verdad (de pago), por tres euros al año podéis tener un dominio .com.es en dondominio, y además este hosting te proporciona también una herramienta para actualizar la IP variable de tu conexión a internet, de forma que el dominio siempre apunte a tu ip aunque ésta varíe.
  • ¿Apache o nginx? ¿MySQL o MaríaDB? Pues eso ya es cuestión de gustos. Yo siempre he trabajado con Apache y MySQL y la verdad es que la típica configuración LAMP funciona bien en una raspberry, aunque es de suponer que nginx haga la carga algo más rápida.
  • ¿Y el certificado para las páginas con https? Tampoco hay problema. Let’s Encrypt nos proporciona un certificado válido durante 3 meses y nos proporciona un script para que se autoactualice antes de vencer, así que podremos tener un certificado válido para toda la vida y gratis.

2) Servidor de correo: iRedMail

Ya que tenemos un servidor web… ¿Por qué no hacer que la raspberry sea nuestro propio servidor de correo electrónico y no tener que depender de gmail? Podremos tener todas las direcciones de correo que queramos dentro de nuestro propio dominio y con espacio “ilimitado” (más bien, limitado únicamente por la capacidad de almacenamiento de nuestro disco duro). Y además disfrutaremos de una navegación más rápida por webmail que con la horrorosa interfaz nueva que le han puesto a gmail. Si tenéis dudas acerca de si el servidor web y el de correo funcionarán lo suficientemente rápido en la misma raspberry, deciros que la raspberry que hace funcionar este blog también hace funcionar un servidor de correo, por lo que os confirmo que ni se despeina.

Configurar un servidor de correo se puede complicar un poco más que configurar un servidor web. Si no os queréis complicar en la instalación, podéis usar iRedMail. Es poco más que descargar e instalar. Os instalará todo lo relativo al servidor de correo, además de un sistema antispam, antivirus, Roundcube para ver el correo por webmail (por supuesto lo podemos usar también a través de pop, smtp e imap) y un panel de control para gestionar vuestras cuentas de forma más sencilla. El día que porten “mail-in-a-box” a procesadores ARM podremos hacer una fiesta (para mi el servidor de correo gratuíto más sencillo de instalar), pero como sólo funciona en procesadores X86, la solución más sencilla hoy por hoy para instalar un servidor de correo en una Raspberry es iRedMail sin ninguna duda.

Por cierto… supongo que no tenéis ip fija en vuestra casa. Si instaláis iRedMail e intentais enviar correos mediante una dirección IP dinámica, el correo va a quedar bloqueado en destino (por políticas anti-spam que suelen tener los servidores de correo). Ese problema es solventable normalmente realizando un relay al servidor de correo saliente de vuestro proveedor de internet (configuramos el servidor de correo saliente nuestro para que los mails los envíe por el servidor de nuestro proveedor de internet). Yo los envío por medio del servidor de mundo-r (que es mi proveedor de internet) y sin problemas desde hace un año. El correo que envío no se detecta nunca como SPAM y siempre llega a destino. Y por supuesto el correo entrante también llega puntual. Todo ventajas.

3) Servidor de archivos en la nube: Nextcloud

Tal vez tengáis problemas de espacio en vuestras cuentas de Dropbox, Google Drive, iCloud o similares y no queráis haceros una cuenta de pago en ninguno de estos servicios. O tal vez queráis tener una nube compartida entre varios compañeros de clase, trabajo o amigos con la que poder intercambiar ficheros al instante. O simplemente no queréis que lo que subáis a una de estas nubes lo puedan leer la NSA o el FBI y ser completamente propietarios de vuestros propios datos. En cualquiera de estos casos Nextcloud es una solución ideal. Tendréis una nube completa al estilo de Dropbox pero a lo grande, con multitud de opciones de compartición y trabajo colaborativo y con tanto espacio como espacio en disco dispongáis (si le enchufáis un disco grande a la Raspberry todo ese espacio será vuestro para toda la vida sin pagos anuales ni historias raras). Si habéis hecho el punto 1 ya tenéis medio sistema montado, porque esto puede usarse también en la misma Raspberry en la que se montaron las dos primeras ideas. Igualmente os digo que la Raspberry que carga este blog, tiene montado un servidor de Nextcloud y va perfecto. Unas cuantas notas sobre este sistema:

  • Si lo que queréis es usar únicamente Nextcloud en la Raspberry, existe una distribución de Linux llamada Nextcloud Pi con todo preinstalado para que casi cualquier “manazas” pueda hacerla funcionar sin demasiadas complicaciones. No tendréis servidor de correo, pero toda la configuración para instalar NextCloud ya viene hecha por defecto, certificados de seguridad incluídos.
  • Nextcloud es un sistema modular, por lo que puedes instalarle dentro aplicaciones que hagan otras cosas además de gestionar tus archivos. Por ejemplo, si instalas la aplicación de contactos y la de calendario, ya puedes prescindir de esos servicios en la nube de tu proveedor (Apple, Google o quién sea). Además tienes multitud de aplicaciones que puedes instalar para todo tipo de necesidades, y todas gratis.

Estas tres primeras opciones, como os he dicho, las tengo montadas a la vez en la Raspberry que tengo siempre conectada en mi escritorio. Podéis ver estadísticas de la misma (por si tenéis dudas de cómo se puede comportar) en esta página.

Por cierto… es importante que una Raspberry que esté funcionando todo el día esté bien ventilada. Os recomiendo ponerle una caja con ventilador incorporado de este estilo.

Bueno… de este estilo pero con menos polvo, claro

Por cierto… el ventilador que le puse hacía un poco de ruido de más, así que tuve que añadirle un potenciómetro para bajarle las revoluciones más o menos a la mitad. En todo caso si os fijáis en las estadísticas (desplegad en “graph” y poned “temperature”), la velocidad del ventilador es más que suficiente para que rara vez supere los 40 grados (que es una temperatura muy baja para una raspberry).

Todo lo que vimos hasta ahora está instalado bajo Raspbian en una única Raspberry Pi. De hecho esa raspberry no está conectada a ningún monitor ni a ningún teclado. Simplemente la tengo enchufada a la corriente (mediante un cargador de móvil), al router mediante un cable RJ45 y al disco duro externo.

Pero en mi casa tengo otra raspberry dedicada al entretenimiento, que se trata de esta:

Raspberry Pi 2 con cable HDMI, adaptador de corriente, mando para juegos inalámbrico (comprado en el chino de mi barrio), teclado con trackpad inalámbrico y adaptador wifi

Esa raspberry la conecto a la TV y en ella tengo varios sistemas operativos instalados a la vez en la misma tarjeta SD. Al encenderla elijo qué sistema arranca mediante este menú desplegable.

Vamos a ver cada uno de los sistemas operativos que arranca ese menú y qué consigo hacer con cada uno de ellos.

4) Ordenador para la televisión principal de la vivienda: Raspbian normal

Con una tarjeta con el sistema Raspbian podemos usar la raspberry como si fuera un ordenador normal que corre linux. Vale… no es un equipo potente, pero nos va a permitir navegar sin problemas y ejecutar algún que otro programa, como el paquete ofimático libreoffice. Esto es muy del interés de cualquier estudiante. Por ejemplo si se estropea el ordeandor de tu casa puedes resolver la papeleta usando la raspberry mientras se arregla el ordenador principal.

5) Cliente multimedia de Plex: RasPlex

Otra opción es instalar en la tarjeta el sistema operativo “LibreElec“. Es un sistema que nos permite arrancar una versión de Kodi, que se trata de otro reproductor multimedia muy famoso en entornos windows. Si bien Plex tiene un interface limpio y cuidado y nos permite reproducir de forma elegante contenido almacenado en otro ordenador, el punto fuerte de kodi es la disponibilidad de numerosos plugins que nos permitirán reproducir contenido de diversas fuentes (contenido en la SD de la raspberry o en una unidad usb, stream de cadenas de televisión, páginas web y mucho más). Vale… no es tan “bonito” como plex, pero tiene muchos otros puntos fuertes.

7) Consola de videojuegos antiguos: Recalbox.

Si ya peinas alguna cana seguro que te acuerdas de las consolas de videojuegos de los 80 y 90. Recalbox es un sistema operativo que te permitirá jugar a muchísimos juegos de consolas “Retro”, como la SuperNintendo o la Sega Megadrive. También te permite emular microordenadores como los MSX y jugar a sus juegos. Existe otro sistema operativo que permite hacer algo muy similar llamado “Retropie“. Elegir uno u otro es cuestion de gustos. A mi me da la impresión de que los juegos corren mejor bajo Recalbox, pero ya digo… para gustos colores. En todo caso es un lujo que en algo tan pequeño y supuestamente con tan poca potencia se pueda disfrutar de nuevo con esos juegos.

Así que como véis, en la segunda raspberry tengo instalados a la vez cuatro sistemas operativos: Raspbian, LibreElec, Plex y Recalbox. Cuando la arranco debo elegir cuál quiero que se ejecute.

Hay un montón de usos a mayores para aprovechar estos aparatos. Uno que tengo ganas de probar y que aún no lo he hecho por falta de tiempo es “pi hole“, que conectando una raspberry al router de casa te permite filtrar toda la publicidad de internet en todos los dispositivos de la casa a la vez. También tengo muchas ganas de cacharrear con RasPBX (Algo así como una centralita para hacer llamadas a través de voz por IP). En todo caso hay multitud de usos diferentes para estos aparatos. ¿Qué has hecho tú con tu raspberry hasta ahora? Déjanoslo en los comentarios.

Share

© 2019 Flopy.es

Tema por Anders NorenArriba ↑


Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies