Flopy.es

Tutoriales, noticias y soluciones informáticas

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

Bloquea publicidad en tu móvil y accede a los dispositivos de tu hogar con PiVPN

Hemos visto en anteriores tutoriales cómo instalar un sistema operativo ligero a una raspberry y posteriormente cómo instalarle y configurarle Pi-Hole para eliminar la publicidad en nuestra red doméstica, todo explicado de forma que cualquier persona pueda montarlo en su casa. Ahora veremos cómo montar un servidor VPN en la misma raspberry para bloquear la publicidad cuando estemos fuera de casa (Sobre 3G o sobre una Wifi que no sea la nuestra) y que además nos permita acceder desde cualquier lado a los dispositivos de nuestro hogar.

1) Requisitos.

Para poder seguir este tutorial necesitamos que tengáis una Raspberry con Raspbian instalado. Si habéis seguido el tutorial para instalar Raspbian Lite que hemos publicado, entonces ya tenéis la base preparada.

Necesitamos también que el proveedor de internet os dé una dirección IP pública. No es necesario que tengáis una IP fija, pero sí una que sea públicamente accesible por internet. Está muy de moda que los proveedores de internet compartan una única dirección IP pública con varios clientes, y si tú eres uno de los afectados por esta práctica, este tutorial no te va a funcionar hasta que no os cambien a una IP pública sólo para vosotros. Con algunos proveedores (me viene a la cabeza Pepephone) esto se soluciona llamando a su servicio técnico y solicitando una dirección IP privada, pero no tengo nada claro que sea algo tan sencillo con algunos otros (y me viene a la cabeza Vodafone). Tendréis que averiguar qué tipo de conexión os da vuestro proveedor, y en caso de tener ip privada mirar si podéis realizar alguna gestión para que os den una IP pública.

Por cierto… si únicamente necesitáis un VPN para acceder remotamente a vuestros equipos, entonces podéis ir directamente al punto 2 del tutorial. Pero si además queréis quitar la publicidad en vuestros dispositivos móviles, entonces necesitamos que la Raspberry tenga instalado Pi-Hole. Hemos explicado cómo hacerlo en este tutorial.

2) Vamos a registrarnos en un servicio de DNS dinámico.

Supongamos que ya habéis comprobado que vuestra conexión disfruta de una IP accesible públicamente. Si tienes una conexión a internet doméstica, lo más probable es que la IP que te otorga tu ISP sea dinámica. Las direcciones IP fijas suponen un coste mayor en la conexión (tendrías que pagar más cada mes a tu ISP por disfrutar de una IP Fija) y suelen estar destinadas a usos empresariales.

El tener una IP dinámica tiene una gran desventaja, y es que cada vez que enciendes y apagas el router, tu dirección IP cambia. Desde fuera de nuestra casa necesitamos conectarnos a algo «fijo», puesto que si ha habido algún apagón momentáneo en nuestro hogar la IP pudo haber cambiado. Por poner un simil, es como si tienes que llamar a un amigo pero cada poco tiempo está cambiando de número de teléfono. Si no tienes algún servicio que te diga en cada momento qué número tiene, va a ser difícil contactar con él. Para resolver este problema están los servicios de DNS dinámico. Vamos a usar uno de ellos para que un programa en la raspberry esté diciéndole contínuamente a sus servidores cuál es nuestra IP en cada momento. De esta forma, este servicio nos permitirá tener una dirección web que apunta siempre a nuestra raspberry, aunque nuestra IP esté cambiando contínuamente.

¿Cuál usar? Pues hay varios y esto ya es cuestión de gustos, pero como tengo que centrarme en alguno vamos a usar DNS Exit, que suele funcionar bastante bien.

Primero nos registramos en el servicio en esta página, poniendo nuestros datos.

Una vez registrados, nos vamos a «Sign up services» en la columna de la izquierda.

Entre las opciones que hay, debajo de todo nos vamos a «free second level domains».

Y ahí completamos las distintas opciones. Ponemos un nombre de dominio (será algo del tipo «loquesea@linkpc.net»), la dirección ip nos viene ya cubierta (la que tenemos en este momento) y dejamos marcada la casilla de ip dinámica.

En el siguiente paso nos dice que se ha creado correctamente el dominio de segundo nivel. Debemos pulsar el botón de «Download Dynamic DNS Clients» para descargarnos un programa que nos permita actualizar ese nombre de dominio cada vez que cambie nuestra dirección IP.

En la pantalla que nos aparece, en la zona de «Linux/Unix/MacOSX» debemos pulsar con el botón derecho del ratón en el archivo que tiene la extensión «.tar.gz». Pulsamos en «copiar la ruta del enlace». Así tendremos la ruta del enlace en el portapapeles y la podremos pegar en otro sitio. Si queréis, pegad ese enlace en algún archivo de texto para tenerlo a mano y poder usarlo más adelante.

Ahora debemos acceder al terminal de nuestra raspberry (ya sea mediante Putty o usando el comando SSH desde otro terminal). Antes de empezar con la instalación del cliente de DNSExit vamos a hacer un ajuste (porque la versión actual del cliente tiene un pequeño fallo y si no hacemos esto obtendremos un error más adelante. Si hacemos este pequeño «apaño» nos va a ir todo bordado). Tenemos que ir a la ruta /etc y ahí crear un archivo llamado dnsexit.conf. Para ello teclearemos lo siguiente:

cd /etc
sudo nano dnsexit.conf

Vamos a dejar en archivo en blanco. Simplemente tecleamos «Control + O» para guardar cambios y salimos del programa pulsando «Control + X». Ahora vamos a darle permisos a ese archivo para que el programa de instalación pueda escribir en él, con este comando

sudo chmod 777 dnsexit.conf

Con estas dos cosas ya hemos dejado todo preparado para realizar la instalación. Vamos a irnos a la carpeta de nuestro usuario para empezar a realizar la instalación. Lo haremos con este comando.

cd /home/pi

hora vamos a teclear lo siguiente para, primero, crear la carpeta «exitdns» (la llamamos así para diferenciarla de una segunda carpeta que se creará dentro). El segundo comando es para situarnos dentro de esa ruta.

mkdir exitdns
cd exitdns

Ahora debemos poner «wget» y pegar la dirección que copiamos antes, con el enlace de descarga del programa que vamos a instalar. Quedará algo así.

wget http://downloads.dnsexit.com/ipUpdate-1.71.tar.gz

Una vez realizada la descarga, debemos descomprimir ese archivo con este comando.

tar xzvf ipUpdate-1.71.tar.gz

De forma que lo que tengamos en la pantalla debería ser algo similar a esto.

Nos metemos dentro de la carpeta que acabamos de descomprimir con este comando

cd dnsexit

Y antes de continuar nada vamos a escribir este comando para instalar unas librerías que necesita el programa para funcionar. Va a instalar bastantes cosas, así que no os asustéis.

sudo apt-get install libwww-perl

y vamos a hacer también un pequeño ajuste para que el programa funcione correctamente, introduciendo este comando:

export PERL5LIB=/home/pi/exitdns/dnsexit/

Ahora ya podemos lanzar el programa de instalación de DNSExit mediante este comando.

./setup.pl

Ese comando nos va a preguntar varias cosas:

  • Nuestro usuario de DNSExit (el usuario que hemos creado para logarnos en la página web de DNSExit).
  • La contraseña de ese usuario
  • El dominio que quieres que se actualice automáticamente (el sistema permite actualizar más de uno). Como sólo tenemos uno, seleccionamos la opción «0».
  • Los distintos hosts dentro del dominio. De nuevo volvemos a tener uno sólo, así que seleccionamos la opción «0».
  • Nos pregunta si queremos correr este programa como un demonio (lo equivalente a un servicio en Windows). Eso hará que el programa corra siempre en segundo plano actualizando la ip siempre que se cambie. Tecleamos «yes»
  • Nos pregunta la frecuencia de las actualizaciones. 10 Minutos entre actualizaciones es más que suficiente, así que ponemos «10».
  • Nos pregunta si queremos que este demonio se «autoarranque» cada vez que se reincie la Raspberry. Escribimos «yes».
  • Nos pregunta el directorio dónde va a instalar el script. Dejamos puesta la opción «0».

Y con esto queda lista esta parte. Ahora cada vez que cambie nuestra IP, en un intervalo de un máximo de 10 minutos el servicio de DNSExit se enterará y la direccion que hemos creado apuntará a la nueva IP.

3) Instalamos PiVPN en la Raspberry.

Al igual que con Pi-hole, la instalación de PiVPN es muy sencilla y sólo debemos responder a preguntas. Debemos acceder de nuevo al terminal de nuestra raspbery y teclear el siguiente comando:

