martes, 9 de febrero de 2021

Instalar y configurar RaspBerry Pi 4 B : opciones, trucos, consejos

Con la Raspberry Pi 4 se pueden hacer muchas cosas, dado que es un ordenador en sí mismo. Además, dado que tiene conectividad Ethernet, Bluetooth y WiFi también se puede utilizar para diversos servicios que suelen ser utilizados con distribuciones Linux. Proyectos como montar un HoneyPot (detectar y reportar ataques de red), RetroPie (consola), o Batocera (emulador juegos) Pi-Hole (eliminar publicidad), instalar Chrome OS (FideOS) son muy interesantes.



El sistema estándar en una Raspberry Pi 4 es Raspbian, una distribución específica de Debian para el hardware incorporado en la tarjeta. Este software se puede instalar de manera independiente descargando e instalando la ISO correspondiente en la tarjeta SD que vamos a utilizar como sistema de la Raspberry, o bien, si ésta tiene preinstalado NOOBS, se puede instalar directamente desde éste.

Índice de Contenidos

  • Modelos RaspBerry Pi
  • Almacenamiento: MicroSD vs SSD vs Pendrive USB 3.0
  • Diferencias y opciones para Raspberry Pi OS (Raspbian, Debian, Ubuntu)  Kernel 32 y 64 bits
  • Instalar software como Discord, Zoom, FreeCad, Tor, Doom 3 fácilmente con Pi-Apps
  • Clonar-Duplicar contenido tarjeta SD (copias de seguridad)
  • Configurar Wifi en Raspberry
  • Configurar más de una Red Wifi
  • Utilizar red Ethernet y Wifi a la vez
  • Deshabilitar Wifi
  • Controlar temperaturas Raspberry (GLZ, Rpi-monitor)
  • Apagar luces (led) indicadores funcionamiento (luz roja, actividad luz verde y red)
  • Actualizar booloader para arrancar con USB (eeprom)
  • Usar UEFI BIOS e incluso instalar Windows 10  (arm)
  • Instalar Docker en la Raspberry
  • Instalar ElasticSearch (ELK) 7 en la Raspberry Pi
  • Grabar imágenes SO en la Raspberry con Balena Etcher o Raspberry Pi Imager
  • Poner en modo monitor tarjeta de red Wifi
  • Seguridad en una Raspberry (ssh, Fail2ban, Firewall ufw, sudo, añadir usuarios, etc)
  • Aplicaciones App para controlar la Raspberry desde el teléfono móvil (Android)
  • Alternativas a la RaspBerry Pi

Raspberry Pi 4 ya tiene caja oficial con refrigeración por ventilador: cuesta apenas 5 dólares (Hasta 10 °C menos para mantener el rendimiento del dispositivo)

Tabla Comparativa Modelos Raspberry PI

Modelo

CPU

RAM

Conectividad inalámbrica

Puertos E/S

Precio

Raspberry Pi 4B

1.5-GHz, 4-core Broadcom BCM2711 (Cortex-A72)

2/4/8GB

802.11ac / Bluetooth 5.0

2x USB 3.0, 2x USB 2.0, 1x Gigabit Ethernet, 2x micro HDMI

39,95 euros (2GB)
61 euros (4GB)
93 euros (8GB)

Raspberry Pi 3 B+

1.4-GHz, 4-core Broadcom BCM2837B0 (Cortex-A53)

1GB

802.11ac, Bluetooth 4.2, Ethernet

4 x USB 2.0, HDMI, 3.5mm audio

39 euros

Raspberry Pi Zero W

1-GHz, 1-core Broadcom BCM2835 (ARM1176JZF-S)

512MB

802.11n / Bluetooth 4.1

1x micro USB, 1x mini HDMI

10,53 euros

Raspberry Pi Zero WH

1-GHz, 1-core Broadcom BCM2835 (ARM1176JZF-S)

512MB

802.11n / Bluetooth 4.1

