¿Cómo configuro conexiones inalámbricas a Raspbian Stretch?


8

Algunos tutoriales que encontré están desactualizados, pero la siguiente respuesta contiene una colección de notas que he usado para configurar conexiones inalámbricas domésticas, escolares (empresariales) y ad-hoc en mi Raspberry Pi 3.

Respuestas:


14

Raspberry Pi 3 (kernel 4.14.30-v7 +)

Esta publicación es una colección de notas y tutoriales que he usado para configurar conexiones inalámbricas a Raspberry Pi.

Avísame si tienes algún problema.


Configuración sin cabeza

Raspbian actualmente busca en la partición de arranque un par de archivos para permitir una configuración sin cabeza o conectar un Raspberry Pi a una red y establecer una conexión ssh desde una máquina externa sin monitor, pantalla o mouse.

Después de cargar Raspbian OS en una tarjeta micro SD Ubuntu command:

unzip -p 2018-03-13-raspbian-stretch-lite.zip | sudo dd of=/dev/sdX bs=4M conv=fsync status=progress

Agregue dos archivos a la partición de arranque antes de mover la tarjeta SD a la Pi.

  1. SSH debe habilitarse colocando un archivo llamado 'ssh', sin ninguna extensión, en la partición de arranque de la tarjeta SD. Esto le permitirá conectarse desde un dispositivo externo.
  2. Las conexiones de red deben estar definidas
    • agregue el archivo llamado "wpa_supplicant.conf" en la partición de arranque y complete la información de la red siguiendo el tutorial a continuación.

Ejemplo "wpa_supplicant.conf" para conexión doméstica:

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

network={
    ssid="NETWORK_NAME"
    psk="password"
}

¿Cuál es la dirección IP de Pi? Busque la dirección MAC, todos los RPi 3 tienen el mismo inicio en su dirección MAC. (No funcionará en la red de la empresa, pregunte al administrador sobre los privilegios)

Ubuntu command:

sudo nmap -sn 192.168.1.0/24 | grep -B 2 B8:27:EB

SSH

Se deshabilita automáticamente durante el arranque inicial.

Habilitar con

sudo raspi-config

Luego seleccione Interfacing OptionsSSHEnable


Conexión de red doméstica

La manera más fácil:

sudo raspi-config 

Seleccione Network OptionsWi-filuego siga las instrucciones en pantalla.

Forma manual:

Editar wpa_suplicant.conf

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Agregue lo siguiente:

network={
    ssid="NETWORK_NAME"
    psk="password"
}

Luego guarda el archivo


Conexión de red empresarial

Así es como me conecto al wifi de mi universidad

Primero cree el hash de contraseña y guárdelo en el archivo (mantenga las comillas simples alrededor de su contraseña):

echo -n 'YOUR_REAL_PASSWORD' | iconv -t utf16le | openssl md4 > hash.txt

Luego edite wpa_supplicant.conf

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Agregue lo siguiente:

network={
    ssid="NETWORK_NAME"
    proto=RSN
    key_mgmt=WPA-EAP
    group=CCMP TKIP
    identity="YOUR_USERNAME"
    password=hash:5ac87xxxxxxxxxxxxxxxxxxetc
    phase1="peaplabel=0"
    phase2="auth=MSCHAPV2"
}

Para agregar hash de contraseña:

  1. Mueva el cursor a donde desea colocar el texto
  2. Presione ctrl+ rluego inserte el archivo hash.txt
    • hash.txt contiene (stdin) = 5ac87xxxxxxxxxxxxxxxxxxetc
    • reemplace "(stdin) =" con "hash:"
  3. Guarda el archivo
  4. Borra tu historial de bash

    history -c
    
  5. Eliminar hash.txt

    rm hash.txt
    

Administrar múltiples conexiones

Agregue indicadores de prioridad a cada red en wpa_supplicant.conf

prioridad predeterminada = 0 (la mayor prioridad va primero)

Mi prioridad wpa_supplicant.conf:

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

network={
    priority=1
    ssid="NETWORK_A"
    psk="password"
}

network={
    priority=2
    ssid="NETWORK_B"
    proto=RSN
    key_mgmt=WPA-EAP
    group=CCMP TKIP
    identity="YOUR_USERNAME"
    password=hash:5ac87xxxxxxxxxxxxxxxxxxetc
    phase1="peaplabel=0"
    phase2="auth=MSCHAPV2"
}

Hay muchas más opciones de configuración, ejecuta man wpa_supplicant.confpara obtener información.


Red ad-hoc / punto de acceso / conexión de puente

