Risposte:
Questa esercitazione descrive come configurare la rete utilizzando il gestore di rete predefinito dhcpcd incluso in Raspbian dal 05-05-2015.
Si applica alle versioni Foundation di Raspbian Buster , Raspbian Stretch , Raspbian Jessie e l'ultimo Raspbian Wheezy .
Le impostazioni di Buster sono identiche a Stretch.
Se si utilizza una connessione Ethernet con un router, non dovrebbe essere necessaria alcuna configurazione e dovrebbe funzionare immediatamente.
NOTA Il WiFi integrato Pi3 / Pi Zero W non supporta reti a 5 GHz e potrebbe non connettersi a Ch 12,13 su reti a 2,4 GHz fino a quando non viene impostato il dominio di regolamentazione wireless .
Il WiFi sui dispositivi abilitati a 5 GHz è disabilitato fino all'impostazione del dominio di regolamentazione wireless (Pi4B, Pi3B +, Pi3A +)
- Il dominio può essere impostato tramite
Raspberry Pi Configuration
(rc_gui)raspi-config
o impostandocountry=
un codice paese ISO 3166 alpha2 appropriato in/etc/wpa_supplicant/wpa_supplicant.conf
.
Se si utilizza il WiFi e la GUI configurati seguendo le Linee guida di base
Se si utilizza il WiFi dalla riga di comando impostata seguendo le Linee guida di base
Questo è l'unico modo per configurare una rete che non trasmette SSID
.
Questo può anche essere usato per configurare un sistema "senza testa", ad esempio usando un cavo per console seriale, ma è MOLTO più semplice se puoi prendere in prestito un monitor e una tastiera per l'installazione. Vedi sotto per un altro possibile metodo usando un cavo Ethernet per un PC.
Raspbian , da maggio 2016, controlla il contenuto della directory di avvio per un file chiamato wpa_supplicant.conf
e lo copia in /etc/wpa_supplicant
, sostituendo qualsiasi wpa_supplicant.conf
file esistente che potrebbe essere lì. Il file nella directory di avvio viene quindi rimosso. Questo può essere usato per abilitare la configurazione senza testa, usando le wpa_supplicant.conf
impostazioni descritte di seguito. (Probabilmente vorrai abilitare ssh
anche tu .)
Se vuoi solo sapere che il IP Address
tuo Pi sta usando entra hostname -I
nella riga di comando.
A partire dalla versione di novembre 2016, Raspbian ha il server SSH disabilitato per impostazione predefinita. Dovrai abilitarlo manualmente.
Immettere sudo raspi-config
nel terminale, selezionare prima advanced options
, quindi navigare ssh
, premere Enter
e selezionare Abilita o disabilita server ssh.
Per una configurazione senza testa, SSH può essere abilitato posizionando un file chiamato "ssh", senza alcuna estensione, nella partizione di avvio della scheda SD.
Se stai eseguendo un recente Raspbian
/etc/network/interfaces
dovrebbe essere come di seguito. Se lo hai cambiato, RITORNA. (OStretch
semplicemente cancellandolo - non fa NIENTE.)
# interfaces (5) file utilizzato da ifup (8) e ifdown (8) # Si noti che questo file è stato scritto per essere utilizzato con dhcpcd # Per IP statico, consultare /etc/dhcpcd.conf e 'man dhcpcd.conf' # Includi file da /etc/network/interfaces.d: directory sorgente /etc/network/interfaces.d
Il file /etc/wpa_supplicant/wpa_supplicant.conf
verrà creato / modificato con i metodi di installazione consigliati, ma può essere impostato manualmente. Raspbian recente ha un'opzione raspi-config
per inserire SSID e password. Dovrebbe contenere qualcosa di simile al seguente: -
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=AU
network={
ssid="ESSID"
psk="Your_wifi_password"
}
Se è necessario connettersi a una rete privata (ovvero nessuna trasmissione SSID
), includere la linea scan_ssid=1
all'interno network={⋯}
.
NOTA Se si desidera connettersi a reti diverse (ad es. Al lavoro o a casa) è possibile includere più
network={⋯}
voci.Se si ha accesso a più reti e si desidera connettersi a una rete specifica, includere la linea
priority=100
all'interno dellanetwork={⋯}
voce.
È possibile selezionare una priorità diversa per ciascuna 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
.
Jessie non include l' 10-wpa_supplicant
hook per gestire le interfacce WiFi, quindi sono necessari i collegamenti a wpa_supplicant. Queste impostazioni non sono compatibili con i nomi delle interfacce di rete prevedibili.
L' /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.d
auto lo
iface lo inet loopback
iface eth0 inet manual
allow-hotplug wlan0
iface wlan0 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
allow-hotplug wlan1
iface wlan1 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
NOTA la chiamata a dhcp in /etc/network/interfaces
verrà disabilitata dhcpcd
.
Stretch
introdotto 1 nomi di interfaccia di rete prevedibili che sono stati utilizzati in altre distribuzioni per qualche tempo.
Interfacce di rete avranno nomi formati da un prefisso en
- Ethernet o wl
- WLAN seguita dalla x
indicazione MAC
e l' MAC
esempio enxb827eb123456
o wlx00c140123456
. Il WiFi di bordo di Pi4, Pi3 e PIZeroW che è collegato sdio
utilizzerà comunque il nomewlan0
Questo può essere utile per coloro che utilizzano 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
alla riga di comando del kernel /boot/cmdline.txt
.
È disponibile un'opzione raspi-config
per abilitare nomi di interfaccia di rete prevedibili.
1. Per qualche ragione incomprensibile, la Fondazione ha deciso di "disabilitare i nomi delle interfacce di rete prevedibili per i dispositivi Ethernet" solo 3 settimane dopo l'introduzione della tanto attesa funzionalità. C'è un'opzione sotto Advanced Options
di raspi-config
per attivare questa impostazione.
Vedere la risposta separata Indirizzo IP statico
dhcpcd
Configurazione avanzataRaspbian, per impostazione predefinita, utilizza dhcpcd
per gestire le interfacce di rete. Questo è automatico e la maggior parte degli utenti non deve fare altro che specificare SSID e password per le reti wireless.
È possibile configurare il dhcpcd
funzionamento inserendo le opzioni in /etc/dhcpcd.conf
; vedi man dhcpcd.conf
.C'è un buon articolo su dhcpcd
a https://wiki.archlinux.org/index.php/dhcpcd
Di seguito vengono descritte alcune delle configurazioni più comuni: -
È possibile configurare un profilo statico all'interno dhcpcd
e ricorrere ad esso quando il lease DHCP fallisce. Ciò è particolarmente utile per le macchine senza testa, in cui il profilo statico può essere utilizzato come profilo di "ripristino" per garantire che sia sempre possibile connettersi alla macchina. Il profilo statico è configurato come qualsiasi altro indirizzo IP statico
# definisce il profilo statico profilo static_eth0 indirizzo_ip statico = ⋯ router statici = ⋯ static domain_name_servers = ⋯ # fallback al profilo statico su eth0 interfaccia eth0 fallback static_eth0
dhcpcd
configurazione di un'interfacciaQuesto viene spesso fatto per consentire a Pi di fungere da punto di accesso (che deve essere configurato utilizzando altri file), consentendo al contempo la normale DHCP
configurazione su altre interfacce.
Aggiungi denyinterfaces wlan0
alla fine del file (ma sopra ogni altra riga di interfaccia aggiunta).
dhcpcd
di configurare un gateway su un'interfacciaSe si desidera che un'interfaccia non installi alcuna route predefinita (spesso utilizzata insieme a un indirizzo IP statico), specificare
nogateway
dhcpcd
può configurare interfacce dipendenti dalla rete host. Questo utilizza l'ARP (Address Resolution Protocol) per sondare gli host in base all'indirizzo MAC o IP prima di tentare la risoluzione DHCP.
interfaccia bge0 arping 192.168.0.1 # La mia rete 192.168.0.1 specifica profilo dd: ee: aa: dd: bb: ee indirizzo_ip statico = 192.168.0.10 / 24 # Una rete generica 192.168.0.1 profilo 192.168.0.1 indirizzo_ip statico = 192.168.0.98 / 24
È possibile accelerare il DHCP disabilitando il rilevamento ARP se non si utilizzano queste funzionalità e si dispone di una rete semplice.
noarp
È possibile configurare dhcpcd per utilizzare diversi file wpa_supplicant.conf per una specifica interfaccia wireless.
Crea un file chiamato wpa_supplicant-"$interface".conf
in /etc/wpa_supplicant/
eg wpa_supplicant-wlan0.conf
sarà usato solo dawlan0
/etc/wpa_supplicant/wpa_supplicant.conf
verrà utilizzato per qualsiasi altra interfaccia wireless.
Le versioni recenti di Raspbian (che utilizzano dhcpcd
) consentono ssh
di lavorare su un link-local
indirizzo e avahi
(che è un'implementazione di zeroconf) consente ai programmi di rilevare host in esecuzione su una rete locale.
Ciò significa che è possibile collegare il Pi a un computer (con un cavo Ethernet) o un router di rete locale e connettersi senza conoscere l'indirizzo IP.
È possibile connettersi facilmente da Linux e OS X con ssh pi@hostname.local
(il nome host predefinito è raspberrypi
). Questo dovrebbe funzionare con i ssh
programmi di interfaccia grafica più diffusi. Questo a volte è problematico con alcune versioni di Windows e reti che utilizzano .local in modo non standard. (Vedi https://en.wikipedia.org/wiki/.local )
NOTA la .local
risoluzione non funziona sempre, ad es rsync
. In . Quanto segue dovrebbe risolvere l'IP (e può essere incluso negli bash
script)
RemotePi=$(getent hosts hostname.local | awk '{ print $1 }')
Se il tuo sistema non deve getent
interrogare hosts
ad esempio macOS, puoi utilizzare quanto segue: -
RemotePi=$(arp -n hostname.local | awk '{x = $2; gsub(/[()]/, "", x); print x }')
Se hai più Pi devi assicurarti che ogni Pi abbia un nome host univoco.
Puoi usare un cavo crossover, ma non ne hai bisogno (la maggior parte delle interfacce moderne rileva automaticamente).
Uno svantaggio della connessione diretta è che il Pi non avrà accesso a Internet e la data non verrà impostata. È possibile copiare la data dall'host eseguendo ssh pi@hostname.local sudo date -s$(date -Ins)
prima della connessione.
Questo tutorial riguarda la configurazione di una normale installazione di Raspbian per accedere a Internet utilizzando il software incluso. Copre anche le connessioni ad altri computer sulla stessa rete.
Ha principalmente lo scopo di aiutare i nuovi utenti che lottano per far funzionare il loro Pi (specialmente WiFi).
NON copre: -
- Altri gestori di rete.
- Esecuzione di reti avanzate sul Pi (ad es.
DHCP
Server, tunneling, VPN, punto di accesso).- Uso di
ipv6
(anche se se si dispone di unaipv6
rete dovrebbe funzionare).- Configurazioni di rete alternative. (Esistono molti modi diversi per configurare la rete.)
Le domande sull'impostazione dell'indirizzo IP statico sono tra le più comuni in questo sito. Esistono moltissimi tutorial (molti errati, obsoleti o incompleti).
Clausola di esclusione della responsabilità
Prima di procedere mi sento obbligato a dichiarare che NON è consigliabile impostare un indirizzo statico. Gli ingegneri delle telecomunicazioni non lo fanno. Gli indirizzi IP statici possono essere la rovina della vita di un amministratore di rete. Esistono situazioni in cui sono necessari indirizzi IP statici, ad esempio se si esegue un server DHCP o si esegue una rete isolata senza server DHCP.
Se sei determinato a procedere comunque, assicurati di farlo bene. Adattato dal tutorial Network Foundation
Ciò è più semplice con Pi stesso, tramite DHCP, ma può essere eseguito su qualsiasi computer della rete, sebbene i comandi possano differire su altri sistemi.
Correre
ip -4 addr show | grep global
che dovrebbe dare un output come:
inet 10.1.1.30/24 brd 10.1.1.255 scope global eth0
inet 10.1.1.31/24 brd 10.1.1.255 scope global wlan0
Il primo indirizzo è l'indirizzo IP del tuo Pi sulla rete e la parte dopo la barra è la dimensione della rete. È molto probabile che il tuo sia un / 24.
Il secondo indirizzo è l'indirizzo brd (broadcast) della rete.
Trova l'indirizzo del tuo router (o gateway)
ip route | grep default | awk '{print $3}'
10.1.1.1
Annota infine l'indirizzo del tuo server DNS, che è spesso lo stesso del tuo gateway.
cat /etc/resolv.conf
# Generated by resolvconf
nameserver 10.1.1.1
Quindi seguire UNO dei seguenti metodi. (Ci sono altri metodi non documentati qui. Questi sono i più comuni su Raspbian.) ( In entrambi i metodi sostituire il nome dell'interfaccia di rete appropriato per eth0
, wlan0
o nomi di interfaccia di rete prevedibili . )
Se si desidera trovare i nomi dell'interfaccia, anche se non connessi, eseguire il comando seguente ls /sys/class/net/
In entrambi i metodi è necessario scegliere gli indirizzi IP che non sono in uso; idealmente al di fuori dell'intervallo utilizzato dal server DHCP, all'interno della stessa sottorete.
Lasciare /etc/network/interfaces
il valore predefinito (come sopra).
Modifica /etc/dhcpcd.conf
come segue: -
Here is an example which configures a static address, routes and dns.
interface eth0
static ip_address=10.1.1.30/24
static routers=10.1.1.1
static domain_name_servers=10.1.1.1
interface wlan0
static ip_address=10.1.1.31/24
static routers=10.1.1.1
static domain_name_servers=10.1.1.1
ip_address
è l'indirizzo e le dimensioni del comando sopra (o un altro indirizzo inutilizzato sulla stessa rete),
routers
è l'indirizzo del tuo router (o gateway).
domain_name_servers
è l'indirizzo / i DNS di /etc/resolv.conf. (vedi man dhcpcd.conf
)
C'è un buon articolo su dhcpcd
al https://wiki.archlinux.org/index.php/dhcpcd Il Fallback profile
è un'alternativa alla IP statico
NOTA Questo metodo NON è raccomandato (e funziona solo se si disabilita il demone client DHCP), in particolare se si prevede di utilizzare entrambe le interfacce.
Configura un indirizzo di rete statico sul tuo Pi in /etc/network/interfaces
auto eth0
iface eth0 inet static
address 10.1.1.30
netmask 255.255.255.0
gateway 10.1.1.1
allow-hotplug wlan0
iface wlan0 inet static
address 10.1.1.31
netmask 255.255.255.0
gateway 10.1.1.1
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
address
è l'indirizzo dal comando sopra (o un altro indirizzo inutilizzato sulla stessa rete),
netmask
255.255.255.0 corrisponde alla dimensione della rete /24
.
gateway
è l'indirizzo del tuo router (o gateway).
Puoi anche specificare dns-nameservers
, ma generalmente non è necessario. La broadcast
deriva automaticamente da address
e netmask
e non devono essere specificati. Per ulteriori dettagli, consultare https://wiki.debian.org/Configuration di rete
È possibile impostare uno o entrambi eth0
, wlan0
o uno dei nomi di interfaccia di rete prevedibili
Quindi disabilitare il demone client DHCP e passare alla rete Debian standard :
sudo systemctl disable dhcpcd
sudo systemctl enable networking
Riavvia per rendere effettive le modifiche:
sudo reboot
systemd-analyze
.
static domain_search=example.local
al metodo dhcpcd.conf. Sentiti libero di ripristinare / modificare / contattarmi.
Per un indirizzo IP statico su una connessione Ethernet:
sudo nano /etc/dhcpcd.conf
Digita le seguenti righe nella parte superiore del file:
interface eth0
static ip_address=192.168.1.XX/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1
sudo reboot
Questo deve essere fatto per il recente aggiornamento di Jessie. /etc/network/interfaces
dovrebbe essere lasciato solo . Apri il browser e inserisci l'indirizzo del router (192.168.1.1 per la maggior parte) e controlla la tua rete domestica per assicurarti che Raspberry Pi sia visualizzato come "Statico".
dhcpcd
inferito la maschera di rete, che non può per altri intervalli di indirizzi. Leggi le man
pagine
auto eth0
sopra iface eth0 inet manual
nel /etc/network/interface
file. Riavvia la rete tramite sudo service networking restart
comando
Metodo breve e infallibile come fare con:
Questo imposterà un IP fisso e abiliterà il demone ssh:
/boot/cmdline.txt
e aggiungi ip=192.168.1.20
alla fine della riga./boot/ssh
ssh pi@192.168.1.20
la password è raspberry
. Usa Putty su Windows per connetterti tramite ssh.Sto usando questo per accedere a mia Raspbian Jessie e Stretch che si avvia senza un monitor collegato, solo con alimentazione ed ethernet. Dopo aver effettuato l'accesso con una shell ssh posso continuare la mia configurazione.
Dopo questo trattamento, Raspberry PI aveva due IP: uno dall'IP fisso specificato e uno dal client dhcp in esecuzione su Raspberry Pi.
ifconfig
ti mostrerà l'IP fisso. Considerando che l'icona blu della freccia in alto a destra mostra il dhcpd-IP.
La prima cosa da fare è rendere statico l'IP del tuo Raspberry pi. In modo che ogni volta che accendi il tuo Raspberry Pi, questo si colleghi al tuo punto di accesso (Hotspot).
Connettiti al tuo punto di accesso. Digita ifconfig nel terminale di raspberry pi e inserisci di seguito l'indirizzo IP, nel mio caso era 192.168.43.233
Inizia modificando il file dhcpcd.conf
sudo nano /etc/dhcpcd.conf
Scorri fino in fondo e aggiungi queste righe alla fine secondo la tua connessione (cablata o wireless).
interface eth0
static ip_address=192.168.0.10/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1
interface wlan0
static ip_address=192.168.43.233/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1
Premi Ctrl + x per salvare e riavviare. Ora accendi il tuo Raspberry Pi e si connetterà automaticamente al tuo punto di accesso.
routers
edomain_name_servers
sono facoltative se non si desidera impostare il routing tramite tale interfaccia.