Deze tutorial beschrijft hoe je netwerken instelt met de standaard netwerkmanager dhcpcd die sinds 2015-05-05 in Raspbian zit.
Het is van toepassing op de Foundation releases van Raspbian Buster, Raspbian Stretch, Raspbian Jessie en de laatste Raspbian Wheezy.
Buster instellingen zijn identiek aan Stretch.
Als u een Ethernet-verbinding met een router gebruikt, zou er geen configuratie nodig moeten zijn en zou het zo uit de doos moeten werken.
De Pi3B+ en Pi4 hebben Gigabit Ethernet-interfaces en zullen alleen werken op een Gigabit Ethernet (1000BASE-T) router als er een 8-draads CAT 5E-kabel wordt gebruikt. Eerdere pi-modellen die alleen 100BASE-T ondersteunen, werken met een 6-draads kabel.
NOTE De ingebouwde WiFi van de Pi3/Pi Zero W ondersteunt geen 5GHz-netwerken en maakt mogelijk geen verbinding met Ch 12,13 op 2,4GHz-netwerken totdat het draadloze regelgevingsdomein is ingesteld.
WiFi op 5GHz-apparaten is uitgeschakeld totdat het draadloze regelgevingsdomein is ingesteld (Pi4B, Pi3B+, Pi3A+)
- Het domein kan worden ingesteld via
Raspberry Pi Configuration
(rc_gui),raspi-config
of doorcountry=
in te stellen op een geschikte ISO 3166 alpha2-landcode in/etc/wpa_supplicant/wpa_supplicant.conf
.
Als u WiFi en de GUI gebruikt, stel deze dan in volgens de richtlijnen van de Foundation
Als u WiFi gebruikt via de commandoregel, stel deze dan in volgens de richtlijnen van de Foundation. Dit is de enige manier om een netwerk op te zetten dat niet SSID
uitzendt.
Dit kan ook worden gebruikt om een ‘Headless’ systeem op te zetten, bijv. met een seriële consolekabel, maar het is VEEL gemakkelijker als u een monitor en toetsenbord kunt lenen voor de installatie. Zie hieronder voor een andere mogelijke methode met een Ethernet kabel naar een PC.
- Headless Raspbian WiFi Setup
- Wat is mijn IP adres?
- SSH
- Netwerkbestanden
- Aantekeningen bij verouderde besturingssystemen
- Predictable Network Interface Names
- Instellen van een Statisch IP-adres
- Uitgebreide dhcpcd Configuratie
- Fallback profile
- Voorkom dat dhcpcd een interface configureert
- Voorkom dat dhcpcd een gateway configureert op een interface
- Host Specific Configuration
- Gebruik verschillende wpa_supplicant bestanden
- Een computer met de Pi verbinden
- Scope:
Headless Raspbian WiFi Setup
Raspbian, sinds mei 2016, controleert de inhoud van de boot directory voor een bestand genaamd wpa_supplicant.conf
, en zal het bestand kopiëren naar /etc/wpa_supplicant
, ter vervanging van een bestaand wpa_supplicant.conf
bestand dat daar kan zijn. Het bestand in de boot directory wordt dan verwijderd. Dit kan gebruikt worden om headless setup mogelijk te maken, met de wpa_supplicant.conf
instellingen zoals hieronder beschreven of Een Raspberry Pi headless opzetten (U zult waarschijnlijk ook ssh
willen inschakelen.)
Wat is mijn IP adres?
Als u alleen wilt weten welke IP Address
uw Pi gebruikt, voert u hostname -I
in op de opdrachtregel.
SSH
Met ingang van de release van november 2016 heeft Raspbian de SSH-server standaard uitgeschakeld. U zult deze handmatig moeten inschakelen.
Invoeren sudo raspi-config
in de terminal, selecteer eerst advanced options
, navigeer dan naar ssh
, druk op Enter
en selecteer ssh server in- of uitschakelen.
Bij een headless installatie kan SSH worden ingeschakeld door een bestand met de naam ‘ssh’, zonder extensie, op de opstartpartitie van de SD-kaart te plaatsen.
Netwerkbestanden
Als u een recente Raspbian draait, moet
/etc/network/interfaces
zijn zoals hieronder. Als u het hebt veranderd, zet het dan terug. (Of verwijder het gewoon opStretch
– het doet in feite NIETS.)
# 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
Het bestand /etc/wpa_supplicant/wpa_supplicant.conf
wordt aangemaakt/gewijzigd door de aanbevolen installatiemethodes, maar kan ook met de hand worden ingesteld. Recente Raspbian hebben een optie in raspi-config
om SSID en Wachtwoord in te voeren. Het zou iets als het volgende moeten bevatten:-
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdevupdate_config=1country=AUnetwork={ ssid="ESSID" psk="Your_wifi_password"}
Als u verbinding wilt maken met een privénetwerk (d.w.z. geen broadcast SSID
) voeg dan de regel scan_ssid=1
toe in network={⋯}
.
NOTE Als u verbinding wilt maken met verschillende netwerken (bijv.Als u verbinding wilt maken met verschillende netwerken (bijv. op het werk of thuis), kunt u meerdere
network={⋯}
-vermeldingen opnemen.
Als u toegang hebt tot meerdere netwerken en verbinding wilt maken met een specifiek netwerk, neemt u de regel
priority=100
op in denetwork={⋯}
-vermelding.
U kunt voor elk netwerk een andere prioriteit kiezen, het netwerk met de hoogste prioriteit wordt geselecteerd; de standaardwaarde is 0.
Er zijn vele andere opties die gebruikt kunnen worden, zie man wpa_supplicant.conf
.
Aantekeningen bij verouderde besturingssystemen
Jessie bevat niet de 10-wpa_supplicant
-haak om WiFi-interfaces te beheren, dus zijn er koppelingen met wpa_supplicant nodig. Deze instellingen zijn niet compatible met Predictable Network Interface Names.
De /etc/network/interfaces
die Jessie gebruikt zou moeten zijn:-
# 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 het aanroepen van dhcp in /etc/network/interfaces
zal dhcpcd
uitschakelen.
Predictable Network Interface Names
Stretch
introduceerde1 voorspelbare netwerk interface namen die al enige tijd in andere distributies worden gebruikt.
Netwerkinterfaces zullen namen hebben die gevormd worden door een voorvoegsel en
– ethernet of wl
– wlan gevolgd door x
dat MAC
aangeeft en de MAC
bijv. enxb827eb123456
of wlx00c140123456
.De on-board WiFi van de Pi4, Pi3 en PIZeroW die via sdio
is aangesloten, zal echter de naam wlan0
gebruiken. Dit kan gunstig zijn voor diegenen die meerdere netwerkinterfaces gebruiken, maar voor de meeste Pi-gebruikers zal het met een enkele Ethernet- en WiFi-interface weinig verschil maken. De vorige namen eth0
en wlan0
kunnen worden hersteld als u net.ifnames=0
doorgeeft op de kernel opdrachtregel in /boot/cmdline.txt
.
Er is een optie in raspi-config
om voorspelbare netwerk interface namen in te schakelen.
1. Om de een of andere onbegrijpelijke reden heeft de Foundation besloten om “Voorspelbare netwerk interface namen voor Ethernet-apparaten uit te schakelen”, slechts 3 weken na de introductie van de langverwachte functie. Er is een optie onder Advanced Options
van raspi-config
om deze instelling uit te schakelen.
Instellen van een Statisch IP-adres
Als u wilt dat uw Pi een voorspelbaar IP-adres krijgt toegewezen, kunt u er een reserveren in uw router OF de DHCP-server verzoeken er een toe te wijzen.
Bijv. het volgende vraagt een adres op wlan0.
interface wlan0request 10.1.2.99
request
Vraag het adres in het DHCP DISCOVER bericht. Er is geen garantie dat dit het adres is dat de DHCP server daadwerkelijk zal geven. Als er geen adres wordt gegeven, wordt het eerste adres gebruikt dat momenteel aan de interface is toegewezen.
Als u een IP-adres aanvraagt binnen het door de DHCP-server beheerde bereik dat beschikbaar is, moet dit worden gehonoreerd, anders wijst de DHCP-server een adres toe zoals gebruikelijk.
Als u ECHT een statisch IP Adres nodig heeft, zie dan het aparte antwoord Statisch IP Adres
Uitgebreide dhcpcd Configuratie
Raspbian gebruikt standaard dhcpcd
om netwerk interfaces te beheren. Dit gebeurt automatisch, en de meeste gebruikers hoeven niet meer te doen dan het SSID en het wachtwoord voor draadloze netwerken op te geven.
Het is mogelijk om te configureren hoe dhcpcd
werkt door opties in /etc/dhcpcd.conf
in te voeren; zie man dhcpcd.conf
.Er is een goed artikel over dhcpcd
op https://wiki.archlinux.org/index.php/dhcpcd
Hieronder worden enkele van de meest voorkomende configuraties beschreven:-
Fallback profile
Het is mogelijk om een statisch profiel binnen dhcpcd
te configureren en hierop terug te vallen wanneer de DHCP lease mislukt. Dit is vooral nuttig voor headless machines, waar het statische profiel gebruikt kan worden als “herstel” profiel om er zeker van te zijn dat het altijd mogelijk is om verbinding te maken met de machine. Het statische profiel wordt ingesteld zoals elk ander Statisch IP Adres
# 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
Voorkom dat dhcpcd een interface configureert
Dit wordt vaak gedaan om de Pi als een Access Point te laten fungeren (dat met andere bestanden geconfigureerd moet worden), terwijl normale DHCP
configuratie op andere interfaces wordt toegestaan.
Voeg denyinterfaces wlan0
toe aan het eind van het bestand (maar boven alle andere toegevoegde interface regels).
Voorkom dat dhcpcd een gateway configureert op een interface
Als u wilt dat een interface geen standaard routes installeert (vaak gebruikt in combinatie met een statisch IP adres) specificeer dan
nogateway
Host Specific Configuration
dhcpcd
kan interfaces configureren afhankelijk van het host netwerk. Dit gebruikt het Address Resolution Protocol (ARP) om hosts op basis van MAC- of IP-adres te sonderen alvorens DHCP-resolutie te proberen.
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
U kunt DHCP versnellen door ARP-sondering uit te schakelen als u deze functies niet gebruikt en een eenvoudig netwerk hebt.
noarp
Gebruik verschillende wpa_supplicant bestanden
Het is mogelijk om dhcpcd te configureren om verschillende wpa_supplicant.conf bestanden te gebruiken voor een specifieke draadloze interface.
Maak een bestand aan met de naam wpa_supplicant-"$interface".conf
in /etc/wpa_supplicant/
b.v. wpa_supplicant-wlan0.conf
zal alleen gebruikt worden door wlan0
/etc/wpa_supplicant/wpa_supplicant.conf
zal gebruikt worden voor alle andere draadloze interfaces.
Een computer met de Pi verbinden
Recente versies van Raspbian (die dhcpcd
gebruiken) staan ssh
toe om over een link-local
adres te werken en avahi
(wat een zeroconf implementatie is) stelt programma’s in staat om hosts te ontdekken die op een lokaal netwerk draaien.
Dit betekent dat u de Pi op een Computer (met een Ethernet kabel) of een lokale netwerk router kunt aansluiten en verbinding kunt maken zonder het IP adres te kennen.
U kunt gemakkelijk verbinding maken vanuit Linux en OS X met ssh [email protected]
(de standaard hostnaam is raspberrypi
) Dit zou moeten werken met populaire GUI ssh
programma’s.Dit is soms problematisch met sommige versies van Windows en netwerken die .local op een niet-standaard manier gebruiken. (Zie https://en.wikipedia.org/wiki/.local)
NOTE .local
resolutie werkt niet altijd, b.v. in rsync
. Het volgende zou IP moeten oplossen (en kan worden opgenomen in bash
-scripts)RemotePi=$(getent hosts hostname.local | awk '{ print }')
Als uw systeem geen getent
heeft om hosts
op te vragen, bijv. macOS, kunt u het volgende gebruiken:-RemotePi=$(arp -n hostname.local | awk '{x = ; gsub(//, "", x); print x }')
Als u meerdere pics hebt, moet u ervoor zorgen dat elke pi-een unieke hostnaam heeft.
U kunt een crossoverkabel gebruiken, maar die heeft u niet nodig (de meeste moderne interfaces detecteren automatisch).
Een nadeel van een directe verbinding is dat de Pi geen internettoegang heeft en de datum niet wordt ingesteld. U kunt de datum van de host kopiëren door ssh [email protected] sudo date -s$(date -Ins)
uit te voeren voordat u verbinding maakt.
Scope:
Deze tutorial gaat over het opzetten van een normale Raspbian-installatie om toegang te krijgen tot het internet met de meegeleverde software. Het behandelt ook verbindingen met andere computers in hetzelfde netwerk.
Het is vooral bedoeld om nieuwe gebruikers te helpen die moeite hebben om hun Pi (vooral WiFi) werkend te krijgen.
Het behandelt NIET:-
- Andere netwerkbeheerders.
- Het draaien van geavanceerde netwerken op de Pi (bijv.
DHCP
servers, Tunneling, VPN, Access Point).- Gebruik van
ipv6
(hoewel dit zou moeten werken als u eenipv6
-netwerk hebt).- Alternatieve netwerkopstellingen. (Er zijn veel verschillende manieren om netwerken op te zetten.)