Denne vejledning beskriver, hvordan man opsætter netværk ved hjælp af standard netværksadministratoren dhcpcd, der er inkluderet i Raspbian siden 2015-05-05.
Det gælder for Foundation-udgivelserne af Raspbian Buster, Raspbian Stretch, Raspbian Jessie og den seneste Raspbian Wheezy.
Buster-indstillingerne er identiske med Stretch.
Hvis du bruger en Ethernet-forbindelse med en router, burde der ikke være behov for nogen konfiguration, og det burde virke ud af boksen.
Pi3B+ og Pi4 har Gigabit Ethernet-grænseflader og vil kun virke på en Gigabit Ethernet-router (1000BASE-T), hvis der bruges et 8-tråds CAT 5E-kabel. Tidligere Pi-modeller, som kun understøttede 100BASE-T, fungerer via et 6-tråds kabel.
BEMÆRK Pi3/Pi Zero W’s indbyggede WiFi understøtter ikke 5GHz-netværk og kan muligvis ikke oprette forbindelse til Ch 12,13 på 2,4GHz-netværk, før det trådløse reguleringsdomæne er indstillet.
WiFi på 5GHz-aktiverede enheder er deaktiveret, indtil trådløst reguleringsdomæne er indstillet (Pi4B, Pi3B+, Pi3A+)
- Domænet kan indstilles via
Raspberry Pi Configuration
(rc_gui),raspi-config
eller ved at indstillecountry=
til en passende ISO 3166 alpha2-landekode i/etc/wpa_supplicant/wpa_supplicant.conf
.
Hvis du bruger WiFi og GUI’en opsættes ved at følge Foundation Guidelines
Hvis du bruger WiFi fra kommandolinjen opsættes ved at følge Foundation GuidelinesDette er den eneste måde at opsætte et netværk, der ikke sender SSID
.
Dette kan også bruges til at opsætte et ‘Headless’-system, f.eks. ved hjælp af et serielt konsolkabel, men det er MEGET nemmere, hvis du kan låne en skærm og et tastatur til opsætning. Se nedenfor for en anden mulig metode ved hjælp af et Ethernet-kabel til en pc.
- Headless Raspbian WiFi Setup
- Hvad er min IP-adresse?
- SSH
- Noter om forældede operativsystemer
- Predictable Network Interface Names
- Oprettelse af en statisk IP-adresse
- Advanced dhcpcd Configuration
- Fallback-profil
- Forhindre dhcpcd i at konfigurere en grænseflade
- Forhindrer dhcpcd i at konfigurere en gateway på en grænseflade
- Host Specific Configuration
- Brug forskellige wpa_supplicant-filer
- Anslutning af en computer til Pi
- Opgave:
Headless Raspbian WiFi Setup
Raspbian har siden maj 2016 kontrolleret indholdet af boot-mappen for en fil kaldet wpa_supplicant.conf
, og kopierer filen til /etc/wpa_supplicant
og erstatter den eksisterende wpa_supplicant.conf
-fil, der måtte være der. Filen i bootmappen fjernes derefter. Dette kan bruges til at aktivere hovedløs opsætning, ved hjælp af wpa_supplicant.conf
-indstillingerne, der er beskrevet nedenfor eller Opsætning af en Raspberry Pi hovedløs (Du vil sandsynligvis også ønske at aktivere ssh
.)
Hvad er min IP-adresse?
Hvis du bare vil vide, hvilken IP Address
din Pi bruger, skal du indtaste hostname -I
på kommandolinjen.
SSH
Med udgivelsen fra november 2016 har Raspbian SSH-serveren deaktiveret som standard. Du skal aktivere den manuelt.
Indtast sudo raspi-config
i terminalen, vælg først advanced options
, naviger derefter til ssh
, tryk på Enter
, og vælg Aktiver eller deaktiver ssh-server.
For headless setup kan SSH aktiveres ved at placere en fil med navnet ‘ssh’, uden nogen udvidelse, på boot-partitionen på SD-kortet.
Netværksfiler
Hvis du kører en nyere Raspbian
/etc/network/interfaces
skal være som nedenfor. Hvis du har ændret det SÆTTE DET TILBAGE. (Eller påStretch
skal du bare slette den – den gør faktisk INTET.)
# 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
vil blive oprettet/ændret af de anbefalede opsætningsmetoder, men kan opsættes i hånden. Nyere Raspbian har en mulighed i raspi-config
for at indtaste SSID og Password. Den skal indeholde noget i stil med følgende:-
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdevupdate_config=1country=AUnetwork={ ssid="ESSID" psk="Your_wifi_password"}
Hvis du skal oprette forbindelse til et privat netværk (dvs. ingen broadcast SSID
), skal du inkludere linjen scan_ssid=1
inde i network={⋯}
.
NOTAT Hvis du ønsker at oprette forbindelse til forskellige netværk (f.eks.f.eks. på arbejdet eller hjemme), kan du medtage flere
network={⋯}
-poster.
Hvis du har adgang til flere netværk og ønsker at oprette forbindelse til et bestemt netværk, skal du medtage linjen
priority=100
inde inetwork={⋯}
-posten.
Du kan vælge en anden prioritet for hvert netværk, det netværk med den højeste prioritet, der er adgang til, vil blive valgt; standardværdien er 0.
Der er mange andre muligheder, som kan bruges, se man wpa_supplicant.conf
.
Noter om forældede operativsystemer
Jessie indeholder ikke 10-wpa_supplicant
-krogen til at administrere WiFi-grænseflader, så der er brug for links til wpa_supplicant. Disse indstillinger er ikke kompatible med Predictable Network Interface Names.
Den /etc/network/interfaces
, der bruges af Jessie, bør være:-
# 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
BEMÆRK, at kald af dhcp i /etc/network/interfaces
deaktiverer dhcpcd
.
Predictable Network Interface Names
Stretch
introducerede1 forudsigelige netværksgrænsefladenavne, som har været brugt i andre distributioner i nogen tid.
Netværksgrænseflader vil have navne dannet af et præfiks en
– Ethernet eller wl
– wlan efterfulgt af x
, der angiver MAC
og MAC
f.eks. enxb827eb123456
eller wlx00c140123456
.Det indbyggede WiFi i Pi4, Pi3 og PIZeroW, som er forbundet via sdio
, vil dog bruge navnet wlan0
Dette kan være en fordel for dem, der bruger flere netværksgrænseflader, men for de fleste Pi-brugere vil det for de fleste med en enkelt Ethernet- og WiFi-grænseflade gøre en lille forskel. De tidligere navne eth0
og wlan0
kan genoprettes, hvis du indtaster net.ifnames=0
på kernelkommandolinjen i /boot/cmdline.txt
.
Der er en mulighed i raspi-config
for at aktivere forudsigelige netværksgrænsefladenavne.
1. Af en eller anden uforståelig grund besluttede Foundation at “Deaktivere forudsigelige netværksgrænsefladenavne for Ethernet-enheder” kun 3 uger efter at have introduceret den længe ventede funktion. Der er en mulighed under Advanced Options
i raspi-config
for at slå denne indstilling fra.
Oprettelse af en statisk IP-adresse
Hvis du ønsker, at din Pi skal tildeles en forudsigelig IP-adresse, kan du enten reservere en i din router ELLER anmode DHCP-serveren om at tildele en.
Eksempelvis vil følgende anmode om en adresse på wlan0.
interface wlan0request 10.1.2.99
request
Anmod om adressen i DHCP DISCOVER-meddelelsen. Der er ingen garanti for, at det er den adresse, som DHCP-serveren rent faktisk vil give. Hvis der ikke angives nogen adresse, anvendes den første adresse, der i øjeblikket er tildelt grænsefladen.
Hvis du anmoder om en IP-adresse inden for det område, der forvaltes af DHCP-serveren, og som er tilgængelig, skal dette respekteres, ellers vil DHCP-serveren tildele en adresse som normalt.
Hvis du VIRKELIG har brug for en statisk IP-adresse, se separat svar Statisk IP-adresse
Advanced dhcpcd Configuration
Raspbian bruger som standard dhcpcd
til at administrere netværksgrænseflader. Dette er automatisk, og de fleste brugere behøver ikke gøre mere end at angive SSID og adgangskode for trådløse netværk.
Det er muligt at konfigurere, hvordan dhcpcd
fungerer, ved at indtaste indstillinger i /etc/dhcpcd.conf
; se man dhcpcd.conf
.Der findes en god artikel om dhcpcd
på https://wiki.archlinux.org/index.php/dhcpcd
I det følgende beskrives nogle af de mere almindelige konfigurationer:-
Fallback-profil
Det er muligt at konfigurere en statisk profil i dhcpcd
og falde tilbage på den, når DHCP-lease mislykkes. Dette er især nyttigt for headless-maskiner, hvor den statiske profil kan bruges som “recovery”-profil for at sikre, at det altid er muligt at oprette forbindelse til maskinen. Den statiske profil opsættes som enhver anden statisk IP-adresse
# 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
Forhindre dhcpcd i at konfigurere en grænseflade
Dette gøres ofte for at gøre det muligt for Pi’en at fungere som et Access Point (som skal konfigureres ved hjælp af andre filer), samtidig med at normal DHCP
-konfiguration på andre grænseflader tillades.
Føj denyinterfaces wlan0
til sidst i filen (men over eventuelle andre tilføjede grænsefladelinjer).
Forhindrer dhcpcd i at konfigurere en gateway på en grænseflade
Hvis du ønsker, at en grænseflade ikke skal installere nogen standardruter (ofte brugt sammen med en statisk IP-adresse), skal du angive
nogateway
Host Specific Configuration
dhcpcd
kan konfigurere grænseflader afhængig af værtsnetværket. Dette bruger ARP (Address Resolution Protocol) til at undersøge værter baseret på MAC- eller IP-adresse, før der forsøges DHCP-oplø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 fremskynde DHCP ved at deaktivere ARP-søgning, hvis du ikke bruger disse funktioner og har et simpelt netværk.
noarp
Brug forskellige wpa_supplicant-filer
Det er muligt at konfigurere dhcpcd til at bruge forskellige wpa_supplicant.conf-filer for en bestemt trådløs grænseflade.
Opret en fil med navnet wpa_supplicant-"$interface".conf
i /etc/wpa_supplicant/
f.eks. vil wpa_supplicant-wlan0.conf
kun blive brugt af wlan0
/etc/wpa_supplicant/wpa_supplicant.conf
vil blive brugt til alle andre trådløse grænseflader.
Anslutning af en computer til Pi
Nyere versioner af Raspbian (som bruger dhcpcd
) tillader ssh
at arbejde over en link-local
-adresse, og avahi
(som er en zeroconf-implementering) gør det muligt for programmer at opdage værter, der kører på et lokalt netværk.
Det betyder, at du kan tilslutte Pi’en til en computer (med et Ethernet-kabel) eller en lokal netværksrouter og oprette forbindelse uden at kende IP-adressen.
Du kan nemt oprette forbindelse fra Linux og OS X med ssh [email protected]
(standardværtsnavnet er raspberrypi
) Dette burde virke med populære GUI ssh
-programmer. dette er nogle gange problematisk med nogle versioner af Windows og netværk, der bruger .local på en ikke-standardiseret måde. (Se https://en.wikipedia.org/wiki/.local)
BEMÆRK .local
-opløsning virker ikke altid, f.eks. i rsync
. Følgende bør opløse IP (og kan indgå i bash
-scripts)RemotePi=$(getent hosts hostname.local | awk '{ print }')
Hvis dit system ikke har getent
til at forespørge hosts
, f.eks. macOS, kan du bruge følgende:-RemotePi=$(arp -n hostname.local | awk '{x = ; gsub(//, "", x); print x }')
Hvis du har flere Pi, skal du sørge for, at hver Pi har et unikt værtsnavn.
Du kan bruge et crossover-kabel, men det er ikke nødvendigt (de fleste moderne grænseflader registrerer det automatisk).
En ulempe ved direkte forbindelse er, at Pi’en ikke har internetadgang, og at datoen ikke bliver indstillet. Du kan kopiere datoen fra værten ved at køre ssh [email protected] sudo date -s$(date -Ins)
før forbindelsen.
Opgave:
Denne vejledning handler om at opsætte en normal Raspbian-installation til at få adgang til internettet ved hjælp af den medfølgende software. Den dækker også forbindelser til andre computere på samme netværk.
Den er primært rettet mod at hjælpe nye brugere, der kæmper med at få deres Pi (især WiFi) til at fungere .
Det dækker IKKE:-
- Andre netværkshåndtere.
- Afvikling af avanceret netværk på Pi’en (f.eks.
DHCP
-servere, Tunnelling, VPN, Access Point).- Brug af
ipv6
(selvom det burde fungere, hvis du har etipv6
-netværk).- Alternative netværksopsætninger. (Der er mange forskellige måder at opsætte netværk på.)