1x micro USB, 1x mini HDMI

14,60 euros

Raspberry Pi Zero

1-GHz, 1-core Broadcom BCM2835 (ARM1176JZF-S)

512MB

-

1x micro USB, 1x mini HDMI

5,40 euros


Tarjeta MicroSD vs SSD vs USB

  • Consejo: no uses tarjeta MicroSD para según que proyecto. Son lentas, caras y acaban fallan. Es mejor usar un pendrive USB ahora que se puede arrancar por USB y a larga lo ideal es un disco duro SSD conectado por USB 3.0

De forma predeterminada, Raspberry Pi arranca y almacena todos sus programas en una tarjeta de memoria microSD, que tiene un ancho de banda teórico máximo de 50 MBps en Raspberry Pi 4 y solo 25 MBps en modelos anteriores. En la vida real, incluso las mejores tarjetas microSD para Raspberry Pi no superan los 38 MBps en escrituras secuenciales. El uso de un SSD externo como unidad de almacenamiento principal podría acelerar las cosas de manera significativa y, con algunos comandos y una simple actualización de firmware, puede hacerlo.

En nuestras pruebas de una Raspberry Pi 4 con SSD, obtuvimos un rendimiento impresionante con tasas de transferencia secuenciales de hasta 140 MB / 208 MBps para lectura y escritura. También puede usar una unidad flash USB estándar, aunque encontramos que el rendimiento es peor que una tarjeta microSD en muchas tareas.

Puedes o deberías usar una unidad SSD barata como Kingston A400 SATA3 y un adaptador de StarTech.com de USB 3.1 a 2.5". O un pendrive USB conectado en el puerto azul.

USB 3.0 UASP (50% más rápido)


La Raspberry Pi 4 con soluciones de almacenamiento USB 3.0, microSD o UASP

Un SSD USB 3.0 es diez veces más rápido que la tarjeta microSD más rápida que ha puesto a prueba. Sin embargo, este no es el sistema más rápido que podemos encontrar, un comentario de otro usuario puso a Geerling sobre la pista: no había probado el sistema de UASP (USB Attached SCSI)

UASP o UAS son las siglas de USB Attached SCSI (UAS) o USB Attached SCSI Protocol (UASP). Se trata de un protocolo informático utilizado para mover datos con dispositivos de almacenamiento USB como discos duros (HDD), unidades de estado sólido (SSD) y unidades de memoria USB.  Este protocolo permite por lo general transferencias más rápidas en comparación con el BOT, Bulk-Only Transport.

BOT se diseñó para transferir archivos cuando la velocidad más rápida que podía obtener un USB era de 12 Mbps. Las pruebas muestran una velocidad de transferencia con BOT de 172.13MB/s, pero si usamos UASP la velocidad de transferencia sube hasta los 296.71MB/s.

Tras realizar estas pruebas, los resultados demuestran que es aconsejable usar UASP siempre con los dispositivos USB 3.0 para conseguir velocidades de transferencia mayores con nuestra Raspberry Pi. Es importante no olvidar que los USB 3.0 deben conectarse en los puertos USB 3.0 azules y no en los USB 2.0 de color negro, de lo contrario no ganaríamos en rendimiento. 

Para ver si tu dispositivo USB es compatible con UASP

lsusb -t

El driver debe ser:

 Driver=uas 

Verificar velocidad de cualquier dispositivo (SD, USB, SSD)

sudo curl https://raw.githubusercontent.com/TheRemote/PiBenchmarks/master/Storage.sh | sudo bash 

Puedes ver los resultados en:

Si usas la Raspberry Pi y arrancas  mediante un dispositivo SSD o USB, puedes evitar que la Raspberry esté buscando la tarjeta SD continuamente, editar el /boot/config.txt y añadir:
dtparam=sd_poll_once

Nota:

El led de color verde de la Raspberry Pi dejará de funcionar. Esto es así porque mediante el comando que introducimos en /boot/config.txt hacemos que la Raspberry Pi únicamente verifique en el arranque si tenemos insertada una tarjeta MicroSD. 

Raspberry Pi OS Debian 10 Buster (Raspios - Raspbian)

Con el lanzamiento de la Raspberry Pi 4 también llego una nueva versión de su sistema operativo oficial: Raspbian Buster el Debian 10 para Raspberry Pi. Como siempre el nombre se corresponde con un personaje de las películas de Toy Story y en este caso le ha tocado al perro de Andy: Buster.

El sistema operativo Raspberry Pi OS se conocía antes como Raspbian.

Raspberry Pi OS (32-bit)  (Raspbian)

Hay varias versiones (de mayor tamaño a menor)
  • Raspberry Pi OS with desktop and recommended software
  • Raspberry Pi OS with desktop
  • Raspberry Pi OS Lite
Disponibles en:

Arquitectura: armv7l (armhf 32 bits pero soporta 64bits) armhf = hardware floating
Pero también puedes añadir soporte 64 bits al 32 bits existente añadiendo el parámetro en /boot/config.txt para cargar al kernel
arm_64bit=1

Raspbian Oficial 64 bits (beta)


Arquitectura: arm64
uname -a
aarch64

Ubuntu RaspBerry Pi armhf y arm64 versiones 18.04.5 LTS y 19.10.1

Debian RaspBerry 64 bits

Otras

Instalar software fácilmente en la RaspBerry Pi usando Pi-Apps


Pi-Apps es una colección de scripts bash para instalar aplicaciones fácilmente



Instalar:
git clone https://github.com/Botspot/pi-apps

Instalar App 

~/pi-apps/manage install




Puedes instalar:

  • Zoom
  • Discord
  • Arduino 
  • AnyDesk
  • Tor
  • VeraCrypt
  • WhatsApp
  • Wine
  • Steam
  • Doom 3
Listado Completo:

Clonar (duplicar) una tarjeta SD


En Windows insertamos nuestra tarjeta SD en la ranura del ordenador (o en un adaptador USB en mi caso) e iniciamos Win32 Disk Imager y seleccionamos el fichero de imagen a crear, en nuestro ejemplo: D:/RPi/Imagenes/20130906. No hay que olvidar seleccionar la unidad asignada a la tarjeta SD. Pulsamos "Read" para crear la imagen y listo:


Ahora si queremos recuperar la imagen simplemente sería formatear la tarjeta SD, seleccionar la imagen creada y pulsar el botón "Write".Y en Linux no es más difícil con el comando dd: 

"if" es el origen "of" el destino

sudo dd if=/dev/sdb of=/home/usuario/imagen.img status=progress

dd if=/dev/sdx of=/path/to/image bs=1M..

 

SD Card Copier (piclone)

SD Card Copier (piclone) es la herramienta que integra el sistema operativo Raspbian para el clonado de tarjetas microSD de forma gráfica, es decir, podemos copiar todo el contenido de una tarjeta microSD a otra haciendo un clon idéntico sin utilizar la línea de comandos.


O directamente mediante ssh

ssh pi@DIRECCION_IP_RASPBERRY "sudo dd if=/dev/mmcblk0 bs=1M | gzip -" | dd of=/PATH_DONDE_DEJAR_LA_COPIA/FICHERO_IMAGEN_RASPBERRY.gz

Nos hará una imágen idéntica de su Raspbian en un fichero comprimido, ojo, se ha de subrayar que quizás estas copias no son estables, dependerá de diversos motivos, pero personalmente hasta el día de hoy he restaurado backups de este tipo sin sorpresas, cuando alguna Raspberry se ‘muere’, simplemente descomprimo este backup y se lo vuelvo a una nueva SD, la Pi arranca y ni se entera, y todo vuelve a su ser. 

Configurar Wifi en RapsBerry Pi


