Questo tutorial descrive come impostare la rete usando il gestore di rete predefinito dhcpcd incluso in Raspbian dal 2015-05-05.
Si applica alle versioni Foundation di Raspbian Buster, Raspbian Stretch, Raspbian Jessie e l’ultima Raspbian Wheezy.
Se si sta usando una connessione Ethernet con un router non dovrebbe essere necessaria alcuna configurazione e dovrebbe funzionare immediatamente.
I Pi3B+ e Pi4 hanno interfacce Gigabit Ethernet e funzionano su un router Gigabit Ethernet (1000BASE-T) solo se si usa un cavo CAT 5E a 8 fili. I precedenti modelli Pi che supportavano solo 100BASE-T funzionano su un cavo a 6 fili.
NOTA Il WiFi integrato del Pi3/Pi Zero W non supporta le reti a 5GHz, e potrebbe non connettersi al Ch 12,13 su reti a 2.4GHz fino a quando il dominio normativo wireless non è impostato.
Il WiFi sui dispositivi abilitati a 5GHz è disabilitato fino a quando il dominio normativo wireless non è impostato (Pi4B, Pi3B+, Pi3A+)
- Il dominio può essere impostato attraverso
Raspberry Pi Configuration
(rc_gui),raspi-config
o impostandocountry=
su un appropriato codice paese ISO 3166 alpha2 in/etc/wpa_supplicant/wpa_supplicant.conf
.
Se stai usando il WiFi e la GUI impostata seguendo le Foundation Guidelines
Se stai usando il WiFi dalla linea di comando impostata seguendo le Foundation GuidelinesQuesto è l’unico modo per impostare una rete che non trasmette SSID
.
Questo può anche essere usato per impostare un sistema ‘Headless’, ad esempio usando un cavo seriale per console, ma è MOLTO più facile se puoi prendere in prestito un monitor e una tastiera per la configurazione. Vedi sotto per un altro possibile metodo usando un cavo Ethernet con un PC.
- Headless Raspbian WiFi Setup
- Qual è il mio indirizzo IP?
- SSH
- File di rete
- Note sui sistemi operativi obsoleti
- Predictable Network Interface Names
- Impostare un indirizzo IP statico
- Configurazione avanzata di dhcpcd
- Profilo di ripiego
- Impedire a dhcpcd di configurare un’interfaccia
- Impedisci a dhcpcd di configurare un gateway su un’interfaccia
- Host Specific Configuration
- Usa diversi file wpa_supplicant
- Collegare un computer al Pi
- Scope:
Headless Raspbian WiFi Setup
Raspbian, da maggio 2016, controlla il contenuto della directory di avvio per un file chiamato wpa_supplicant.conf
, e copierà il file in /etc/wpa_supplicant
, sostituendo qualsiasi file wpa_supplicant.conf
esistente che possa esserci. Il file nella directory di avvio viene quindi rimosso. Questo può essere usato per abilitare la configurazione senza testa, usando le impostazioni wpa_supplicant.conf
dettagliate qui sotto o Impostare un Raspberry Pi senza testa (probabilmente vorrete abilitare anche ssh
.)
Qual è il mio indirizzo IP?
Se vuoi solo sapere il IP Address
che il tuo Pi sta usando inserisci hostname -I
sulla linea di comando.
SSH
A partire dalla release di novembre 2016, Raspbian ha il server SSH disabilitato di default. Dovrete abilitarlo manualmente.
Entrare sudo raspi-config
nel terminale, selezionare prima advanced options
, poi navigare fino a ssh
, premere Enter
e selezionare Abilita o disabilita il server ssh.
Per la configurazione headless, SSH può essere abilitato mettendo un file chiamato ‘ssh’, senza alcuna estensione, nella partizione di avvio della scheda SD.
File di rete
Se state usando una Raspbian recente
/etc/network/interfaces
dovrebbe essere come sotto. Se l’avete cambiato rimettetelo a posto. (O suStretch
cancellalo semplicemente – in effetti non fa nulla.)
# interfaces(5) file used by ifup(8) and ifdown(8)# Please note that this file is written to be used with dhcpcd# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'# Include files from /etc/network/interfaces.d:source-directory /etc/network/interfaces.d
Il file /etc/wpa_supplicant/wpa_supplicant.conf
sarà creato/modificato dai metodi di configurazione raccomandati, ma può essere impostato a mano. I Raspbian recenti hanno un’opzione in raspi-config
per inserire SSID e password. Dovrebbe contenere qualcosa come il seguente:-
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdevupdate_config=1country=AUnetwork={ ssid="ESSID" psk="Your_wifi_password"}
Se hai bisogno di connetterti a una rete privata (cioè senza broadcast SSID
) includi la linea scan_ssid=1
dentro network={⋯}
.
NOTE Se vuoi connetterti a reti diverse (ad es.Es. al lavoro o a casa) puoi includere più voci
network={⋯}
.
Se hai accesso a più reti e vuoi connetterti a una rete specifica, includi la linea
priority=100
dentro la vocenetwork={⋯}
.
Puoi selezionare una priorità diversa per ogni rete, verrà selezionata la rete accessibile con la priorità più alta; il valore predefinito è 0.
Ci sono molte altre opzioni che possono essere usate vedi man wpa_supplicant.conf
.
Note sui sistemi operativi obsoleti
Jessie non include il gancio 10-wpa_supplicant
per gestire le interfacce WiFi, quindi sono necessari collegamenti a wpa_supplicant. Queste impostazioni sono incompatibili con Predictable Network Interface Names.
Il /etc/network/interfaces
usato da Jessie dovrebbe essere:-
# interfaces(5) file used by ifup(8) and ifdown(8)# Please note that this file is written to be used with dhcpcd# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'# Include files from /etc/network/interfaces.d:source-directory /etc/network/interfaces.dauto loiface lo inet loopbackiface eth0 inet manualallow-hotplug wlan0iface wlan0 inet manual wpa-conf /etc/wpa_supplicant/wpa_supplicant.confallow-hotplug wlan1iface wlan1 inet manual wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
NOTE richiamare dhcp in /etc/network/interfaces
disabiliterà dhcpcd
.
Predictable Network Interface Names
Stretch
ha introdotto1 nomi di interfaccia di rete prevedibili che sono stati usati in altre distribuzioni per qualche tempo.
Le interfacce di rete avranno nomi formati da un prefisso en
– Ethernet o wl
– wlan seguito da x
che indica MAC
e il MAC
per esempio enxb827eb123456
o wlx00c140123456
.Il WiFi a bordo del Pi4, Pi3 e PIZeroW che è collegato tramite sdio
utilizzerà comunque il nome wlan0
Questo può essere vantaggioso per chi utilizza più interfacce di rete, tuttavia per la maggior parte degli utenti Pi, con una singola interfaccia Ethernet e WiFi farà poca differenza. I nomi precedenti eth0
e wlan0
possono essere ripristinati se si passa net.ifnames=0
sulla linea di comando del kernel in /boot/cmdline.txt
.
C’è un’opzione in raspi-config
per abilitare nomi di interfacce di rete prevedibili.
1. Per qualche ragione incomprensibile la Fondazione ha deciso di “Disabilitare i nomi prevedibili delle interfacce di rete per i dispositivi Ethernet” solo 3 settimane dopo aver introdotto la tanto attesa caratteristica. C’è un’opzione sotto Advanced Options
di raspi-config
per commutare questa impostazione.
Impostare un indirizzo IP statico
Se vuoi che al tuo Pi venga assegnato un indirizzo IP prevedibile puoi riservarne uno nel tuo router OPPURE richiedere al server DHCP di assegnarne uno.
Per esempio il seguente richiederà un indirizzo su wlan0.
interface wlan0request 10.1.2.99
request
Richiedi l’indirizzo nel messaggio DHCP DISCOVER. Non c’è garanzia che questo sia l’indirizzo che il server DHCP darà effettivamente. Se non viene dato alcun indirizzo allora viene usato il primo indirizzo attualmente assegnato all’interfaccia.
Se si richiede un indirizzo IP all’interno della gamma gestita dal server DHCP che è disponibile questo dovrebbe essere onorato, altrimenti il server DHCP assegnerà un indirizzo come normale.
Se hai DAVVERO bisogno di un indirizzo IP statico vedi risposta separata Indirizzo IP statico
Configurazione avanzata di dhcpcd
Raspbian, per default, usa dhcpcd
per gestire le interfacce di rete. Questo è automatico, e la maggior parte degli utenti non ha bisogno di fare altro che specificare l’SSID e la password per le reti wireless.
È possibile configurare come funziona dhcpcd
inserendo opzioni in /etc/dhcpcd.conf
; si veda man dhcpcd.conf
.C’è un buon articolo su dhcpcd
a https://wiki.archlinux.org/index.php/dhcpcd
Le seguenti descrivono alcune delle configurazioni più comuni:-
Profilo di ripiego
È possibile configurare un profilo statico all’interno di dhcpcd
e ritornare ad esso quando il lease DHCP fallisce. Questo è utile soprattutto per le macchine senza testa, dove il profilo statico può essere usato come profilo di “recupero” per assicurare che sia sempre possibile connettersi alla macchina. Il profilo statico è impostato come qualsiasi altro indirizzo IP statico
# define static profile profile static_eth0 static ip_address=⋯ static routers=⋯ static domain_name_servers=⋯ # fallback to static profile on eth0 interface eth0 fallback static_eth0
Impedire a dhcpcd di configurare un’interfaccia
Questo è spesso fatto per permettere al Pi di agire come un Access Point (che deve essere configurato usando altri file), mentre permette la normale configurazione DHCP
su altre interfacce.
Aggiungi denyinterfaces wlan0
alla fine del file (ma sopra qualsiasi altra linea di interfaccia aggiunta).
Impedisci a dhcpcd di configurare un gateway su un’interfaccia
Se vuoi che un’interfaccia non installi alcun percorso predefinito (spesso usato in combinazione con un indirizzo IP statico) specifica
nogateway
Host Specific Configuration
dhcpcd
può configurare interfacce dipendenti dalla rete host. Questo usa l’Address Resolution Protocol (ARP) per sondare gli host in base all’indirizzo MAC o IP prima di tentare la risoluzione DHCP.
interface bge0 arping 192.168.0.1 # My specific 192.168.0.1 network profile dd:ee:aa:dd:bb:ee static ip_address=192.168.0.10/24 # A generic 192.168.0.1 network profile 192.168.0.1 static ip_address=192.168.0.98/24
Si può accelerare DHCP disabilitando l’ARP probing se non si usano queste funzioni e si ha una rete semplice.
noarp
Usa diversi file wpa_supplicant
È possibile configurare dhcpcd per usare diversi file wpa_supplicant.conf per una specifica interfaccia wireless.
Crea un file chiamato wpa_supplicant-"$interface".conf
in /etc/wpa_supplicant/
ad esempio wpa_supplicant-wlan0.conf
sarà usato solo da wlan0
/etc/wpa_supplicant/wpa_supplicant.conf
sarà usato per qualsiasi altra interfaccia wireless.
Collegare un computer al Pi
Le ultime versioni di Raspbian (che usano dhcpcd
) permettono a ssh
di lavorare su un indirizzo link-local
e avahi
(che è un’implementazione di zeroconf) permette ai programmi di scoprire gli host in esecuzione su una rete locale.
Questo significa che si può collegare il Pi ad un computer (con un cavo Ethernet) o ad un router di rete locale e connettersi senza conoscere l’indirizzo IP.
Puoi connetterti facilmente da Linux e OS X con ssh [email protected]
(l’hostname di default è raspberrypi
) Questo dovrebbe funzionare con i più diffusi programmi GUI ssh
.Questo è a volte problematico con alcune versioni di Windows e reti che usano .local in modo non standard. (Vedi https://en.wikipedia.org/wiki/.local)
NOTE La risoluzione .local
non funziona sempre, per esempio in rsync
. Il seguente dovrebbe risolvere l’IP (e può essere incluso negli script bash
)RemotePi=$(getent hosts hostname.local | awk '{ print }')
Se il tuo sistema non ha getent
per interrogare il hosts
, ad esempio macOS, puoi usare il seguente:-RemotePi=$(arp -n hostname.local | awk '{x = ; gsub(//, "", x); print x }')
Se hai più Pi devi assicurarti che ogni Pi abbia un hostname unico.
Puoi usare un cavo crossover, ma non ne hai bisogno (la maggior parte delle interfacce moderne lo rileva automaticamente).
Un inconveniente della connessione diretta è che il Pi non avrà accesso a Internet e la data non sarà impostata. Puoi copiare la data dall’host eseguendo ssh [email protected] sudo date -s$(date -Ins)
prima della connessione.
Scope:
Questo tutorial riguarda la configurazione di una normale installazione di Raspbian per accedere a internet usando il software incluso. Copre anche le connessioni ad altri computer sulla stessa rete.
E’ rivolto principalmente ad aiutare i nuovi utenti che lottano per far funzionare il loro Pi (specialmente il WiFi).
Non copre:-
- Altri gestori di rete.
- Eseguire un networking avanzato sul Pi (per esempio
DHCP
server, Tunnelling, VPN, Access Point).- Uso di
ipv6
(anche se se hai una reteipv6
questo dovrebbe funzionare).- Configurazioni alternative di networking. (Ci sono molti modi diversi di impostare la rete.)