curl -L https://install.pivpn.io | bash

Este comando nos empezará a abrir pantallas a las que hay que responder. Pimero un mensaje de bienvenida que aceptamos.

En la siguiente pantalla nos advierte de que para que esto funcione, necesita una IP estática. En el primer tutorial le hemos puesto una ip estática a nuestra raspberry, así que todo correcto

Ahora te preguntará si la ip de tu rapberry es estática. Dile que sí.

siguiente pantalla: Advertencia acerca de que puedes liarla si hay un conflicto de IP’s. Vamos a aceptar y esperar que no sea así.

Siguiente pantalla de advertencia: nos dice que en la pantalla que veremos en unos instantes debemos escoger un usuario del equipo en el que estamos instalando PiVPN para guardar las configuraciones. Tenemos sólo uno (pi), así que no va a haber mucha duda.

En esta pantalla seleccionamos el único usuario que tenemos. (¿Por qué no han unido esta pantalla y la anterior?)

Ahora nos recomienda activar actualizaciones desatendidas. Es algo que nos interesa mucho y que deberíamos haber activado ya al instalar la raspberry… pero como lo activa ya PiVPN prefiero que lo haga este programa de forma automática y nos ahorramos una configuración.

Activamos las actualizaciones que nos decían en el punto anterior dándole a «sí» (De nuevo ¿No podían unir estas dos pantallas?).

Ahora nos pide escoger un protocolo de comunicación. Dejamos el que está por defecto (UDP) y aceptamos.

Siguiente pantalla (y esta es importante). Nos pide un puerto para comunicarse. Dejamos el que nos pone por defecto y ANTES DE CONTINUAR LO APUNTAMOS EN ALGÚN SITIO. Cuando terminemos esta instalación hay que mapear ese puerto en el router hacia la IP de la raspberry, así que no lo olvidéis.

La siguiente pantalla es para confirmar la pantalla anterior. A ver… ¿Estamos tontos? ¡Esto está lleno de pantallas duplicadas!

Siguiente pantalla. Nos pregunta si vamos a aplicar una encriptación fuerte y nos advierte que si la usamos puede que alguna versión vieja del cliente no nos fucione. Sin problema. le decimos que sí.

Ahora nos pregunta por el tamaño del certificado. Como en muchas otras cosas, el tamaño no es lo importante. El certificado más básico es suficiente para securizar nuestra VPN (Es más que seguro para lo que se ve por ahí en algunas aplicaciones que usamos a diario). Así que lo dejamos en «256» y aceptamos.

¿Vamos a usar una ip pública para conectarnos desde fuera o una dirección web? Aquí aprovechamos lo que hicimos en el punto 2. Seleccionamos DNS.

En la siguiente pantalla ponemos la dirección que hemos creado en el punto 2

Ahora viene una pregunta crítica. ¿Qué proveedor de dns vamos a usar? Si no queremos unir Pi-hole con PiVPN (queremos usar la VPN sólo para acceder a nuestros dispositivos desde fuera), escoged alguno de la lista (os recomiendo CloudFlare). Si vamos a unirlos (para quitar la publicidad desde fuera de casa) entonces escoged la última opción (Custom). Vamos a hacer una cosa «rara» que os explicaré en el siguiente paso.

Nos pide el servidor de DNS que vamos a usar. En principio deberíamos poner la IP 10.8.0.1 (que sería lo correcto), pero vamos a poner una IP que nos falle. Os explicaré al final del apartado 6 por qué. Por el momento hacedme caso y poned la ip de nuestra Raspberry que en mi caso es la 10.0.1.222, pero tenéis que poner la vuestra.

Pantalla de confirmación. Sí… la ip está mal… pero a la vez está bien porque queremos obtener un fallo en un momento concreto. Luego sabréis por qué.

Ahora nos pregunta si activa una opción para usuarios avanzados. Le decimos que no.

Ahora nos da instrucciones de cómo usar PiVPN una vez instalado. Os las esplicaré luego. Aceptamos.

…y por fin llegamos al final de la instalación. Nos pregunta si reiniciamos el equipo ahora. Le decimos que sí.

Después del reinicio vamos a hacer una comprobación rutinaria. Nos conectamos de nuevo por SSH a la consola de nuestra Raspberry y tecleamos el siguiente comando:

sudo service openvpn status

El resultado nos dirá si PiVPN está funcionando. Si es así, obtendremos algo similar a esto.

Fijaos que en verde nos pone que el servicio está activo y en la última línea vemos que el servicio está iniciado. Así que todo está bien.

4) Mapeamos el puerto en el router.

¿Os acordáis que durante la instalación os dije que debíais anotar el puerto en el que funcionaría PiVPN? Pues ahora es el momento ideal para mapear ese puerto en nuestro router. Tenemos que decirle al router con el que nos conectamos a internet que cualquier petición que venga desde fuera por el puerto 1194 debe dirigirla a la ip de nuestra Raspberry. ¿Cómo? Pues cada router es un mundo y tiene una interfaz distinta. Lo más normal es que tengáis que entrar desde el navegador de internet a la ip del router (192.168.0.1 o 192.168.1.1) y entrando con un usuario y contraseña tengáis alguna opción dónde cambiarlo. En todo caso os voy a explicar cómo tengo que hacerlo yo en mi modelo de router (Time Capsule de Apple), pero vosotros debéis mirar cómo se cambia esa configuración en vuestro modelo de router, porque salvo que sea un router de Apple, vais a tener que hacerlo de forma distinta.

Yo tengo que ir al interface de administración del router e ir al apartado «red». Allí, en ajustes de puerto debo añadir un nuevo puerto

En «Descripción» pongo algo del estilo «Raspberry PiVPN». En los puertos «UDP» pongo el puerto 1194, los puertos TCP los dejo vacíos y en «Dirección IP privada» pongo la ip de nuestra Raspberry.

Una vez hecho esto, acepto todos los cambios, el router se reinicia y listo: puerto mapeado y un problema menos.

5) Creamos un usuario para acceder desde fuera.

Vamos a crear uno (o varios) usuarios con los que podremos conectarnos a nuestra Raspberry. En el terminal tecleamos lo siguiente:

pivpn add

Ahora cubrimos los siguientes datos (y los apuntamos, porque los necesitaremos luego).

  • Nombre del cliente: El nombre de usuario que vamos a crear. Yo voy a crear un usuario que se llama «darthvader», pero vosotros poned el usuario que queráis.
  • Días que va a durar el certificado: ponemos 3650 (10 años)
  • Contraseña: Nos la va a preguntar dos veces. Intentad poner una contraseña segura, por favor. Es importante usar contraseñas seguras y que no habéis usado en ningún otro sitio.

Y listo. Nos generará un fichero llamado «usuario.ovpn» (usuario es vuestro nombre de usuario. En mi caso me crea «darthvader.ovpn). Con este método creamos tantos usuarios como necesitemos, y de hecho lo ideal es crear un usuario diferente para cada dispositivo que se vaya a conectar a la VPN. Una vez creado el usuario el terminal debería ser algo similar a esto:

Ahora debemos mover ese archivo a algún sitio en el que podamos cogerlo, porque lo necesitamos llevar al dispositivo en el que queramos conectarnos. Después de darle muchas vueltas, voy a sugeriros un método para ello que no es el más «elegante», pero sí el más sencillo.

Una opción sería crear una carpeta compartida en la raspberry para acceder a ella desde el ordenador (Eso lo haremos cuando expliquemos cómo instalar aMule en esta misma raspberry, pero ahora no quiero complicaros más el tutorial). Incluso podríamos copiar el archivo en la carpeta dónde se almacena el interface de pi-hole (su página web) y cogerlo accediendo a través del navegador. Pero en un intento por simplificar las cosas voy a sugeriros otro método «poco convencional» pero que va a ser muy sencillo de realizar y con el que no vamos a necesitar instalar ni configurar nada a mayores.

El último mensaje de la raspberry era que el archivo «darthvader.ovpn» estaba en la carpeta /home/pi/ovpns. Pues vámonos a esa carpeta con este comando.

cd /home/pi/ovpns

Lo que haremos será copiar ese fichero en la carpeta /boot (bueno… realmente no es una carpeta, sinó una partición separada). Ahí se pueden almacenar muy pocas cosas porque es una partición pequeñita, pero ese archivo ocupa muy muy poco, así que no habrá problema alguno con el espacio que ocupa. Lo copiamos con este comando.

 sudo cp darthvader.ovpn /boot/

Evidentemente, sustituimos el nombre del archivo por el de tu usuario (Espero que no seas tan friki como para tener de nombre de usuario a Darth Vader).