Configurar una Raspberry Pi para controlarla vía red

Si no usas un monitor o un teclado para ejecutar su Pi (conocido como "headless"), pero aún necesita realizar una configuración inalámbrica, existe una función para habilitar la red inalámbrica y SSH al crear una imagen.

Una vez que se crea una imagen en una tarjeta SD, al insertarla en un lector de tarjetas en una máquina Linux o Windows se puede acceder a la carpeta de inicio. Agregar ciertos archivos a esta carpeta activará ciertas funciones de configuración en el primer arranque de la propia Pi.

Configurar una red inalámbrica


Deberá definir un archivo wpa_supplicant.conf para su red inalámbrica en particular. Coloque este archivo en la carpeta de inicio, y cuando el Pi se inicie por primera vez, copiará ese archivo en la ubicación correcta en el sistema de archivos raíz de Linux y usará esa configuración para iniciar la red inalámbrica. Después de que el Pi esté conectado a la alimentación, asegúrese de esperar unos minutos (hasta 5) para que se inicie y se registre en la red. La dirección IP del Pi no será visible inmediatamente después del encendido, por lo que este paso es crucial para conectarse sin cabeza. Dependiendo del sistema operativo y el editor en el que esté creando esto, el archivo podría tener nuevas líneas incorrectas o la extensión de archivo incorrecta, así que asegúrese de usar un editor que tenga en cuenta esto. Linux espera el carácter de salto de línea (LF). Para obtener más información, consulte este artículo de Wikipedia.

Ejemplo de archivo /etc/wpa_supplicant/wpa_supplicant.conf:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=ES

network={
 ssid="Nombre Red Wifi-Wireless"
 psk="Contraseña Wifi"
}

Tenga en cuenta que algunos dongles inalámbricos más antiguos no admiten redes de 5 GHz.

Puede encontrar más información sobre el archivo wpa_supplicant.conf aquí. Consulta Wikipedia para obtener una lista de códigos de país ISO 3166-1 de 2 letras.

Ejecuta el comando:
wpa_cli -i wlan0 reconfigure


Configurar más de una red Wireless

Añade dos "networks". Podemos establecer la prioridad con priority

network={

    ssid="HomeOneSSID"

    psk="passwordOne"

    priority=1

    id_str="homeOne"

}


network={

    ssid="HomeTwoSSID"

    psk="passwordTwo"

    priority=2

    id_str="homeTwo"

}

Utilizar conexión Ethernet y Wifi a la vez 

Parece que la mayoría de los tutoriales que encuentra en Internet ya no son válidos, ya que fueron escritos para Debian Wheezy y todos usan el archivo /etc/network/interfaces
 
El archivo que necesita editar para Jessie,Stretch and Buster es el archivo /etc/dhcpcd.conf.

Usando Metricas


Las reglas para los cálculos de métricas de dhcpcd son:

  • Las métricas se utilizan para preferir una interfaz sobre otra, métrica más baja tiene prioridad.
  • dhcpcd proporcionará una métrica predeterminada de 200
  • Se agregarán 100 adicionales de métricas para las interfaces inalámbricas (wlan)

Con los comandos

 ip route list


route -n


Podemos ver "metric". Y utilizar metric para dar prioridad. Ethernet (cable) siempre tiene prioridad sobre el Wifi. Así que si conectamos por cable es posible que perdamos el Wifi, para cambiarlo en el fichero dhcpcd.conf

O puedes usar ifmetric "on-the-fly"


$ sudo apt install ifmetric

$ sudo ifmetric wlan0 200



El número más bajo tiene prioridad. 

Ahora el Wifi tiene prioridad sobre Ethernet

interface eth0
metric 300

interface wlan0
metric 200

Por defecto 
  • 200 + ifindex (número de índice de la interfaz) para adaptadores Ethernet 
  • y 300 + ifindex para interfaces WiFi. Para las interfaces integradas en un Pi 3 o 4, esto da como resultado la métrica 202 para eth0 y 303 para wlan0, dando prioridad al uso de Ethernet cuando está conectado.