Desea conectarse de forma inalámbrica a la pi pero no hay redes inalámbricas disponibles. ¡Crea tu propio!

La Raspberry Pi se puede configurar para transmitir una red inalámbrica. Esta red le permite conectar el pi, pero no se conectará a internet.

Configuración ad-hoc simple de Pi a Pi

En cada Rpi

Copie el archivo actual para la copia de seguridad

cp /etc/network/interfaces /etc/network/interfaces.old

Abrir archivo para editar

sudo nano /etc/network/interfaces

La única línea que debería ser diferente en el siguiente archivo es que addresstodo lo demás debería ser idéntico. Y puede cambiar el nombre de su red o agregar una contraseña

Agregue lo siguiente en Rpi A:

auto wlan0
iface wlan0 inet static
    address 192.168.1.1 
    netmask 255.255.255.0
    wireless-channel 1
    wireless-essid MYNETWORK
    wireless-mode ad-hoc

Agregue el siguiente Rpi B:

auto wlan0
iface wlan0 inet static
    address 192.168.1.2 `
    netmask 255.255.255.0
    wireless-channel 1
    wireless-essid MYNETWORK
    wireless-mode ad-hoc

Guarde el archivo y salga del editor.

Levante la interfaz:

sudo ifup wlan0

Busque redes ad-hoc:

iwlist wlan0 scan

Puede agregar más dispositivos a la red, solo debe asignar al dispositivo una nueva dirección IP estática diferente.

La frecuencia / canal de funcionamiento predeterminado (2.412 GHz: canal 1) se congestiona con frecuencia. Intente usar un canal diferente en caso de dificultades.

Cambiar wireless-channela un número diferente

Use sudo iwlist wlan0 scanpara encontrar otros canales.

src: https://wiki.debian.org/WiFi/AdHoc


Menos simple

Más complicado pero se conectará a redes conocidas y creará ad-hoc si no se encuentra ninguno.

Siga este tutorial (sin puente de Ethernet, lo he usado con éxito) http://www.raspberryconnect.com/network/item/331-raspberry-pi-auto-wifi-hotspot-switch-no-internet-routing

hostname -I 

Ejecute esto en Pi, luego me conecté a la segunda dirección IP que aparece a través de ssh pi @ [ipaddr] desde mi máquina host de Ubuntu.

Con el puente de Ethernet (no he probado esto, pero desde los mismos manipuladores que ↑) http://www.raspberryconnect.com/network/item/330-raspberry-pi-auto-wifi-hotspot-switch-internet


ERRORES CONOCIDOS:

¿La conexión SSH falla desde la máquina host a Pi? ejecutar con salida detallada:

ssh -vvvv pi@raspberrypi.local

Si los últimos comandos antes del cierre son:

debug1: SSH2_MSG_KEXINIT sent
Connection closed by raspberrypi.local port 22

Intente regenerar las claves de host que pueden faltar o estar dañadas (haga esto en Pi):

sudo rm /etc/ssh/ssh_host_*
sudo dpkg-reconfigure openssh-server 

https://www.raspberrypi.org/forums/viewtopic.php?t=168310


Referencias

man wpa_supplicant.conf

https://www.raspberrypi.org/forums/viewtopic.php?t=111100

https://www.doc.ic.ac.uk/~ajd/Robotics/RoboticsResources/wifi_setup.txt

https://gist.github.com/chatchavan/3c58511e3d48f478b0c2


Esta es una gran publicación ... ¡hay tantas cosas útiles aquí! Sugerencia: obtenga una cuenta de GitHub y publique esta 'receta' allí.
Seamus

2
Escanear el caché de arp tiene algunas desventajas: solo ve a los vecinos y el dispositivo deseado debe ser abordado antes de cualquier manera. Si no, entonces no está en el caché. Hacer ping a la dirección de transmisión antes puede funcionar para dirigirse a todos los vecinos, ¡pero a su administrador de red no le gusta eso! Una alternativa es nmap, por ejemplo, sudo nmap -sn 192.168.10.0/24 | grep -B 2 B8:27:EBpara los vecinos.
Ingo

1
Que está escribiendo bridging. Tenga en cuenta que no puede conectar el wifi real en la capa 2 de OSI con un raspi debido a los límites de hardware / controlador.
Ingo

0

Use este sencillo programa que encontré en Github: Rasp-Connect - Script Python fácil para conectar Raspbian a una red Wifi usando Python.

Es un script Python fácil que configura y configura para usted, solo necesita seleccionar qué tipo de cifrado e ingresar el SSID y la contraseña. Funciona muy bien y también admite ejecutar la herramienta sobre SSH.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.