Vale… ya tenemos ese archivo en /boot. ¿Y ahora? Pues simplemente apagamos la raspberry. Para apagarla de forma segura usaremos este comando.

sudo shutdown now

Una vez introducido y después de pulsar «enter», vamos a esperar unos segundos hasta que veamos que en la raspberry sólo hay una luz fija roja (no hay actividad de disco). Entonces le quitamos el cable de corriente, le quitamos la tarjeta y la introducimos en nuestro ordenador, y veremos que podemos acceder a la partición «/boot» sin problemas (está formateada en fat32, por lo que va a poder leerla cualquier equipo). Movemos el archivo a nuestro escritorio (lo movemos, para que quede borrado de la partición «/boot» y expulsamos correctamente la tarjeta del ordenador. Volvemos a poner la tarjeta en la Raspberry y le conectamos de nuevo el cable de corriente.

6) Instalamos el usuario que hemos creado en el cliente VPN de nuestro dispositivo.

Ya tenemos el archivo de configuración en nuestro ordenador. Ahora necesitamos instalar un programa en nuestro dispositivo para poder conectarnos a nuestra recién creada VPN. Estos serán los programas que necesitamos para los distintos dispositivos que podemos tener:

En cualquiera de estas aplicaciones debemos importar el archivo que hemos generado y que ya tenemos en el ordenador de escritorio, pero os vuelvo a advertir de que no funcionará a la primera debido a una configuración que hemos hecho mal a posta en el paso 3. Os explicaré como corregirlo en el paso 7, pero en todo caso os explico cómo importar el archivo en cada aplicación.

En windows, una vez instalado OpenVPN Client, pulsamos con el botón derecho a su icono en la barra de herramientas, y seleccionamos la opción de «importar».

Importamos el archivo, ponemos la contraseña y marcamos la casilla para que la guarde y no nos la vuelva a pedir. La próxima vez que queramos conectar, desplegamos de nuevo el menú del icono de OpenVPN Client, conectamos con nuestro usuario y nos saldrá la confirmación de que ya estamos conectados.

En un Mac con Tunnelblick instalado, para añadir la configuración simplemente debemos hacer doble click en el archivo con la extensión «.ovpn» y nos saldrá una pantalla similar a ésta. Dependiendo de si queremos que nuestro VPN lo usen todos los usuarios del equipo o sólo nuestro usuario, le damos a «Todos los usuarios» o a «Sólo yo».

Luego nos preguntará por la contraseña de administrador del equipo. La ponemos e inmediatamente nos saldrá esta notificación.

Ahora para conectarnos sólo habría que desplegar el menú de Tunnelblick y pulsar en nuestro usuario de VPN.

En Android, iOS y iPadOS el procedimiento es casi idéntico. Primero debéis enviar el archivo al teléfono (por telegram, correo electrónico, alguna nube como nextcloud, google drive o dropbox…). Una vez que tengáis el archivo localizado en el teléfono tenéis que abrirlo en OpenVPN Connect.

Por ejemplo, en iOS debemos pulsar sobre el archivo y nos aparecerá una opción similar a esta, en la que debemos pulsar en «Copiar en OpenVPN»

Así se abrirá el archivo en el programa adecuado. Nos preguntará si añade ese perfil. Le decimos que lo añada.

Al añadirlo nos pregunta si guarda la clave privada. Pulsamos en la casilla de verificación, ponemos la clave que hemos generado al crear nuestro usuario, y pulsamos arriba a la derecha en el botón «ADD».

Acto seguido se nos pregunta si deseamos añadir una VPN al dispositivo. Le decimos que sí.

Y listo. Ya tenemos lista la VPN en el teléfono para conectarnos. Os recomiendo desconectar el wifi del teléfono. Teniéndo únicamente la conexión 3G activada, pulsad este botón de la aplicación.

Si pulsáis el botón de la aplicación ¡¡¡Ya funciona!!! Espera… ¿Ya funciona? Pues a medias. Aparentemente el botón se pone en verde y estamos conectados, pero si intentamos navegar obtenemos un error diciendo que no podemos acceder a la página ¿Por qué?

Pues sencillo… porque hemos hecho una configuración incorrecta durante la instalación. Si hubiésemos hecho la configuración correctamente estaríamos navegando, pero tendríamos que perder tiempo comprobando si nos funciona todo correctamente o no. Si os podéis conectar a la VPN y os da error cuando intentáis navegar sabemos:

  • Que el VPN funciona (al menos conecta).
  • Que la navegación se está haciendo a través del VPN (que como está mal configurado nos está dando error).

Si hubiéramos hecho la configuración bien, estaríamos navegando, pero no sabríamos si la página web la estamos cogiendo de nuestra conexión a internet sin pasar por el VPN o estamos cogiéndola por el VPN. Ese error nos garantiza que estamos navegando por el VPN y que vamos bien encaminados.

7) Corregimos la configuración y hacemos los últimos ajustes.

Vamos a entrar de nuevo en la raspberry por SSH (por teminal o Putty). Vamos a ir a la ruta /etc/openvpn y ahí vamos a editar el archivo server.conf, tecleando el siguiente comando.

sudo nano /etc/openvpn/server.conf

A estas alturas seguro que ya sabéis que podemos hacerlo de este otro modo.

Dentro de ese archivo vamos a buscar la línea que pone lo siguiente:

push "dhcp-option DNS 10.0.1.222"

Como habréis supuesto, debe poner la ip de vuestra raspberry. Vamos a cambiar esa línea por esta otra…

push "dhcp-option DNS 10.8.0.1"

Esa IP es la que usa PiVPN siempre como puerta de enlace y servidor de DNS para los clientes que se conecten al servicio. El archivo quedaría de esta forma.

Con este cambio realizado, pulsamos «Control+O» para guardar los cambios y salimos del editor Nano pulsando «Control + X».

Por cierto… si no usáis pi-hole y sólo queríais usar un VPN para conectaros con vuestros dispositivos, esa IP debería ser «1.1.1.1», y además con este cambio este tutorial ya ha acabado para vosotros. El resto vamos a hacer un par de configuraciones a mayores para que Pi-hole nos bloquee la publicidad mediante el VPN.

Para terminar la conexión entre Pi-hole y PiVPN vamos a ir a la ruta /etc/pihole y vamos a editar el archivo «setupVars.conf»

sudo nano /etc/pihole/setupVars.conf

En ese archivo la primera línea debe poner algo como ésto si la raspberry se conecta por WiFi.

PIHOLE_INTERFACE=wlan0

O ésto si la raspberry se conecta mediante cable de red.

PIHOLE_INTERFACE=eth0

Justo debajo de esa línea, debemos añadir otra que ponga esto otro.

PIHOLE_INTERFACE=tun0

Para que el archivo quede de esta forma.

De nuevo pulsamos «Control+O» para guardar cambios y «Control + X» para salir del editor. Esto hará que el Pi-hole permita entregar datos a PiVPN.

Por último vamos a crear un archivo que no existe en nuestra Raspbery. Tenemos que ir a la ruta /etc/dnsmasq.d y crear allí un archivo llamado 02-ovpn.conf de esta forma.

sudo nano /etc/dnsmasq.d/02-ovpn.conf

Dentro de ese archivo debemos escribir una única línea, que será ésta.

interface=tun0

Guardamos cambios con «Control+O» y con esto ya hemos terminado. Reiniciamos la raspberry por precaución con este comando:

sudo shutdown -r now

Una vez reiniciada podéis probar de nuevo la conexión que intentamos en el punto 6. Teniendo sólo 3G activado, intentad conectaros al VPN y abrid alguna página web. Ahora ya deberíamos poder navegar con el VPN conectado y el Pi-hole debería quitarnos toda la publicidad de las páginas web y de todas las aplicaciones del teléfono (o del ordenador).

Por cierto… si estáis pensando que seguramente la raspberry está ahora echando humo, estáis muy equivocados. Aún está muy ociosa, así que podemos usarla para más cosas además de tener un servidor de Pi-Hole y otro de PiVPN. En el próximo tutorial veremos cómo instalarle a esa misma raspberry un cliente de aMule para poder realizar descargas largas sin tener que dejar el ordenador principal encendido y consumiendo muchísima electricidad (os recuerdo que el consumo eléctrico de una Raspberry es casi anecdótico)

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

Método para clonar un disco con particiones de BootCamp a un SSD

Cambiar el disco duro de un ordenador por un disco SSD es un método habitual para lograr que el equipo funcione a mayor velocidad y así poder alargar su vida útil. Cuando ya tenemos un sistema operativo y programas instalados en el disco, lo más habitual para evitar tener que reinstalar de nuevo todo el sistema es usar algún programa para realizar un clonado de la unidad completa. De esta forma pasamos toda la información del disco duro antiguo a nuestro nuevo SSD y así no nos complicamos con largas instalaciones.