Y mejor que estén en redes separadas:

interface eth0
static routers=192.168.0.1

interface wlan0
static routers=192.168.1.0

Añadir rutas 

default via 192.168.0.1 dev eth0 src 192.168.0.105 metric 202
default via 192.168.1.1 dev wlan0 src 192.168.1.136 metric 303

Y elimina las default routes

sudo ip route del default via ......

 Para que funcionen a la vez de forma independiente:

ip route add table 1921680    default via 192.168.0.1 dev eth0
ip route add table 1921681  default via 192.168.1.1 dev wlan0

Y añadir

ip rule add from 192.168.0.0/22   lookup 1921680
ip rule add from 192.168.1.0/24 lookup 1921681

Configurar dirección IP estática

 Editar fichero /etc/network/interfaces


Deshabilitar Wifi (wlan0) y BlueTooth

Hay muchas maneras

  • Escritorio de raspberry arriba a la derecha
  • Comando sudo ifconfig wlan0 down
  • rfwill
  • overlays
  • modprobe (módulos del kernel)
  • systemctl


1) Con el comando rfkill

Instalamos
sudo apt install rfkill
Deshabilitamos Wifi:

sudo rfkill block wifi

Deshabilitar Bluetooth:

sudo rfkill block bluetooth 


Para desbloquear:

sudo rfkill unblock wifi 


2) Raspbian maneja el hardware con overlays. En /boot/overlays/README tienes toda la información

También podemos deshabilitarlo al iniciar el sistema. Editando el fichero:

sudo nano /boot/config.txt

Buscamos [all]

Deshabilitamos módulos wifi y bluetooth

# Wifi

dtoverlay=disable-wifi # antes llamado pi3-disable-wifi 

# bluetooth

dtoverlay=disable-bt # antes llamado dtoverlay=pi3-disable-bt

 3) con la carga de módulos del kernel modprobe

/etc/modprobe.d/brcm-blacklist.conf

o bien

sudo nano /etc/modprobe.d/raspi-blacklist.conf

Añadiendo:

blacklist brcmfmac

blacklist brcmutil

O todos  los módulos:

blacklist hci_uart

blacklist btbcm

blacklist btintel

blacklist rfcom

blacklist btqca

blacklist btsdio

blacklist bluetooth

4) con systemctl

systemctl disable wpa_supplicant

systemctl disable bluetooth

systemctl disable hciuart

Wifi deshabilitado
Wi-Fi is currently blocked by rfkill.

Deshabilitar ipv6

sudo nano /etc/sysctl.conf 

Para todas las inerfaces de red 

net.ipv6.conf.all.disable_ipv6 = 1 

Acceso remoto (SSH - VNC)


Sin teclado ni monitor, necesitarás alguna forma de acceder a la Raspberry Pi "sin cabeza". Hay varias formas de hacerlo y los detalles se pueden encontrar aquí. 

Acceder Remotamente a Kali Linux vía SSH

Habilitar SSH en una Raspberry Pi sin cabeza (agregue el archivo a la tarjeta SD en otra máquina)

Para la configuración sin cabeza, SSH se puede habilitar colocando un archivo llamado ssh, sin ninguna extensión, en la partición de arranque de la tarjeta SD (boot) desde otra computadora. Cuando el Pi arranca, busca el archivo ssh. Si se encuentra, SSH se habilita y el archivo se elimina. El contenido del archivo no importa; podría contener texto o nada en absoluto.

Si has cargado el sistema operativo Raspberry Pi en una tarjeta SD en blanco, tendrá dos particiones. El primero, que es el más pequeño, es la partición de arranque. Coloca el archivo en este.

Una vez conectado por ssh, una de las primeras cosas que tendrías que hacer es cambiar el nombre de usuario pi y contraseña raspberry

