Antworten:
In diesem Tutorial wird beschrieben, wie Sie das Netzwerk mithilfe des in Raspbian seit dem 05.05.2015 enthaltenen Standardnetzwerkmanagers dhcpcd einrichten. Es gilt für die Foundation Releases von Raspbian Buster , Raspbian Stretch , Raspbian Jessie und dem letzten Raspbian Wheezy .
Buster-Einstellungen sind identisch mit Stretch.
Wenn Sie eine Ethernet- Verbindung mit einem Router verwenden, sollte keine Konfiguration erforderlich sein und es sollte sofort funktionieren.
HINWEIS Das in Pi3 / Pi Zero W integrierte WLAN unterstützt keine 5-GHz-Netzwerke und kann möglicherweise keine Verbindung zu Ch 12,13 in 2,4-GHz-Netzwerken herstellen, bis die WLAN-Regulierungsdomäne festgelegt ist.
WLAN auf 5-GHz-fähigen Geräten ist deaktiviert, bis die WLAN-Regulierungsdomäne festgelegt ist (Pi4B, Pi3B +, Pi3A +).
- Die Domain kann über
Raspberry Pi Configuration
(rc_gui)raspi-config
oder durch Festlegencountry=
eines geeigneten ISO 3166-Alpha2-Ländercodes in festgelegt werden/etc/wpa_supplicant/wpa_supplicant.conf
.
Wenn Sie WiFi verwenden und die GUI gemäß den Foundation-Richtlinien eingerichtet haben
Wenn Sie WLAN über die Befehlszeile verwenden, die gemäß den Foundation-Richtlinien eingerichtet wurde,
ist dies die einzige Möglichkeit, ein Netzwerk einzurichten, das keine Übertragung durchführt SSID
.
Dies kann auch zum Einrichten eines "Headless" -Systems verwendet werden, z. B. mit einem seriellen Konsolenkabel. Es ist jedoch VIEL einfacher, wenn Sie einen Monitor und eine Tastatur zum Einrichten ausleihen können. Im Folgenden finden Sie eine weitere Möglichkeit, ein Ethernet-Kabel an einen PC anzuschließen.
Raspbian prüft seit Mai 2016 den Inhalt des Startverzeichnisses auf eine aufgerufene Datei wpa_supplicant.conf
und kopiert die Datei in diese Datei /etc/wpa_supplicant
, wobei vorhandene wpa_supplicant.conf
Dateien ersetzt werden. Die Datei im Startverzeichnis wird dann entfernt. Dies kann verwendet werden, um das Headless-Setup mit den wpa_supplicant.conf
unten beschriebenen Einstellungen zu aktivieren . (Möglicherweise möchten Sie dies auch aktivieren ssh
.)
Wenn Sie nur wissen möchten, dass IP Address
Ihr Pi verwendet, geben Sie hostname -I
in der Befehlszeile ein.
In Raspbian ist der SSH-Server seit der Version vom November 2016 standardmäßig deaktiviert. Sie müssen es manuell aktivieren .
Geben Sie sudo raspi-config
in das Terminal ein, wählen Sie zuerst advanced options
, navigieren Sie dann zu ssh
, drücken Sie Enter
und wählen Sie SSH-Server aktivieren oder deaktivieren.
Für das Headless-Setup kann SSH aktiviert werden, indem eine Datei mit dem Namen 'ssh' ohne Erweiterung auf der Boot-Partition der SD-Karte abgelegt wird.
Wenn Sie einen aktuellen Raspbian verwenden,
/etc/network/interfaces
sollte dieser wie folgt aussehen . Wenn Sie es geändert haben, legen Sie es zurück. (Oder löschen Sie esStretch
einfach - es macht effektiv NICHTS.)
# interfaces (5) Datei, die von ifup (8) und ifdown (8) verwendet wird # Bitte beachten Sie, dass diese Datei für die Verwendung mit dhcpcd geschrieben wurde # Informationen zur statischen IP-Adresse finden Sie in /etc/dhcpcd.conf und in 'man dhcpcd.conf'. # Dateien aus /etc/network/interfaces.d einbeziehen: Quellverzeichnis /etc/network/interfaces.d
Die Datei /etc/wpa_supplicant/wpa_supplicant.conf
wird mit den empfohlenen Einrichtungsmethoden erstellt / geändert, kann jedoch manuell eingerichtet werden. Neueste Raspbian haben eine Option raspi-config
zur Eingabe von SSID und Passwort. Es sollte ungefähr Folgendes enthalten:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=AU
network={
ssid="ESSID"
psk="Your_wifi_password"
}
Wenn Sie zu einem verbinden müssen privates Netzwerk (dh keine Broadcast SSID
) umfasst die Linie scan_ssid=1
innerhalb network={⋯}
.
HINWEIS Wenn Sie eine Verbindung zu verschiedenen Netzwerken herstellen möchten (z. B. bei der Arbeit oder zu Hause), können Sie mehrere
network={⋯}
Einträge hinzufügen.Wenn Sie Zugriff auf mehrere Netzwerke haben und eine Verbindung zu einem bestimmten Netzwerk herstellen möchten, fügen Sie die Zeile
priority=100
in dennetwork={⋯}
Eintrag ein.
Sie können für jedes Netzwerk eine andere Priorität auswählen. Das Netzwerk mit der höchsten Priorität wird ausgewählt. Der Standardwert ist 0.
Es gibt viele andere Optionen, die verwendet werden können man wpa_supplicant.conf
.
Jessie enthält keinen 10-wpa_supplicant
Hook zum Verwalten von WiFi-Schnittstellen, daher sind Links zu wpa_supplicant erforderlich. Diese Einstellungen sind nicht mit vorhersagbaren Netzwerkschnittstellennamen kompatibel.
Das /etc/network/interfaces
von Jessie verwendete sollte sein:
# 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
HINWEIS Aufruf dhcp in /etc/network/interfaces
wird deaktivieren dhcpcd
.
Stretch
führte 1 vorhersehbare Netzwerkschnittstellennamen ein, die seit einiger Zeit in anderen Distributionen verwendet werden.
Netzwerkschnittstellen haben Namen, die aus dem Präfix en
- Ethernet oder wl
- wlan gebildet werden, gefolgt von der x
Angabe MAC
und dem MAC
Beispiel enxb827eb123456
oder wlx00c140123456
. Das eingebaute WiFi des Pi4, Pi3 und PIZeroW, über das eine Verbindung hergestellt sdio
wird, verwendet jedoch den Namenwlan0
Dies kann für Benutzer mit mehreren Netzwerkschnittstellen von Vorteil sein. Für die meisten Pi-Benutzer macht eine einzige Ethernet- und WiFi-Schnittstelle jedoch nur einen geringen Unterschied. Die vorherigen Namen eth0
und wlan0
können wiederhergestellt werden, wenn Sie net.ifnames=0
die Kernel-Befehlszeile weitergeben /boot/cmdline.txt
.
Es gibt eine Option raspi-config
zum Aktivieren vorhersehbarer Netzwerkschnittstellennamen.
1. Aus einem unverständlichen Grund beschloss die Stiftung, "vorhersehbare Netzwerkschnittstellennamen für Ethernet-Geräte zu deaktivieren", nur 3 Wochen nach Einführung der lang erwarteten Funktion. Es gibt eine Option unter Advanced Options
von, raspi-config
um diese Einstellung umzuschalten.
Siehe separate Antwort Statische IP-Adresse
dhcpcd
KonfigurationRaspbian wird standardmäßig dhcpcd
zum Verwalten von Netzwerkschnittstellen verwendet. Dies erfolgt automatisch, und die meisten Benutzer müssen lediglich die SSID und das Kennwort für drahtlose Netzwerke angeben.
Sie können die Funktionsweise konfigurieren, dhcpcd
indem Sie Optionen in /etc/dhcpcd.conf
eingeben. Siehe. man dhcpcd.conf
Es gibt einen guten Artikel dhcpcd
unter https://wiki.archlinux.org/index.php/dhcpcd
Im Folgenden werden einige der gebräuchlichsten Konfigurationen beschrieben:
Es ist möglich, ein statisches Profil innerhalb zu konfigurieren dhcpcd
und darauf zurückzugreifen, wenn die DHCP-Lease fehlschlägt. Dies ist insbesondere bei kopflosen Maschinen nützlich, bei denen das statische Profil als "Wiederherstellungs" -Profil verwendet werden kann, um sicherzustellen, dass immer eine Verbindung mit der Maschine hergestellt werden kann. Das statische Profil wird wie jede andere statische IP-Adresse eingerichtet
# statisches Profil definieren Profil static_eth0 statische IP-Adresse = ⋯ statische Router = ⋯ static domain_name_servers = ⋯ # Rückgriff auf statisches Profil auf eth0 Schnittstelle eth0 Fallback static_eth0
dhcpcd
Konfiguration einer SchnittstelleDies wird häufig durchgeführt, um den Pi als Zugriffspunkt (der mithilfe anderer Dateien konfiguriert werden muss) zu aktivieren und gleichzeitig die normale DHCP
Konfiguration auf anderen Schnittstellen zu ermöglichen.
Fügen Sie denyinterfaces wlan0
am Ende der Datei hinzu (jedoch vor allen anderen hinzugefügten Schnittstellenzeilen).
dhcpcd
, dass ein Gateway auf einer Schnittstelle konfiguriert wirdWenn Sie möchten, dass eine Schnittstelle keine Standardrouten installiert (häufig in Verbindung mit einer statischen IP-Adresse verwendet), geben Sie an
Nogateway
dhcpcd
kann vom Host-Netzwerk abhängige Schnittstellen konfigurieren. Hierbei wird das Address Resolution Protocol (ARP) verwendet, um Hosts basierend auf der MAC- oder IP-Adresse zu untersuchen, bevor eine DHCP-Auflösung versucht wird.
Schnittstelle bge0 Arping 192.168.0.1 # Mein spezielles 192.168.0.1-Netzwerk Profil dd: ee: aa: dd: bb: ee statische IP-Adresse = 192.168.0.10 / 24 # Ein generisches 192.168.0.1-Netzwerk Profil 192.168.0.1 statische IP-Adresse = 192.168.0.98 / 24
Sie können DHCP beschleunigen, indem Sie die ARP-Prüfung deaktivieren, wenn Sie diese Funktionen nicht verwenden und über ein einfaches Netzwerk verfügen.
noarp
Es ist möglich, dhcpcd so zu konfigurieren, dass unterschiedliche wpa_supplicant.conf-Dateien für eine bestimmte drahtlose Schnittstelle verwendet werden.
Erstellen Sie eine Datei mit dem Namen wpa_supplicant-"$interface".conf
in /etc/wpa_supplicant/
zB wpa_supplicant-wlan0.conf
wird nur von verwendetwlan0
/etc/wpa_supplicant/wpa_supplicant.conf
wird für alle anderen drahtlosen Schnittstellen verwendet.
Neuere Versionen von Raspbian (die eine Adresse verwenden dhcpcd
) ermöglichen ssh
das Arbeiten über eine link-local
Adresse und avahi
ermöglichen es Programmen (bei der es sich um eine Null-Konf-Implementierung handelt), Hosts zu erkennen, die in einem lokalen Netzwerk ausgeführt werden.
Dies bedeutet, dass Sie den Pi an einen Computer (mit einem Ethernet-Kabel) oder einen lokalen Netzwerk-Router anschließen und eine Verbindung herstellen können, ohne die IP-Adresse zu kennen.
Sie können problemlos eine Verbindung von Linux und OS X mit herstellen ssh pi@hostname.local
(der Standard-Hostname lautet raspberrypi
). Dies sollte mit gängigen GUI- ssh
Programmen funktionieren . Dies ist manchmal problematisch bei einigen Versionen von Windows und Netzwerken, die .local nicht standardgemäß verwenden. (Siehe https://en.wikipedia.org/wiki/.local )
HINWEIS .local
Auflösung funktioniert nicht immer zB in rsync
. Folgendes sollte IP auflösen (und kann in bash
Skripten enthalten sein)
RemotePi=$(getent hosts hostname.local | awk '{ print $1 }')
Wenn Ihr System getent
das hosts
zB macOS nicht abfragen muss , können Sie folgendes verwenden: -
RemotePi=$(arp -n hostname.local | awk '{x = $2; gsub(/[()]/, "", x); print x }')
Wenn Sie mehrere Pi haben, müssen Sie sicherstellen, dass jeder Pi einen eindeutigen Hostnamen hat.
Sie können ein Crossover-Kabel verwenden, benötigen jedoch keines (die meisten modernen Schnittstellen erkennen dies automatisch).
Ein Nachteil der direkten Verbindung ist, dass der Pi keinen Internetzugang hat und das Datum nicht eingestellt wird. Sie können das Datum vom Host kopieren, indem Sie es ssh pi@hostname.local sudo date -s$(date -Ins)
vor dem Herstellen der Verbindung ausführen.
In diesem Tutorial wird beschrieben, wie Sie eine normale Raspbian-Installation einrichten, um mit der mitgelieferten Software auf das Internet zuzugreifen. Es werden auch Verbindungen zu anderen Computern im selben Netzwerk behandelt.
Es zielt in erster Linie darauf ab, neuen Benutzern dabei zu helfen, ihren Pi (insbesondere WiFi) zum Laufen zu bringen.
Es umfasst NICHT: -
- Andere Netzwerkmanager.
- Ausführen eines erweiterten Netzwerks auf dem Pi (z. B.
DHCP
Server, Tunneling, VPN, Access Point).- Verwendung von
ipv6
(obwohl, wenn Sie einipv6
Netzwerk haben, sollte dies funktionieren).- Alternative Netzwerkeinstellungen. (Es gibt viele verschiedene Möglichkeiten, Netzwerke einzurichten.)
Fragen zur Einstellung der statischen IP-Adresse gehören zu den häufigsten auf dieser Site. Es gibt sehr viele Tutorials (viele falsch, veraltet oder unvollständig).
Haftungsausschluss
Bevor ich fortfahre, fühle ich mich verpflichtet, darauf hinzuweisen, dass das Einrichten einer statischen Adresse NICHT empfohlen wird. Telekommunikationsingenieure tun dies nicht. Statische IP-Adressen können das Leben eines Netzwerkadministrators gefährden. Es gibt Situationen, in denen statische IP-Adressen erforderlich sind, z. B. wenn Sie einen DHCP-Server oder ein isoliertes Netzwerk ohne DHCP-Server verwenden.
Wenn Sie trotzdem weitermachen möchten, sollten Sie sicherstellen, dass Sie es richtig machen. Angepasst aus dem Foundation Network Tutorial
Dies ist am einfachsten mit dem Pi selbst unter Verwendung von DHCP möglich, kann jedoch auf jedem Computer in Ihrem Netzwerk durchgeführt werden, obwohl die Befehle auf anderen Systemen abweichen können.
Lauf
ip -4 addr show | grep global
was sollte eine Ausgabe geben wie:
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
Die erste Adresse ist die IP-Adresse Ihres Pi im Netzwerk, und der Teil nach dem Schrägstrich ist die Netzwerkgröße. Es ist sehr wahrscheinlich, dass Ihre / 24 sein wird.
Die zweite Adresse ist die brd-Adresse (Broadcast-Adresse) des Netzwerks.
Finden Sie die Adresse Ihres Routers (oder Gateways)
ip route | grep default | awk '{print $3}'
10.1.1.1
Notieren Sie zum Schluss die Adresse Ihres DNS-Servers, die häufig mit der Ihres Gateways identisch ist.
cat /etc/resolv.conf
# Generated by resolvconf
nameserver 10.1.1.1
Dann folgt EINES der folgenden Methoden. (Es gibt andere Methoden hier nicht dokumentiert. Dies sind die am häufigsten auf Raspbian sind.) ( Bei beiden Verfahren ersetzen die entsprechenden Netzwerkschnittstellennamen für eth0
, wlan0
oder vorhersehbare Netzwerkschnittstellennamen . )
Wenn Sie die Schnittstellennamen suchen möchten, auch wenn keine Verbindung besteht, führen Sie den folgenden Befehl aus ls /sys/class/net/
Bei beiden Methoden sollten Sie IP-Adressen auswählen, die nicht verwendet werden. Idealerweise außerhalb des von Ihrem DHCP-Server verwendeten Bereichs innerhalb desselben Subnetzwerks.
Übernehmen Sie /etc/network/interfaces
die Standardeinstellung (wie oben).
Bearbeiten Sie /etc/dhcpcd.conf
wie folgt: -
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
ist die Adresse und Größe des obigen Befehls (oder eine andere nicht verwendete Adresse im selben Netzwerk),
routers
ist die Adresse Ihres Routers (oder Gateways).
domain_name_servers
ist die DNS-Adresse (n) von /etc/resolv.conf. (siehe man dhcpcd.conf
)
Es gibt einen guten Artikel dhcpcd
unter https://wiki.archlinux.org/index.php/dhcpcd Die Fallback profile
ist eine Alternative zur statischen IP
HINWEIS Diese Methode wird NICHT empfohlen (und funktioniert nur, wenn Sie den DHCP-Client-Dämon deaktivieren), insbesondere, wenn Sie beide Schnittstellen verwenden möchten.
Konfigurieren Sie eine statische Netzwerkadresse auf Ihrem 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
ist die Adresse aus dem obigen Befehl (oder eine andere nicht verwendete Adresse im selben Netzwerk),
netmask
255.255.255.0 entspricht der Netzwerkgröße /24
.
gateway
ist die Adresse Ihres Routers (oder Gateways).
Sie können auch angeben dns-nameservers
, dies ist jedoch im Allgemeinen nicht erforderlich. Das broadcast
wird automatisch von address
und abgeleitet netmask
und muss nicht angegeben werden. Weitere Informationen finden Sie unter https://wiki.debian.org/NetworkConfiguration
Sie können entweder ein oder beide eingestellt eth0
, wlan0
oder eine der vorhersehbaren Netzwerkschnittstellennamen
Dann deaktivieren Sie den DHCP - Client - Daemon und wechseln zur Standard - Debian - Networking :
sudo systemctl disable dhcpcd
sudo systemctl enable networking
Starten Sie den Computer neu, damit die Änderungen wirksam werden:
sudo reboot
systemd-analyze
.
static domain_search=example.local
die dhcpcd.conf-Methode hinzugefügt . Fühlen Sie sich frei, mich zu kontaktieren.
Für eine statische IP-Adresse bei einer Ethernet-Verbindung:
sudo nano /etc/dhcpcd.conf
Tippen Sie die folgenden Zeilen oben in die Datei ein:
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
Dies muss für das aktuelle Jessie-Update durchgeführt werden. /etc/network/interfaces
sollte in Ruhe gelassen werden . Öffnen Sie Ihren Browser und geben Sie Ihre Router-Adresse ein (192.168.1.1 für die meisten) und überprüfen Sie Ihr Heimnetzwerk, um sicherzustellen, dass der Raspberry Pi als "statisch" angezeigt wird.
dhcpcd
daraus die Netzmaske abgeleitet wurde, die es für andere Adressbereiche nicht gibt. Lesen Sie die man
Seiten.
auto eth0
obige iface eth0 inet manual
Zeile /etc/network/interface
enthalten ist. Starten Sie das Netzwerk per sudo service networking restart
Befehl neu
Kurz und kinderleicht wie das geht mit:
Dies setzt eine feste IP und aktiviert den ssh-Daemon:
/boot/cmdline.txt
und ip=192.168.1.20
an das Ende der Zeile anfügen ./boot/ssh
ssh pi@192.168.1.20
das Passwort raspberry
. Verwenden Sie Putty unter Windows, um eine Verbindung über ssh herzustellen.Ich benutze dies, um auf meine Raspbian Jessie und Stretch zuzugreifen, die ohne angeschlossenen Monitor mit Strom und nur Ethernet booten. Nachdem ich mit einer ssh-Shell darauf zugegriffen habe, kann ich mein Setup fortsetzen.
Nach dieser Behandlung hatte der Raspberry PI zwei IP-Adressen: Eine von der festgelegten IP-Adresse und eine vom DHCP-Client, der auf dem Raspberry Pi ausgeführt wird.
ifconfig
zeigt dir die feste IP an. Während das blaue Pfeilsymbol oben rechts die dhcpd-IP anzeigt.
Als Erstes sollten Sie die IP-Adresse Ihres Himbeer-Pis statisch machen. Wenn Sie Ihren Raspberry Pi einschalten, sollte er sich mit Ihrem Zugangspunkt (Hotspot) verbinden.
Stellen Sie eine Verbindung zu Ihrem Access Point her. Geben Sie ifconfig in das Himbeer-Pi-Terminal ein und geben Sie die IP-Adresse unten ein, in meinem Fall 192.168.43.233
Beginnen Sie mit der Bearbeitung der Datei dhcpcd.conf
sudo nano /etc/dhcpcd.conf
Scrollen Sie ganz nach unten und fügen Sie diese Zeilen am Ende gemäß Ihrer Verbindung (verkabelt oder drahtlos) hinzu.
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
Drücken Sie Strg + x, um zu speichern und neu zu starten. Schalten Sie jetzt Ihren Himbeer-Pi ein und er stellt automatisch eine Verbindung zu Ihrem Zugangspunkt her.
routers
unddomain_name_servers
sind optional, wenn Sie kein Routing über diese Schnittstelle einrichten möchten.