Si usamos un único sistema operativo en el ordenador, elegir el programa con el que haremos la clonación es casi cosa de gustos. Yo suelo usar el Acronis True Image más que nada porque me vino “de regalo” junto con un SSD, así que al tener licencia legal no me complico la vida. Un programa gratuito, completo y legal para poder hacer una clonación es CloneZilla. He realizado clonados tanto de ordenadores con windows como equipos apple con Mac OS instalado y la verdad es que nunca me he topado con problemas una vez realizado el clonado.

Peeeero… la cosa se complica cuando el ordenador es un Mac y tenemos a la vez Windows y Mac OS en el mismo equipo. Yo me he visto en esta tesitura y tengo que reconocer que es un verdadero problema. Acronis true image aparentemente clona todas las particiones, pero sólo funciona la de Mac OS. Lo mismo con CloneZilla.

Por lo que he podido ver la mayoría de la gente que ha logrado hacer la clonación, ha optado por realizarla en varios pasos. Primero clona la partición de Mac OS y luego la de windows. Algunos optan por hacer la clonación de las particiones con el mismo programa pero también hay otra gente que opta por hacerla con programas diferentes, como se explica en este artículo.

http://roddines.blogspot.com.es/2017/05/migrating-apple-mac-osx-with-windows-7.html

Reconozco que me he pasado horas intentando aplicar alguno de estos métodos sin llegar a buen puerto. En todo caso supongo que el que os acabo de poner es el que más se ha acercado a la solución final.

Pero por casualidad encontré un método alternativo en un comentario de un foro, que es usando un dispositivo hardware de clonado. Y después de tantas horas intentando hacerlo por otros métodos me he enfadado conmigo mismo porque ¡¡Tengo un aparato de esos en casa y no había ni pensado en él!! La verdad es que nunca lo llegué a usar para clonar unidades, porque lo utilizo para poder cambiar de discos rápidamente. El que tengo en casa es este:

clonador-bootcamp-tooq

Podéis encontrar algo similar por ejemplo en Amazon…

https://www.amazon.es/TooQ-TQDS-802BW-conexion-Docking-Station/dp/B00FRBQEJI/ref=sr_1_1?ie=UTF8&qid=1521359640&sr=8-1&keywords=tooq+clone

O en APP…

https://www.appinformatica.com/carcasas-disco-duro-tooq-docking-tqds802b-2sata-usb3.0-boton-otb.php

De hecho el mío lo compré hace unos años en el APP de Coruña del Paseo de los puentes.

Para poder usarlo hay que asegurarse que el disco de destino tenga igual o mayor capacidad que la unidad original. Simplemente hay que asegurarse que el aparato no está conectado al ordenador por USB, poner cada uno de los discos en la unidad (el que tiene los datos en la ranura delantera y el SSD en la trasera) y pulsar el botón de clonado durante tres segundos. A los pocos minutos (la copia la hace a una velocidad impresionante) tenemos la unidad clonada y con todas las unidades funcionando a la perfección. El inconveniente es que no podemos adecuar el tamaño de las particiones al disco (nos las pasa al disco nuevo con el mismo tamaño que teníamos originalmente), pero al menos es un método rápido que funciona sin ningún problema y el tamaño lo podemos ajustar a posteriori con herramientas como “gparted”. Después del clonado funciona tanto la unidad EFI (En la que tengo “refind” que me permite escoger qué sistema operativo voy a iniciar) como la unidad de Mac OS y la unidad con Windows.

En todo caso si alguien que lee esta entrada conoce algún método mediante software que se anime a dejarlo en los comentarios, puesto que estoy muy interesado en conocer otras formas de hacer esto mismo y saber por qué los métodos habituales fallan en este escenario. Si averiguo más sobre este tema lo iré publicando.

Share

Evitar que firefox nos pregunte si queremos notificaciones de la página que estamos viendo

Desde hace ya bastantes versiones Mozilla Firefox pregunta casi en cada página web si quiero que me muestre notificaciones de la página. Puede parecerme una opción interesante en una o dos páginas a lo sumo, pero cada vez más páginas se suman al carro de la preguntita y es algo que me empieza a resultar un tanto molesto. Por suerte desactivar estas notificaciones es tan sencillo como hacer lo siguiente:

1) En la barra de direcciones de firefox ponemos lo siguiente

about:config

y pulsamos “enter” para acceder a esa página

Esto es lo que aparece cuando escribimos “about:config” en la barra de direcciones de Firefox

2) Saldrá un diálogo que nos dice que esta es una zona hostil para manazas (Me encanta esta advertencia). Pulsamos en “acepto el riesgo”.

3) En la parte superior de la página veremos una barra de búsqueda. Vamos a buscar lo siguiente:

dom.push.enabled


Tenemos que cambiar la preferencia “dom.push.enabled” a “false”

Vemos que tiene el valor “true”. Simplemente hacemos doble click encima de esta preferencia para que se cambie al valor “false”.

Y con esto ya nos podemos olvidar de las molestas notificaciones en cada página que visitamos.

Share

Instalación de Windows 10 en ordenadores Apple no soportados

Macs corriendo windows 10
Macbook Late 2008 y early 2009 junto con iMac mid. 2007 ejecutando todos windows 10 sin problemas

Tal vez tengáis en vuestro poder algún equipo antiguo de apple en el que queráis usar windows 10 de forma nativa (sin virtualizar con vmware, parallels o virtualbox), pero en el que oficialmente no se pueda instalar. En esa tesitura me he visto yo hace poco con varios Macbook (El mítico blanquito modelo A1181 y el primer macbook unibody) y un iMac (modelo 7.1, el primero de aluminio), así que os voy a dar algunas cuantas notas para tener en cuenta en la instalación. Para el que no me conozca, sabed que me enrollo mucho, así que no os preocupéis por la longitud de este tutorial, que aunque parezca que no, la cosa es sencilla.

Voy a centrarme en la instalación de windows 10 de 64 bits, así que todo esto os servirá únicamente si tenéis un Mac con procesador Intel que soporte 64 bits.

1) ¿Qué pasa con Boot Camp?

Sí, sí… seguramente la primera reacción cuando se intenta instalar windows de forma nativa en un equipo de este estilo es usar Boot Camp. Y de hecho si funcionara para instalar Windows 10 en estos equipos sería la forma más correcta de realizar la instalación. Pero por desgracia en estos equipos la versión más moderna de windows que permite Boot Camp es Windows 7, así que no podemos optar por esa vía.

2) Descarguemos los drivers oficiales de apple para nuestro equipo.

Antes de realizar ninguna instalación vamos a descargar en una unidad USB algunos drivers que usaremos una vez que tengamos instalado windows 10. Para ello primero meteremos en alguna ranura USB que tengamos libre un “pen drive” formateado en “Fat 32”. Luego en nuestro Mac nos iremos a la carpeta de aplicaciones, dentro de ella abriremos la carpeta “Utilidades” y abriremos el asistente de boot camp.

Síííí… tranquilos. Ya dijimos que no vamos a usar Boot Camp para hacer la instalación. Sólo lo abrimos y en la primera pantalla que nos sale pulsamos en “continuar”.

En la siguiente pantalla únicamente dejamos marcada la opción que se llama “Descargar el software de compatibilidad con windows más reciente de Apple”.

Ahora nos preguntará en qué unidad va a guardar los drivers que se va a descargar. Seleccionamos nuestra unidad USB y pulsamos en “continuar”.

Y una vez hecho esto la descarga empezará a realizarse.

En cuanto acabe tendremos en nuestra unidad USB una carpeta llamada “WindowsSupport” con un montón de drivers. Son drivers diseñados para windows 7, por lo que no todos nos van a servir y de hecho más adelante nos descargaremos más drivers, pero al menos tendremos una parte de hardware cubierta para el momento inicial de la instalación. Esto que acabamos de descargar lo vamos a usar en el punto 6.

3) Preparando la partición para instalar windows.

Ahora vamos a crear una partición en nuestro Mac en la que vamos a instalar Windows 10. Para ello volvemos a abrir la carpeta de aplicaciones y dentro de “utilidades” pulsamos en la utilidad de discos.

En la parte superior izquierda seleccionamos nuestra unidad de disco duro (OJO: Seleccionamos la unidad entera, no sólo la partición del sistema Mac), y luego en la barra de herramientas de arriba pusamos sobre el botón “partición” para que se nos despliegue un cuadro similar a este.