passwd

Después cambiar el el password de root

sudo passwd root 

Controlar las temperaturas de la Raspberry Pi


Si tienes en casa una Raspberry Pi encendida durante todo el día posiblemente te interese controlar si se calienta en exceso o no. El control de temperaturas es primordial cuando tenemos que controlar equipos que ejercen labores de servidor (Servidores web, de correo…) que implican estar encendidos sin apagar durante mucho tiempo.

Con el comando:
vcgencmd measure_temp
Ejecuta el comando
watch -n 1 "vcgencmd measure_clock arm; vcgencmd measure_temp"

 RPi-Monitor


RPi-Monitor es una solución más flexible que almacena datos por más tiempo y le permite consultarlos a través de una página web .

Hay varias formas de instalar RPi-Monitor. los encontrará en la página de utilidades. Elegí este método por su simplicidad de implementación. RPi-Monitor está disponible en un repositorio de Debian que permite la instalación con los comandos habituales apt-get o aptitude.

Instala la clave pública de RPi-Monitor para certificar el depósito

sudo apt-get install dirmngr

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 2C0D3C0F

Ejecuta los siguientes comandos para agregar RPi-Monitor a la lista de sus repositorios

sudo wget http://goo.gl/vewCLL -O /etc/apt/sources.list.d/rpimonitor.list

sudo wget http://goo.gl/vewCLL -O /etc/apt/sources.list.d/rpimonitor.list

Ahora puedes instalar RPi-Monitor

sudo apt-get update

sudo apt-get install rpimonitor

RPi-Monitor se inicia automáticamente y comienza a recopilar datos. Puede acceder a la interfaz web en http: //raspberrypi.local:8888 en la Raspberry Pi o en la dirección de su Raspberry Pi en el puerto 8888 desde otra máquina en la red (incluidos teléfonos inteligentes, tabletas ...)

Evolución de la carga de la CPU. Se leyó un video, se accedió a una página web, etc.

También podemos agregar complementos , aquí agregué Top3 que muestra los 3 consumidores de CPU más altos en la parte superior izquierda. Las instrucciones para agregar o crear complementos están disponibles en la página de utilidades .



GL-Z



Geek 3D ha sacado una versión de su herramienta con soporte para la Raspberry Pi, incluyendo el modelo más reciente de Raspberry Pi 4.

Llegáis a su web sin problemas: www.geeks3d.com/glz

Además de incluir versiones para Windows, macOS y Linux general, tenéis versiones para Raspberry Pi como he comentado y también para la Tinker Board de ASUS.


Apagar todas las luces del Raspberry 4 (Led Rojo encendido, led verde actividad y led cable red)

  • Led rojo en marcha
  • Led verde actividad del disco
  • Luces link Tarjeta de red Ethernet eth0

Requiere primero:
dtoverlay=act-led

Añadir en /boot/config.txt siempre en la sección

[pi4]

Led Roja

# Disable the PWR LED.

dtparam=pwr_led_trigger=none

dtparam=pwr_led_activelow=off

# nuevos modelos

dtparam=pwr_led_trigger=default-on

dtparam=pwr_led_activelow=off

Led verde

# Disable the ACT LED.

dtparam=act_led_trigger=none

dtparam=act_led_activelow=off

 Luz Led Internet eth0

# Disable ethernet port LEDs

dtparam=eth_led0=4

dtparam=eth_led1=4

Actualizar el booloader para arrancar con un USB 


Ver la versión actual del Bootloader EEPROM
vcgencmd bootloader_version
Actualizar si hay una nueva versión (requiere primero apt update, full-upgrade y reboot)
sudo rpi-eeprom-update 

Editar orden arranque:

 sudo -E rpi-eeprom-config --edit

Obtendremos algo así como:


[all]

BOOT_UART=0

WAKE_ON_GPIO=1

POWER_OFF_ON_HALT=0

