Denna handledning beskriver hur man ställer in nätverk med hjälp av standardnätverkshanteraren dhcpcd som ingår i Raspbian sedan 2015-05-05.
Det gäller för Foundation-utgåvorna av Raspbian Buster, Raspbian Stretch, Raspbian Jessie och den senaste Raspbian Wheezy.
Inställningarna för Buster är identiska med Stretch.
Om du använder en Ethernet-anslutning med en router bör det inte krävas någon konfiguration och det bör fungera direkt.
Pi3B+ och Pi4 har Gigabit Ethernet-gränssnitt och fungerar endast på en Gigabit Ethernet-router (1000BASE-T) om en 8-trådig CAT 5E-kabel används. Tidigare Pi-modeller som endast hade stöd för 100BASE-T fungerar via en 6-trådig kabel.
OBS!Den inbyggda WiFi-modellen Pi3/Pi Zero W har inte stöd för 5 GHz-nätverk och kan inte ansluta till Ch 12,13 på 2,4 GHz-nätverk förrän den trådlösa regleringsdomänen är inställd.
WiFi på 5GHz-aktiverade enheter är inaktiverad tills trådlös regleringsdomän har ställts in (Pi4B, Pi3B+, Pi3A+)
- Domänen kan ställas in via
Raspberry Pi Configuration
(rc_gui),raspi-config
eller genom att ställa incountry=
till en lämplig landskod ISO 3166 alpha2 i/etc/wpa_supplicant/wpa_supplicant.conf
.
Om du använder WiFi och GUI:et sätts upp enligt Foundation Guidelines
Om du använder WiFi från kommandoraden sätts upp enligt Foundation GuidelinesDetta är det enda sättet att sätta upp ett nätverk som inte sänder ut SSID
.
Detta kan också användas för att sätta upp ett ”Headless”-system, t.ex. med hjälp av en seriell konsolkabel, men det är MYCKET enklare om du kan låna en bildskärm och ett tangentbord för att göra installationen. Se nedan för en annan möjlig metod som använder en Ethernet-kabel till en PC.
- Headless Raspbian WiFi Setup
- What is my IP Address?
- SSH
- Nätverksfiler
- Anmärkningar om föråldrade operativsystem
- Predictable Network Interface Names
- Inställ en statisk IP-adress
- Advanced dhcpcd Configuration
- Fallback-profil
- Förhindra dhcpcd från att konfigurera ett gränssnitt
- Förhindra dhcpcd från att konfigurera en gateway på ett gränssnitt
- Host Specific Configuration
- Använd olika wpa_supplicant-filer
- Ansluta en dator till Pi
- Skope:
Headless Raspbian WiFi Setup
Raspbian, sedan maj 2016, kontrollerar innehållet i uppstartskatalogen för en fil som heter wpa_supplicant.conf
, och kommer att kopiera filen till /etc/wpa_supplicant
, vilket ersätter varje befintlig wpa_supplicant.conf
-fil som kan finnas där. Filen i startkatalogen tas sedan bort. Detta kan användas för att aktivera headless setup, med hjälp av wpa_supplicant.conf
-inställningarna som beskrivs nedan eller Setting up a Raspberry Pi headless (You will probably want to enable ssh
as well.)
What is my IP Address?
Om du bara vill veta IP Address
vilken IP Address
din Pi använder, ange hostname -I
på kommandoraden.
SSH
Där Raspbian har SSH-servern inaktiverad som standard i november 2016. Du måste aktivera den manuellt.
Tangera sudo raspi-config
i terminalen, välj först advanced options
, navigera sedan till ssh
, tryck på Enter
och välj Aktivera eller inaktivera ssh-server.
För headless setup kan SSH aktiveras genom att placera en fil med namnet ”ssh”, utan något tillägg, på startpartitionen på SD-kortet.
Nätverksfiler
Om du kör en nyare Raspbian
/etc/network/interfaces
bör vara som nedan. Om du har ändrat det, sätt tillbaka det. (Eller påStretch
raderar du den bara – den gör i praktiken INGENTING.)
# 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
Filen /etc/wpa_supplicant/wpa_supplicant.conf
kommer att skapas/modifieras av de rekommenderade inställningsmetoderna, men kan även ställas in för hand. Nyare Raspbian har ett alternativ i raspi-config
för att ange SSID och lösenord. Den bör innehålla något som liknar följande:-
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdevupdate_config=1country=AUnetwork={ ssid="ESSID" psk="Your_wifi_password"}
Om du behöver ansluta till ett privat nätverk (dvs. ingen sändning SSID
) inkludera raden scan_ssid=1
inuti network={⋯}
.
NOTE Om du vill ansluta till olika nätverk (t.ex.t.ex. på jobbet eller hemma) kan du inkludera flera
network={⋯}
poster.
Om du har tillgång till flera nätverk och vill ansluta till ett specifikt nätverk, inkluderar du raden
priority=100
inutinetwork={⋯}
posten.
Du kan välja en annan prioritet för varje nätverk, det högst prioriterade tillgängliga nätverket kommer att väljas; standardvärdet är 0.
Det finns många andra alternativ som kan användas se man wpa_supplicant.conf
.
Anmärkningar om föråldrade operativsystem
Jessie innehåller inte 10-wpa_supplicant
-kroken för att hantera WiFi-gränssnitt, så länkar till wpa_supplicant behövs. Dessa inställningar är inkompatibla med Predictable Network Interface Names.
Den /etc/network/interfaces
som Jessie använder bör vara:-
# 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
OBS att anropa dhcp i /etc/network/interfaces
inaktiverar dhcpcd
.
Predictable Network Interface Names
Stretch
introducerade1 förutsägbara nätverksgränssnittsnamn som använts i andra distributioner under en tid.
Nätverksgränssnitt kommer att ha namn som bildas av ett prefix en
– Ethernet eller wl
– wlan följt av x
som anger MAC
och MAC
t.ex. enxb827eb123456
eller wlx00c140123456
.Det inbyggda WiFi i Pi4, Pi3 och PIZeroW som är anslutet via sdio
kommer dock att använda namnet wlan0
Detta kan vara fördelaktigt för dem som använder flera nätverksgränssnitt, men för de flesta Pi-användare med ett enda Ethernet- och WiFi-gränssnitt kommer det att göra liten skillnad. De tidigare namnen eth0
och wlan0
kan återställas om du anger net.ifnames=0
på kärnans kommandorad i /boot/cmdline.txt
.
Det finns ett alternativ i raspi-config
för att aktivera förutsägbara nätverksgränssnittsnamn.
1. Av någon obegriplig anledning beslutade stiftelsen att ”Inaktivera förutsägbara nätverksgränssnittsnamn för Ethernet-enheter” endast tre veckor efter att ha introducerat den efterlängtade funktionen. Det finns ett alternativ under Advanced Options
i raspi-config
för att växla den här inställningen.
Inställ en statisk IP-adress
Om du vill att din Pi ska tilldelas en förutsägbar IP-adress kan du antingen reservera en i din router ELLER be DHCP-servern att tilldela en.
Till exempel begär följande en adress på wlan0.
interface wlan0request 10.1.2.99
request
begär adressen i DHCP DISCOVER-meddelandet. Det finns ingen garanti för att detta är den adress som DHCP-servern faktiskt kommer att ge. Om ingen adress anges används den första adress som för närvarande tilldelats gränssnittet.
Om du begär en IP-adress inom det intervall som DHCP-servern hanterar och som är tillgängligt bör detta uppfyllas, annars kommer DHCP-servern att tilldela en adress som vanligt.
Om du verkligen behöver en statisk IP-adress se separat svar Statisk IP-adress
Advanced dhcpcd Configuration
Raspbian använder som standard dhcpcd
för att hantera nätverksgränssnitt. Detta sker automatiskt och de flesta användare behöver inte göra mer än att ange SSID och lösenord för trådlösa nätverk.
Det är möjligt att konfigurera hur dhcpcd
fungerar genom att ange alternativ i /etc/dhcpcd.conf
; se man dhcpcd.conf
.Det finns en bra artikel om dhcpcd
på https://wiki.archlinux.org/index.php/dhcpcd
Nedan beskrivs några av de vanligaste konfigurationerna:-
Fallback-profil
Det är möjligt att konfigurera en statisk profil i dhcpcd
och falla tillbaka till den när DHCP-lease misslyckas. Detta är särskilt användbart för huvudlösa maskiner, där den statiska profilen kan användas som ”återhämtningsprofil” för att se till att det alltid är möjligt att ansluta till maskinen. Den statiska profilen konfigureras som vilken annan statisk IP-adress som helst
# 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
Förhindra dhcpcd från att konfigurera ett gränssnitt
Detta görs ofta för att Pi ska kunna fungera som en åtkomstpunkt (som måste konfigureras med hjälp av andra filer), samtidigt som normal DHCP
-konfiguration tillåts på andra gränssnitt.
Lägg till denyinterfaces wlan0
i slutet av filen (men ovanför alla andra tillagda gränssnittsrader).
Förhindra dhcpcd från att konfigurera en gateway på ett gränssnitt
Om du vill att ett gränssnitt inte ska installera några standardvägar (används ofta i samband med en statisk IP-adress) ange
nogateway
Host Specific Configuration
dhcpcd
kan konfigurera gränssnitt som är beroende av värddatornätverket. Detta använder Address Resolution Protocol (ARP) för att undersöka värdar baserat på MAC- eller IP-adress innan du försöker lösa DHCP-upplösning.
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
Du kan påskynda DHCP genom att inaktivera ARP-sökning om du inte använder dessa funktioner och har ett enkelt nätverk.
noarp
Använd olika wpa_supplicant-filer
Det är möjligt att konfigurera dhcpcd så att den använder olika wpa_supplicant.conf-filer för ett specifikt trådlöst gränssnitt.
Skapa en fil med namnet wpa_supplicant-"$interface".conf
i /etc/wpa_supplicant/
t.ex. wpa_supplicant-wlan0.conf
kommer endast att användas av wlan0
/etc/wpa_supplicant/wpa_supplicant.conf
kommer att användas för alla andra trådlösa gränssnitt.
Ansluta en dator till Pi
Nyare versioner av Raspbian (som använder dhcpcd
) gör det möjligt för ssh
att arbeta över en link-local
-adress och avahi
(som är en zeroconf-implementering) gör det möjligt för program att upptäcka värdar som körs i ett lokalt nätverk.
Detta innebär att du kan koppla in Pi till en dator (med en Ethernet-kabel) eller till en router för lokalt nätverk och ansluta utan att känna till IP-adressen.
Du kan enkelt ansluta från Linux och OS X med ssh [email protected]
(standardvärdsnamnet är raspberrypi
) Detta bör fungera med populära GUI ssh
-program.Detta är ibland problematiskt med vissa versioner av Windows och nätverk som använder .local på ett icke-standardiserat sätt. (Se https://en.wikipedia.org/wiki/.local)
OBS .local
-upplösning fungerar inte alltid, t.ex. i rsync
. Följande bör lösa IP (och kan inkluderas i bash
-skript)RemotePi=$(getent hosts hostname.local | awk '{ print }')
Om ditt system inte har getent
för att fråga hosts
, t.ex. macOS, kan du använda följande:-RemotePi=$(arp -n hostname.local | awk '{x = ; gsub(//, "", x); print x }')
Om du har flera Pi måste du se till att varje Pi har ett unikt värdnamn.
Du kan använda en crossover-kabel, men det behövs inte (de flesta moderna gränssnitt upptäcker det automatiskt).
En nackdel med direktanslutning är att Pi inte kommer att ha tillgång till Internet och att datumet inte kommer att ställas in. Du kan kopiera datumet från värddatorn genom att köra ssh [email protected] sudo date -s$(date -Ins)
före anslutningen.
Skope:
Denna handledning handlar om att ställa in en normal Raspbian-installation så att den får tillgång till internet med hjälp av den medföljande programvaran. Den täcker även anslutningar till andra datorer i samma nätverk.
Den är främst inriktad på att hjälpa nya användare som kämpar med att få sin Pi (särskilt WiFi) att fungera .
Den täcker INTE:-
- Andra nätverkshanterare.
- Att köra avancerade nätverk på Pi (t.ex.
DHCP
-servrar, Tunnelling, VPN, Access Point).- Användning av
ipv6
(även om du har ettipv6
-nätverk bör detta fungera).- Alternativa nätverksuppställningar. (Det finns många olika sätt att konfigurera nätverk.)