Ahí podremos ver las particiones que tiene nuestro disco duro. Si no habéis tocado nunca las particiones os aparecerá una única partición. La seleccionamos y pulsamos el botón que hay debajo del gráfico que tiene un símbolo “+”. Eso nos creará una segunda partición en el disco. Si pulsamos en el pequeño círculo que hay entre las dos particiones podremos cambiar de forma muy visual el espacio que le vamos a asignar a cada una de ellas. Para Windows 10 os recomiendo no poner menos de 50 gigas. En mi caso, tengo un disco de 250 gigas y he asignado la mitad a cada sistema operativo. Aseguraos que en la pestaña de formato, en la nueva partición marcáis “MS-DOS (FAT)”. Una vez hecho esto, simplemente pulsad el botón “Aplicar” y con esto ya os quedará el disco duro dividido en dos particiones: una para Mac OS y otra para Windows.

NOTA: hay gente que suele crear una partición más pequeña para windows, de unos 50 gigas y luego otra que la dejan en FAT32 para poder traspasar archivos entre Windows y Mac OS. Tened siempre en cuenta que Windows en ningún momento va a ser capaz de poder ver la partición de Mac OS y Mac OS sí va a poder ver la partición de Windows pero no va a poder escribir en ella. Una partición común es una idea si andáis moviendo cosas de un sistema a otro. Personalmente no lo hago, así que prefiero tener únicamente dos particiones, pero esto es ya cuestón de gustos.

4) Instalando windows ¿7?

Llegados a este punto toca empezar la instalación de windows. Pero aquí vamos a tener un problema con la EFI del Mac, y es que en estos equipos el funcionamiento de la EFI hace que no se instale Windows 10 de forma correcta a la primera (digamos… que un hardware de 64 bits y una EFI de 32 bits no se llevan bien con Windows 10). Si apagamos el equipo e insertamos un medio de arranque de Windows 10, la instalación parece que inicia correctamente pero a la hora de instalar windows en la partición que hemos preparado nos encontraremos con un error que nos dice: “No se puede instalar Windows en este disco. El disco seleccionado tiene una tabla de partición MBR. En sistemas EFI, Windows solo se puede instalar en discos GPT.”.

MBR EFI Discos GPT

Por mucho que brujuleéis por internet no os engañéis: este error no es solventable así como así. En principio con algún comando de terminal o algún programa podemos engañar a windows para que ignore el error y se instale, y de hecho si buscáis por internet vais a poder ver a gente que lo recomienda. Eso os permitirá terminar la instalación, pero luego tendremos mil problemas no solventables con los drivers que harán que no tengamos la resolución adecuada, ni sonido, ni otras cosas.

¿Cómo podemos solucionarlo entonces? Pues de la forma más tonta posible, que es instalando primero windows 7 (Sin bootcamp) y una vez instalado actualizar a windows 10. De esta forma windows 10 hereda el tipo de arranque que tiene windows 7 y la instalación se realiza correctamente.

Así que tenéis que poner un disco de arranque de Windows 7 e iniciar la instalación. Os recomiendo conseguir un ratón USB de PC, porque al principio no vais a tener botón derecho en el ratón del mac ni en el trackpad, así que os vendrá de perlas tener uno conectado. No me voy a parar en este punto. Simplemente insertáis el disco de windows 7, apagáis el sistema y lo volvéis a encender con la tecla “C” pulsada para que arranque desde la unidad de CD’s. Cuando os pregunte en qué partición se va a instalar, seleccionamos la que hemos creado (Que es FAT32), la formateamos en NTFS y dejamos que windows se instale en la partición. Todo eso sin tocar la estructura que nos ha creado la utilidad de discos. Ni se os ocurra tocar el resto de unidades porque os podéis cargar el sistema Mac OS. Vamos a ver que ahora cada vez que el sistema reinicie, va a encender automáticamente el windows 7. No os preocupéis. La partición de Mac OS sigue estando ahí.

Una vez que se ha instalado Windows 7, sin instalar drivers ni nada, realizamos por encima la actualización a windows 10. (se puede realizar desde el propio disco de windows 10). Tampoco me voy a parar en este punto. Simplemente realizamos la instalación con las opciones por defecto y eso sí… una vez que se instale dejamos que windows instale todas las actualizaciones que tenga que coger. Van a instalarse algunos drivers que harán que el sistema funcione un poco mejor, pero no todos los drivers necesarios serán instalados e incluso en algún caso (iMac 7.1) van a descargarse drivers incorrectos (el de la tarjeta de vídeo), pero eso lo dejaremos para más adelante, sobre todo el caso del iMac 7.1 en el que me voy a detener para hablar de esa tarjeta de vídeo conflictiva. Así que no os preocupéis por la falta de control del brillo del monitor, de las teclas especiales que permiten subir y bajar el volumen o por la configuración del trackpad, que todo eso funcionará más tarde.

Por el momento vamos a aprovechar para renombrar la unidad de disco de windows para que en el paso 4 identifiquemos mejor todas las particiones. Abrimos una carpeta del explorador de archivos y en la columna de la izquierda pulsamos en “Este equipo”. En el apartado “dispositivos y unidades” veremos nuestro disco duro. Hacemos click con el botón derecho del ratón (Recordad que necesitamos uno de PC, porque el mac no va a reconocer el click derecho en el trackpad) en el disco duro y pulsamos en “propiedades”.

Propiedades windows

En la ventana que nos sale cambiamos el nombre de la unidad por “Windows”. Así tendremos la partición de windows siempre bien identificada.

5) Instalar el gestor de arranque Refind.

Una vez que vemos que Windows ha cogido todas las actualizaciones y tenemos identificada la partición de windows, toca instalar un sistema para arrancar el ordenador de forma más cómoda. Tienes en este vídeo una explicación muy sencilla (a mi gusto demasiado) de lo que hay que hacer en este paso, pero os lo voy a explicar de forma más detallada. Apaga el ordenador por completo y una vez apagado vuélvelo a encender manteniendo la tecla “Alt” pulsada. Eso nos mostrará las unidades de disco desde las que podemos arrancar, y podremos ver entre ellas a nuestro querido volumen de Mac OS, pero también veremos la partición de windows que acabamos de crear y una partición de recuperación, que es la que debemos seleccionar.

Seleccionar partición
La partición de Mac OS no estaba muerta. Estaba de parranda

Una vez que ha arrancado la partición de recuperación, debemos ir a la barra de menús de la parte superior de la pantalla y desplegar el menú “Utilidades” para arrancar la utilidad “Terminal”.

terminal recuperación

Se nos abrirá una ventana que nos invita a escribir comandos. Debemos escribir lo siguiente:

csrutil disable

y una vez escrito pulsamos la tecla enter.

csrutil disable

Esto nos deshabilitará un sistema de protección de integridad que tiene Apple que impide que se escriba código malicioso en el arranque. Lo que vamos a hacer no es dañino para el ordenador, pero si no hacemos este paso, no podremos instalar correctamente el gestor de arranque.

Ahora nos vamos de nuevo al menú superior pero para seleccionar la manzana y reiniciar el ordenador. De nuevo al arrancar mantendremos pulsada la tecla “Alt” para seleccionar el arranque desde la partición de Mac OS. Una vez haya cargado el sistema tenemos que ir con el navegador de internet a esta dirección:

http://www.rodsbooks.com/refind/getting.html

Y pinchar en el vínculo que pone “A binary ZIP file”

Descargar refind
Descargamos el archivo ZIP para después descomprimirlo

La página a la que dirige ese vínculo es la de la última versión del software “Refind”, que a fecha de escribirse esta guía es la 0.11.2. Descargamos el archivo comprimido y lo descomprimimos, por ejemplo en la misma carpeta en la que lo hemos descargado. Entramos en la carpeta ya descomprimida y la dejamos abierta en un lado del escritorio (Vamos a arrastrar un archivo a una ventana que abriremos en un momento, así que dejadla abierta).

Ahora abriremos la carpeta de aplicaciones y dentro de ella buscamos la carpeta “Utilidades” y abrimos la utilidad que se llama “Terminal”. Dentro de ella vamos a escribir la palabra “sudo” y un espacio. Arrastramos ahora a la ventana del terminal el archivo llamado “refind-install” y pulsamos la tecla “enter”. Ponemos la contraseña del usuario con privilegios administrativos y dejamos que se realice la instalación. Debería quedar en la ventana algo similar a esto:

Instalación refind

Reiniciamos el equipo (no pulsamos ninguna tecla en el arranque) y comprobamos que ahora en lugar de arrancar un sistema u otro (Mac OS o Windows) nos carga un gestor de arranque llamado “Refind” ofreciéndonos la carga de ambos sistemas. De hecho seguramente os ofrezca varias opciones de arranque para windows. Podéis eliminar las opciones “sobrantes” de los sistemas seleccionando el que no queráis con el teclado y pulsando la tecla “suprimir”. Por cierto… para hacer esto con un macbook toca conectar un teclado USB, porque los macbooks no tienen esa tecla. Al final el menú os debería quedar similar a este.