DHCP_TIMEOUT=45000

DHCP_REQ_TIMEOUT=4000

TFTP_FILE_TIMEOUT=30000

TFTP_IP=

TFTP_PREFIX=0

BOOT_ORDER=0x1

SD_BOOT_MAX_RETRIES=3

NET_BOOT_MAX_RETRIES=5

[none]

FREEZE_VERSION=0 

Debemos cambiar el parámetro BOOT_ORDER por:

BOOT_ORDER=0xf41

Por defecto 0x1 es tarjeta MicroSD 

Explicación:

  • Valor Modo Descripción
  • 0x1 SD CARD SD card (or eMMC on Compute Module 4)
  • 0x2 NETWORK Network boot
  • 0x3 USB DEV USB device boot – See usbboot (since 2020-09-03)
  • 0x4 USB MSD USB mass storage boot (since 2020-09-03)
  • 0xe STOP Stop and display error pattern (since 2020-09-03). A power cycle is required to exit this state.
  • 0xf RESTART Start again with the first boot order field. (since 2020-09-03)

Así que BOOT_ORDER=0xf41 (habilita el arranque por SD si el USB falla o no está presente)

Y reiniciar con sudo reboot 

O usando raspi-config editar la configuración podemos cambiar la opciones de arranque

sudo raspi-config


