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-configo 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.confe lo copia in /etc/wpa_supplicant, sostituendo qualsiasi wpa_supplicant.conffile 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.confimpostazioni descritte di seguito. (Probabilmente vorrai abilitare sshanche tu .)
Se vuoi solo sapere che il IP Addresstuo Pi sta usando entra hostname -Inella 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-confignel terminale, selezionare prima advanced options, quindi navigare ssh, premere Entere 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/interfacesdovrebbe essere come di seguito. Se lo hai cambiato, RITORNA. (OStretchsemplicemente 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.confverrà creato / modificato con i metodi di installazione consigliati, ma può essere impostato manualmente. Raspbian recente ha un'opzione raspi-configper 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=1all'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=100all'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_supplicanthook 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/interfacesusato 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/interfacesverrà disabilitata dhcpcd .
Stretchintrodotto 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 xindicazione MACe l' MACesempio enxb827eb123456o wlx00c140123456. Il WiFi di bordo di Pi4, Pi3 e PIZeroW che è collegato sdioutilizzerà 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 eth0e wlan0possono essere ripristinati se si passa net.ifnames=0alla riga di comando del kernel /boot/cmdline.txt.
È disponibile un'opzione raspi-configper 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 Optionsdi raspi-configper attivare questa impostazione.
Vedere la risposta separata Indirizzo IP statico
dhcpcdConfigurazione avanzataRaspbian, per impostazione predefinita, utilizza dhcpcdper 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 dhcpcdfunzionamento inserendo le opzioni in /etc/dhcpcd.conf; vedi man dhcpcd.conf.C'è un buon articolo su dhcpcda https://wiki.archlinux.org/index.php/dhcpcd
Di seguito vengono descritte alcune delle configurazioni più comuni: -
È possibile configurare un profilo statico all'interno dhcpcde 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
dhcpcdconfigurazione 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 DHCPconfigurazione su altre interfacce.
Aggiungi denyinterfaces wlan0alla fine del file (ma sopra ogni altra riga di interfaccia aggiunta).
dhcpcddi 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
dhcpcdpuò 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".confin /etc/wpa_supplicant/eg wpa_supplicant-wlan0.confsarà 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 sshdi lavorare su un link-localindirizzo 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 sshprogrammi 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 .localrisoluzione non funziona sempre, ad es rsync. In . Quanto segue dovrebbe risolvere l'IP (e può essere incluso negli bashscript)
RemotePi=$(getent hosts hostname.local | awk '{ print $1 }')
Se il tuo sistema non deve getentinterrogare hostsad 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.
DHCPServer, tunneling, VPN, punto di accesso).- Uso di
ipv6(anche se se si dispone di unaipv6rete 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, wlan0o 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/interfacesil valore predefinito (come sopra).
Modifica /etc/dhcpcd.confcome 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 dhcpcdal 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),
netmask255.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 broadcastderiva automaticamente da addresse netmaske non devono essere specificati. Per ulteriori dettagli, consultare https://wiki.debian.org/Configuration di rete
È possibile impostare uno o entrambi eth0, wlan0o 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.localal metodo dhcpcd.conf. Sentiti libero di ripristinare / modificare / contattarmi.
Per un indirizzo IP statico su una connessione Ethernet:
sudo nano /etc/dhcpcd.confDigita 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/interfacesdovrebbe 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".
dhcpcdinferito la maschera di rete, che non può per altri intervalli di indirizzi. Leggi le manpagine
auto eth0sopra iface eth0 inet manualnel /etc/network/interfacefile. Riavvia la rete tramite sudo service networking restartcomando
Metodo breve e infallibile come fare con:
Questo imposterà un IP fisso e abiliterà il demone ssh:
/boot/cmdline.txte aggiungi ip=192.168.1.20alla fine della riga./boot/sshssh pi@192.168.1.20la 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.
ifconfigti 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.
routersedomain_name_serverssono facoltative se non si desidera impostare il routing tramite tale interfaccia.