Menú de arranque

Una cosa: cada vez que Mac OS se actualice a una versión nueva, este menú desaparecerá y volveréis a tener que instalar Refind (Sólo la instalación, no el paso de desactivar el sistema de protección de integridad). Y si en algún momento tenéis que hacerle un reset a la PRAM también os desaparecerá el menú y tendréis que hacer de nuevo este punto 5 entero (incluída la parte en la que tenemos que desactivar el sistema de protección de integridad), así que tened siempre a mano en una carpeta el programa de instalación de refind.

En todo caso esto ya empieza a tomar forma. Ahora de forma sencilla podemos arrancar cualquiera de los dos sistemas. Vaaaale… que Windows aún está hecho unos zorros porque los drivers no son los correctos, pero poco a poco estamos avanzando.

6) Instalamos los drivers básicos de Apple.

Venga, al lío. Usando refind vamos a arrancar el ordenador usando windows (supongo que tal y cómo os he dicho antes Windows ha cogido todas las actualizaciones que tenía pendientes y os ha actualizado unos cuantos drivers) y vamos a insertar el Pen Drive que nos hemos descargado en el paso 2. Nos vamos a la carpeta “Drivers” y dentro de ella a la carpeta “Apple” y luego a la llamada “x64”. Ahora vamos a hacer lo más tonto del mundo, que es ir haciendo doble click en cada uno de los archivos que hay dentro de esa carpeta. Así instalamos todos los drivers de apple. Vale… puede haber alguno que no corresponda a nuestro equipo, pero si no corresponde el sistema no se va a quejar, sinó que simplemente no lo va a usar. Tampoco os asustéis si aún quedan cosas que no funcionan, que luego vamos a ir a por ellas.

Una vez hecho esto, si nos vamos al administrador de dispositivos, puede que veamos un dispositivo que el sistema aún no reconoce, que se llama “coprocesador”. Para instalarlo primero nos descargamos este archivo. Luego lo descomprimimos en una carpeta en el escritorio, pero OJO: No ejecutamos nada. En el administrador de dispositivos pulsamos el dispositivo “coprocesador” con el botón derecho del ratón y pulsamos en “propiedades”. Luego en “controlador” y en “actualizar controlador”. De las opciones que nos salen seleccionamos “Buscar software de controlador en el equipo”. Seleccionamos la carpeta en la que hemos descomprimido los drivers y pulsamos en siguiente. El sistema detectará qué driver le falta y lo instalará automáticamente.

7) Ajustamos los drivers de la tarjeta gráfica.

Aquí voy a dividir este punto en dos partes:

7.1) Macbook blanco y primer macbook de aluminio (Gráfica Nvidia GeForce 9400M).

En esta página, en los comentarios está la clave (el comentario de un tal “Mike” del 14 de mayo del 2013), pero de nuevo os lo voy a detallar con calma.

En estos equipos windows reconoce la tarjeta gráfica a la primera, pero hay un ajuste que hay que hacer si queremos poder regular el brillo de la pantalla. Tenemos que descargarnos este programa que simplemente sirve para llevarnos a una ruta en el registro de windows que es esta:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video{F6849B05-D218-11E7-89F7-82BEBB94A363}\0000

Ahí tenemos que añadir dos entradas DWORD.

– A la primera le llamamos EnableBrightnessControl y le ponemos el valor 1 hexadecimal

– A la segunda le llamamos RMBrightnessControlFlags y le ponemos el valor 800 hexadecimal

Y listo. Esto nos dejará el ordenador preparado para continuar el tutorial. Y sííííí… ya sé que aún no sois capaces de regular el brillo con esto que acabamos de hacer, pero es necesario para que sí lo podamos regular en el punto 9 del tutorial (que es cuando terminaremos de habilitar este tema).

7.2) iMac 7.1 (Tarjeta gráfica ATI Radeon 2600 Pro).

El problema de la gráfica de este equipo se explica muy bien en esta web, pero os lo detallo aquí. El tema es que en el primer arranque del equipo inmediatamente después de instalar el sistema operativo, los gráficos al principio se ven de forma correcta, pero a los pocos minutos el sistema cambia el driver por otro que considera mejor… y la caga. No sólo la resolución pasa a ser la que no es (Sin posibilidad de volver a la resolución correcta), sinó que el driver que se instala de forma automática deja el sistema bastante inestable. Para resolverlo primero debemos descargarnos bajo windows los drivers de la tarjeta de vídeo desde esta página. Son los últimos drivers oficiales de ATI para esta tarjeta, que se llaman “Catalyst Suite”. Dejamos el archivo que hemos descargado en el escritorio.

Ahora pulsamos el menú inicio, la opción de apagado y MIENTRAS PULSAMOS LA TECLA DE MAYÚSCULAS (Shift. La que tiene una flecha apuntando hacia arriba) pulsamos la opción de reiniciar el equipo.

Reinicio a pruba de fallos

Se va a abrir una especie de asistente especial que nos permite escoger algunas opciones. En la primera pantalla debemos escoger la opción que pone “Solucionar problemas”

Solucionar problemas

En la siguiente pantalla escogemos “Opciones avanzadas”.

Opciones avanzadas

En la siguiente “Configuración de inicio”.

Configuración de inicio

Y en la última pantalla pulsamos el único botón que hay que pone “reiniciar”.

Reiniciar

El equipo se reiniciará y nos permitirá escoger varias opciones de arranque, entre las cuales escogemos la número 7 (Deshabilitar el uso obligatorio de controladores firmados). Pulsamos el número 7 y windows arrancará sin mirar si los controladores están firmados o no.

opción 7

Una vez iniciado windows de esta forma, instalamos los drivers que hemos descargado de la web de ATI. Abrimos una carpeta del navegador de archivos y nos vamos a la ruta siguiente:

c:\AMD\Support\13-1-legacy_vista_win7_win8_64_dd_ccc\Packages\Drivers\Display\W86A_INF

Buscamos un archivo llamado C8160540.inf y lo editamos con el notepad. Al abrirlo buscamos una línea que pone

%ATI% = ATI.Mfg, NTamd64.6.2

y la cambiamos por lo siguiente

%ATI% = ATI.Mfg, NTamd64.6.4

Lo que hemos hecho es decirle al driver que es compatible con windows 10.

Seguimos cambiando cosas. Buscamos la línea que pone

[ATI.Mfg.NTamd64.6.2]

y la cambiamos por

[ATI.Mfg.NTamd64.6.4]

Por último buscamos la fila que pone

“%AMD9589.6%” = ati2mtag_RV630, PCI\VEN_1002&DEV_9589

y la sustituimos por estas seis líneas

;”%AMD9589.6%” = ati2mtag_RV630, PCI\VEN_1002&DEV_9589
“%AMD9589.6%” = ati2mtag_RV630, PCI\VEN_1002&DEV_9583&SUBSYS_0083106B&REV_00
“%AMD9589.6%” = ati2mtag_RV630, PCI\VEN_1002&DEV_9583&SUBSYS_0083106B
“%AMD9589.6%” = ati2mtag_RV630, PCI\VEN_1002&DEV_9583&CC_030000
“%AMD9589.6%” = ati2mtag_RV630, PCI\VEN_1002&DEV_9583&CC_0300
;

Guardamos los cambios en el archivo. Ahora nos vamos al administrador de dispositivos, hacemos click derecho en la tarjeta de video (Se muestra como ATI Mobility Radeon 2600 XT) y pulsamos en propiedades. En la ventana que se abre pulsamos en “Actualizar controlador” y se abrirá otra ventana más. En esa ventana pulsamos en “Buscar software de controlador en el equipo”.

Ahora el sistema nos pedirá la ruta del nuevo controlador. Le damos la siguiente

c:\AMD\Support\13-1-legacy_vista_win7_win8_64_dd_ccc\Packages\Drivers\Display\W86A_INF

y pulsamos el botón “Siguiente”.

Ahora nos pedirá seleccionar el controlador para nuestra tarjeta de vídeo. Buscamos el que se llama “ATI Radeon HD 2600 PRO”. Habrá cuatro disponibles. Seleccionamos el primero y pulsamos en “siguiente”.

Seleccionar Driver

Después de unos segundos, el monitor se pondrá negro y la imagen volverá ya en la resolución correcta. Por fin tenemos la tarjeta de vídeo funcionando en el iMac.

8) Drivers de la tarjeta de sonido.