Si queremos usar eeprom más nuevas (por defecto rama es "default"

  • default
  • latest
  • beta
Debemos editar el fichero:
sudo nano /etc/default/rpi-eeprom-update

Cambiar por: 

FIRMWARE_RELEASE_STATUS="beta"
Y guardar:

sudo rpi-eeprom-update -a

Usar UEFI en la RaspBerry Pi 

Instalar Docker en la RaspBerry Pi 

curl -fsSL https://get.docker.com | sh

o bien

 curl -fsSL https://get.docker.com -o get-docker.sh

Dar permisos usuarios para ejecutar docker

 sudo usermod -aG docker alex  

Instalar docker-compose

Pre-requisitos:

sudo apt-get install -y libffi-dev libssl-dev

 sudo apt-get install -y python3 python3-pip

Instalar docker-compose 

 pip3 -v install docker-compose

o mejor usar:

python3 -m pip install docker-compose

Puedes usar Portainer para controlar y manejar los containers

$ docker volume create portainer_data

$ docker run -d -p 8000:8000 -p 9000:9000 --restart unless-stopped --name="Portainer" -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer

$ docker network create docker 

Para acceder con el navegador:

http://ip_local:9000

Y elegir conectar con Docker "localmente" --> "local" 

Hypriot OS está expresamente configurado para poder usar contenedores. Este sistema operativo está basado en Debian, pero es tan liviano que es perfecto tanto para Raspberry Pi como para Docker.


Instalar ELK (ElasticSearch) en la Raspberry Pi

  • ELK (Elasticsearch + Logstash + Kibana) 

ELK 7.x ya tiene paquetes deb para arm64 (AARCH64)

Añadir la llave del repositorio:

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

Una dependencia por si no está instalada:

sudo apt-get install apt-transport-https 

Añadir repositorio:

echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-7.x.list 

Instalar normalmente: 

sudo apt-get update && sudo apt-get install elasticsearch 


También tenemos logstash, kibana, tc 

Grabar imagen en la tarjeta SD con Balena Etcher 

El software que vamos a utilizar para grabar un sistema operativo en la tarjeta SD de la Raspberry Pi 4 es Balena Etcher, también proyecto de Software Libre / Open Source que puedes utilizar en tu sistema operativo:


Una vez grabada y comprobada la imagen en la tarjeta SD, expulsarla/desmontarla y colocarla en la ranura de la Raspberry Pi 4 para arrancar desde ella.

También podemos grabar la imagen usando el programa Raspberry Pi Imager para actualizar la imagen dels sistema en una tarjeta microSD. Raspberry Pi Imager se puede descargar desde el sitio web oficial de Raspberry Pi Foundation. Está disponible para Windows 10, Mac y Ubuntu. 



Cambiar la contraseña de root y las claves SSH

El uso de claves SSH predeterminadas es terrible y puede llevar a ser víctima de un ataque man-in-the-middle. Debido a esto, necesitaremos cambiar nuestras claves SSH predeterminadas y habilitar SSH para que se ejecute en el arranque para comunicarnos de manera segura con nuestra Raspberry Pi 4 Modelo B a través de SSH.

En la ventana de su terminal, ingrese los siguientes comandos para cambiar el directorio a la carpeta que contiene las claves SSH y reconfigurar el servidor.

~# cd /etc/ssh/

~# dpkg-reconfigure openssh-server

Eso debería crear nuevas claves SSH. A continuación, ejecutaremos algunos comandos para habilitar los niveles de ejecución para SSH y permitirnos iniciar el servicio en el arranque para que podamos iniciar sesión de forma remota.

~# update-rc.d -f ssh remove

~# update-rc.d -f ssh defaults

~# nano /etc/ssh/sshd_config

En la ventana nano que se abre, asegúrese de que "PermitRootLogin" no esté marcado para permitir el inicio de sesión de root. Una vez hecho esto, puede presionar Control-x para salir de la ventana nano después de aplicar los cambios.

A continuación, escriba sudo service ssh restart para aplicar estos cambios. Finalmente, escriba update-rc.d -f ssh enable 2 3 4 5 para habilitar SSH en el arranque con la configuración que hemos aplicado.

~# sudo service ssh restart

~# update-rc.d -f ssh enable 2 3 4 5

Finalmente, necesitaremos cambiar la contraseña de root de toor. Para hacer esto, escriba passwd root y seleccione una nueva contraseña.

~# passwd root

Enter new UNIX password:

Retype new UNIX password:

passwd: password updated successfully

Ahora, nuestra Pi debería actualizarse, actualizarse y tener una contraseña y claves SSH únicas. Esto evitará que sea objetivo de herramientas como Rpi-hunter.

Poner en modo monitor la tarjeta interna Wifi

A continuación, vamos a poner nuestra tarjeta en modo de monitor inalámbrico, lo que nos permitirá hacer un par de cosas útiles, como capturar handshake de WPA y escuchar el tráfico de la red. La forma en que haremos esto es creando una interfaz de monitor, en lugar de llamar a airmon-ng como de costumbre. Esto se debe a que usaremos el parche Nexmon, una actualización de firmware que permite poner la tarjeta interna de la Pi en modo monitor. Para usarlo, abra una ventana de terminal y escriba los siguientes comandos.

~# iw phy `iw dev wlan0 info | gawk '/wiphy/ {printf "phy" $2}'` interface add mon0 type monitor

~# ifconfig mon0 up

~# ifconfig


Ahora debería ver una nueva interfaz llamada "mon0" que está en modo monitor y lista para usarse. Si esto no funcionó, puede probar estos comandos en su lugar.

~# sudo iw phy phy0 interface add mon0 type monitor

~# ifconfig mon0 up

~# ifconfig

Ahora, para probar la tarjeta, podemos usar airodump-ng para ver si está funcionando y recopilar información sobre las redes cercanas. Escriba lo siguiente y debería ver que las redes Wi-Fi cercanas comienzan a aparecer.

~ # airodump-ng mon0

También podemos ejecutar una prueba de inyección de paquetes usando el siguiente comando.

~ # aireplay-ng --test mon0

Si ve una prueba exitosa en su pantalla, ¡está funcionando! Tienes una interfaz de modo de monitor en su Raspberry Pi. 


App's para Android para controlar la RaspBerry

Acceso remotamente vía SSH, controlar temperatura, procesos, actividad, uso, etc.

Alternativas a la Raspberry PI

No hay comentarios:

Publicar un comentario