Los drivers que hemos descargado desde boot camp por desgracia no son capaces de hacer funcionar la tarjeta de sonido, y tampoco los que Windows actualiza desde sus repositorios. Si os fijáis, por la entrada del jack de cascos del macbook o del iMac, con windows encendido se ve una luz roja. Esto está indicando que el sonido funciona “a medias” porque está intentando sacarlo siempre por la salida digital. Así que toca descargar los drivers correctos. Por suerte lo vamos a solucionar descargándolos de la web del fabricante de la tarjeta de sonido y realizando la instalación con normalidad. Y ¡¡Buenas noticias!! los drivers son los mismos tanto para el iMac como para el Macbook. Para descargarlos nos vamos a la siguiente web y pulsamos en el vínculo de la fila que pone lo siguiente (El icono de descarga al comienzo de la línea):

“64bits Vista, Windows7, Windows8, Windows8.1, Windows10 Driver only (Executable file)”

En la siguiente pantalla pulsamos en » I accept to the above «, ponemos una dirección de mail y pulsamos en «Download this file». Se descargará un archivo ejecutable. Simplemente lo ejecutamos y seguimos el proceso de instalación. Así quedará la tarjeta de sonido funcionando. Sencillo ¿Verdad?

9) Instalación de los drivers actualizados de Apple.

Nos queda el último paso, que hará que funcionen las teclas especiales del teclado del Mac, los gestos del trackpad, la iluminación del teclado y algunas otras cosillas.

Hay instrucciones de este proceso en el siguiente vídeo, pero de todas formas os lo voy a detallar más abajo.

Habiendo arrancado el Mac con Windows 10, en primer lugar debemos usar un software llamado “brigadier” que nos permitirá descargar una versión de los drivers de BootCamp compatibles con windows 10. Podemos descargarlo desde esta página web, desde la que nos descargamos el archivo “brigadier.exe”. Una vez descargado, localizamos el archivo en la carpeta de descargas y lo movemos a la raíz del disco duro, directamente a “C:”.

Ahora nos vamos al menú inicio y sin pulsar en ningún sitio escribimos directamente “CMD”. En la parte superior veremos un resultado de búsqueda que pone “Símbolo del sistema”. Hacemos click derecho en ese resultado y seleccionamos la opción “ejecutar como administrador” y en la ventana que nos sale diciéndonos que esta aplicación puede realizar cambios en el dispositivo pulsamos la opción sí.

Ejecutar como administrador CMD

Nos saldrá una ventana para introducir comandos. Vamos tecleando estos comandos y según vayamos poniéndolos, al final de cada línea pulsamos “enter”.

cd /.

brigadier.exe -m MacBookPro11,5

El ordenador empezará a hacer una descarga automática desde los servidores de apple de todos los drivers que vamos a necesitar (y alguno más). La descarga llevará un ratillo, así que paciencia. En cuanto termine la descarga no cierres esa ventana, que la seguiremos usando. Vete ahora al explorador de archivos y abre el disco duro. Vas a ver en el directorio raíz una carpeta llamada “BootCamp-031-55710”. Nos vamos dentro de esa carpeta a la subcarpeta “Bootcamp”. Dentro de ella vamos a “Drivers” y dentro de esa nos vamos a “Apple”. Ahí copiamos los siguientes archivos y los pegamos de nuevo en la raíz del disco duro:

AppleKeyboardInstaller64.exe
AppleMultiTouchTrackpadInstaller64.exe
AppleNullDriver64.exe
AppleWirelessMouse64.exe
AppleWirelessTrackpad64.exe
BootCamp.msi

Volvemos a la ventana de comandos que habíamos dejado abierta y tecleamos lo siguiente desde la raíz del disco duro (desde dónde lo habíamos dejado). No os olvidéis de pulsar enter al final.

Msiexec /i BootCamp.msi

Lo primero que nos saldrá es una ventana de error (vaya por Dios) diciéndonos que Windows Installer dejó de funcionar. No os preocupéis por esa ventana (que todo está como tiene que estar) y pulsad en “cerrar el programa”. Nada más cerrar esa ventana nos saldrá el asistente de instalación de Boot Camp. Dejamos que instale todo lo que tiene que instalar y cuando termine reiniciamos el ordenador. En cuanto volvamos a iniciar la partición de Windows, tendremos en los iconos de notificación (al lado del reloj) el icono de “BootCamp” en el que podremos regular el brillo de la pantalla, el comportamiento del teclado y trackpad, brillo de las teclas, etc… Y lo que es mejor: TODO ESTARÁ FUNCIONANDO A LA PERFECCIÓN.

Llegados a este punto Windows ya es completamente funcional. Como muestra aquí va un pequeño vídeo del resultado en los tres equipos

Tal vez alguno de vosotros tenga alguna variante de este tutorial o sepa alguna forma mejor de realizar alguno de estos pasos. Cualquier añadido o sugerencia será bienvenido en los comentarios.

Share

Combinar correspodencia con imágenes en Microsoft Word

Microsoft WordEn entornos empresariales la función de “combinar correspondencia” de Microsoft Word es casi imprescindible. Nos permite, entre otras cosas, crear cientos de documentos muy similares pero con campos personalizados, por ejemplo para enviar cartas con el mismo contenido pero en las que sólo cambia el destinatario.

Para ello usamos un archivo en el que tenemos un listado de los elementos que cambian en cada uno de los documentos (normalmente un archivo de excel), y un archivo en el que combinamos las partes fijas y las que cambian (el propio documento de word).

En mi empresa usamos esta funcionalidad habitualmente, pero necesitábamos darle una vuelta de tuerca, ya que además de combinar datos de texto que estaban en la tabla de excel, necesitábamos poder insertar imágenes distintas en cada uno de los documentos. Conseguirlo nos ha obligado investigar bastante, por un lado por la desastrosa implementación de esta funcionalidad en Microsoft Word y por otro lado por la poca documentación de calidad que hay en internet con instrucciones de cómo hacerlo. Voy a intentar explicaros todo el proceso de la forma más clara posible.

Para seguir el tutorial de forma correcta os dejo este enlace con todos los archivos que vamos a usar. Os recomiendo descomprimir todo y poner la carpeta «Ejemplo» en la raíz de vuestro disco duro (C:), para que los vínculos a los archivos de excel no se rompan.

1) Creando los archivos base.

Para empezar necesitamos lo siguiente:

– Una carpeta con los archivos de imagen. Intentad que tengan todos las mismas dimensiones, o al menos la misma relación de aspecto, y que tengan todos el mismo formato (por ejemplo, todos JPG o todos GIF).
– Un archivo de excel con los datos.
– Un archivo de word en el que vamos a generar los documentos.

Es MUY IMPORTANTE que el archivo de word tenga formato de word 2003 (.doc). El formato “.docx” es incompatible con lo que vamos a hacer.

Vamos a empezar creando una combinación de correspondencia normal y corriente. En Word 2010 nos vamos a la pestaña “correspondencia”, desplegamos “Seleccionar destinatarios” y pinchamos en “usar lista existente”. Buscamos el documento de excel con los datos y le hacemos doble click para seleccionarlo. Si tenemos datos en la tabla además de las imágenes, podemos ponerlos en el documento seleccionando “insertar campo combinado” y luego el nombre de la columna que queramos poner. Seleccionando el botón “vista previa de resultados” podemos ver las diferentes filas del excel (pulsando en los botones de avance y retroceso que hay al lado de ese botón).

Navegador combinar correspondencia

En el ejemplo que os he dejado para descargar, en el documento “1-Archivo inicial” podéis ver un archivo de word ya vinculado a un excel, que simplemente coge el nombre y apellido de las dos primeras columnas de la tabla y los muestra en el documento. No hay ninguna foto todavía en el archivo.

Archivo inicial

2) Añadir fotos según listado de excel.

En la zona dónde queramos poner la foto situamos el cursor. Pinchamos en la pestaña “insertar», pinchamos en “imagen” y buscamos la primera imagen en nuestro disco. Una vez localizada, en lugar de hacerle doble click o pinchar en insertar, debemos desplegar el botón “insertar” (pinchamos en un triángulo que hay a su lado) y pinchamos en “vincular al archivo”. Eso aparentemente nos inserta una foto de forma normal.

Vincular al archivo

Sin embargo insertar la imagen de esta forma nos permite hacer lo siguiente: Si fichamos en la fotografía ya insertada y luego pulsamos la combinación de teclas “Alt+F9”, vamos a ver el código que corresponde a la inserción de esa fotografía. El código que obtenemos al insertar la primera foto es el siguiente:

{INCLUDEPICTURE "Fotos/a.jpg" \* MERGEFORMAT \d }

Podéis verlo funcionando en el archivo «2-Con foto estática.doc» del ejemplo que os he dejado para descargar.

Codigo una foto

Si pulsamos de nuevo «Alt+F9» para ver la imagen y luego en los botones de avance y retroceso de la correspondencia, veréis que esa imagen se mantiene estática, por lo que esto no nos sirve.

Para que las fotos cambien debemos primero hacer que el código apunte a la ruta completa de la foto. Si habéis descomprimido la carpeta de ejemplos en el directorio raíz del disco C, la ruta a la primera foto sería la siguiente:

C:\Ejemplo\Fotos\a.jpg

Pero el Word para identificar la ruta correctamente nos obliga a que las barras de directorio sean dobles, por lo que la ruta a la primera imagen sería

C:\\Ejemplo\\Fotos\\a.jpg

OJO: Si la carpeta en la que están las imagenes es una carpeta de red, al principio tendríamos que poner cuatro barras. La ruta sería de este estilo:

\\\\Servidor\\Ejemplo\\Fotos\\a.jpg

En todo caso, con nuestro ejemplo el código para insertar la primera foto sería el siguiente:

{ INCLUDEPICTURE "C:\\Ejemplo\\Fotos\\a.jpg" \* MERGEFORMAT \d }

Pero esto nos sigue apuntando aún a la primera foto y no podemos ver las siguientes. Es ahora cuando debemos introducir la combinación de correspondencia. En el código de la foto, borramos la letra “a” del nombre del archivo (donde pone a.jpg). Dejamos el cursor dónde estaba esa letra “a” y en la cinta de “correspondencia” pulsamos en “insertar campo combinado” y luego en “foto”. Obtendremos algo como esto:

{ INCLUDEPICTURE "C:\\Ejemplo\\Fotos\\{ MERGEFIELD FOTO }.jpg" \* MERGEFORMAT \d }

Codigo varias fotos

En el excel, la columna «Foto» tiene los nombres de los archivos que contienen las fotos sin la extensión. Los nombres que he puesto son del tipo «a», «b», «c»… pero podrían ser de cualquier otro tipo. Lo que sí que he hecho ha sido poner todas las imágenes con el mismo tipo de archivo. Todas son «.jpg», por lo que la extensión es la misma en todos los archivos.

Es muy importante que el campo { MERGEFIELD FOTO } os lo cree la propia combinación de correspondencia. Si lo escribís directamente no os va a funcionar. Tenéis que añadir el campo con los botones dedicados a ello (insertar campo combinado –> Foto).

El código que hemos creado lo podéis ver funcionando en el archivo «3-Con fotos que cambian». Este código ya nos va a permitir cambiar entre las distintas fotos, pero de una forma un tanto “especial”. Si pulsamos “Alt+F9” para ver la foto y luego pulsamos los botones de navegación hacia adelante y hacia atrás de la correspondencia, veremos que la foto no cambia, pero si una vez que cambiamos la página de la correspondencia pinchamos encima de la foto y luego pulsamos “F9”, la foto se actualiza y veremos la foto que corresponde a cada una de las filas de nuestro excel. Además este problema se extiende a la opción «finalizar y combinar». Si pinchamos en ese botón y luego en «editar documentos individuales» y combinamos todos los registros, obtenemos un documento de varias páginas y en principio cada una de ellas tiene la misma foto, pero si pulsamos «control+E» para seleccionar todo el documento y luego «F9», tendremos las fotos actualizadas y veremos una foto distinta en cada página.

FFUUUPor lo que se ve, según Microsoft esta es la forma correcta de mostrar esas fotos. Llegados a este punto sólo puedo decir… ¿PERO QUÉ MIERDA ES ESTO?. Cualquier combinación de correspondencia sin imágenes funciona a las mil maravillas, pero ¿cuando hago una combinación de correspondencia con imágenes resulta que hay que actualizar cada vez que cambio de página? Bajo mi punto de vista, este problema unido a la imposibilidad de hacer todo esto en el formato «docx» hace bajar muchos puntos la seriedad del paquete office. Lo siento Bill Gates, pero esto es una verdadera chapuza. Luego me saldrá el listillo de turno diciendo que el libreoffice es malo. Si es que…

3) Arreglando la actualización de las imágenes.

Vamos a intentar reprimir nuestra ira y centrémonos en arreglar este desaguisado. Podemos crear una macro de word para que cada vez que pulsemos cualquiera de los botones de navegación se actualicen las fotos, así que vamos a ello.

Lo primero es hacer que Microsoft Word nos permita «juguetear» con macros. Para ello nos vamos a la pestaña «Archivo», pinchamos en «opciones», seleccionamos en la izquierda «Personalizar cinta de opciones» y en la derecha de esa ventana, en las fichas principales de «personalizar la cinta de opciones» marcamos la casilla de verificación que está junto a «programador» y aceptamos los cambios. Esto hará que se muestre una pestaña nueva en Word que pone «programador».

Activar programador

Nos vamos a la pestaña «programador». Para crear una macro nueva pinchamos en el botón «Macros». En «nombre de la macro» ponemos «Actualizador». En el desplegable llamado «Macros en», pulsamos en el nombre del archivo de word (para que la Macro vaya dentro de este archivo siempre y pueda usarla cualquier otra persona en un equipo diferente al nuestro).

7-Crear-Macro

Ahora pinchamos en Crear y nos sale una pantalla grande en la que podremos poner el código de nuestra macro. El código que nos sale inicialmente es el siguiente:

Sub Actualizador()
'
' Actualizador Macro
'
'


End Sub

Vamos a borrar esas líneas y vamos a poner en su lugar este otro código.

Sub CombinarRegistroAnterior()

On Error Resume Next
ActiveDocument.MailMerge.DataSource.ActiveRecord = wdPreviousRecord
Selection.WholeStory
Selection.Fields.Update
Selection.EndKey Unit:=wdLine
On Error GoTo 0

End Sub

Sub CombinarRegistroSiguiente()
ActiveDocument.MailMerge.DataSource.ActiveRecord = wdNextRecord
Selection.WholeStory
Selection.Fields.Update
Selection.EndKey Unit:=wdLine
End Sub

Sub CombinarEnDocumento()

Dialogs(wdDialogMailMerge).Show

Selection.WholeStory
Selection.Fields.Update
Selection.HomeKey Unit:=wdLine

End Sub

8-Macro-pegada

Una vez pegado este código, pinchamos en el botón de guardar y cerramos esa ventana. Ahora si navegamos por las distintas páginas de la correspondencia por fin se ven todas las fotos correctamente. Además si nos vamos a «editar documentos individuales» también aparecerán las imágenes correctamente.

6-Resultado-final

Para explicarlo de forma sencilla, estas macros lo que hacen es que cada vez que se pulsan los botones para cambiar la página de correspondencia, automáticamente nos pulsan en «F9» para actualizar las fotos. Podéis ver esta macro funcionando en el archivo «4-Con Macro para actualizar las fotos». Con esto podríamos tener funcionando correctamente la visualización de las fotos. ¡¡¡POR FIN!!!

4) Rizando el rizo: optimizando los nombres de archivo.

Dependiendo de cómo nos organicemos, puede que no tengamos que trabajar de más añadiendo la última columna a nuestro excel (la del nombre de archivo de la foto). Podemos renombrar en este caso todas las fotos con el nombre y apellidos del individuo. Si el nombre y apellidos de la foto coincide con el que tenemos en la tabla de excel, podemos hacer lo siguiente (os dejo este último ejemplo en la carpeta «ejemplo con fotos normalizadas»).

En el código de la imagen ponemos como siempre el comienzo de la ruta hasta llegar al nombre del archivo. En el nombre del archivo quitamos el campo { MERGEFIELD FOTO } y mediante el botón «insertar campo combinado» ponemos el campo de nombre. Luego insertamos un espacio y ponemos el campo del apellido. Nos quedaría algo similar a esto:

{ INCLUDEPICTURE "C:\\Ejemplo\\Ejemplo con fotos normalizadas\\Fotos\\{ MERGEFIELD Nombre } { MERGEFIELD Apellido }.jpg" \* MERGEFORMAT \d }

Código optimizado

Así, si tenemos los campos con el nombre correcto y las fotos también con el nombre correcto, nos ahorramos una columna en la hoja de excel.

Fuentes del artículo: (1) (2)

Share

Tutorial de instalación de Mountain Lion

Actualizar el sistema operativo de un Mac a la última versión es muy sencillo, pero siempre pueden surgir dudas. En todo caso para todos aquellos que estén nerviosos ante el riesgo de la actualización, antes de nada mandarles un mensaje de tranquilidad, porque la última versión del sistema (Mountain Lion) es tremendamente sencillo de instalar.

Os dejo un pequeño videotutorial del proceso de instalación.

Share
« Siguientes entradas

© 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