Ich habe das Tutorial (eines von Hunderten) befolgt und es funktioniert nicht.
Wie richte ich Netzwerk / WLAN ein? / statische IP-Adresse auf dem Raspberry Pi?
Nachdem die Foundation das Netzwerk
dhcpcd
eingeführt hatte System an Raspbian Im Mai 2015 gab es Hunderte von Fragen (teilweise, weil die Stiftung keine Dokumentation erstellt hat). Nachdem ich Dutzende von Fragen beantwortet hatte, entschied ich mich, eine kanonische Antwort zu erstellen.
Dies bewies Um schwieriger als erwartet zu sein – zumal sich die Implementierung ständig ändert – habe ich sie hoffentlich weiterhin auf dem neuesten Stand gehalten.
(Ursprünglich habe ich dies als Dorothy Dixer bezeichnet, aber dies ist anscheinend eine australische Redewendung.)
Antwort
In diesem Tutorial wird beschrieben, wie Sie das Netzwerk mit th einrichten Der Standard-Netzwerkmanager dhcpcd ist in Raspbian seit dem 05.05.2015.
Dies gilt für die Foundation-Versionen von Raspbian Buster , Raspbian Stretch , Raspbian Jessie und die letzten Raspbian Wheezy .
Buster-Einstellungen sind identisch mit Stretch.
So richten Sie Raspbian Networking ein
Wenn Sie eine Ethernet Verbindung mit einem Router Es sollte keine Konfiguration erforderlich sein und es sollte sofort funktionieren.
Pi3B + und Pi4 verfügen über Gigabit-Ethernet -Schnittstellen und funktionieren nur auf einem Gigabit-Ethernet-Router (1000BASE-T), wenn Es wird ein 8-adriges CAT 5E-Kabel verwendet. Frühere Pi-Modelle, die nur 100BASE-T unterstützen, funktionieren über ein 6-adriges Kabel.
HINWEIS Das eingebaute WiFi unterstützt keine 5-GHz-Netzwerke und darf in 2,4-GHz-Netzwerken keine Verbindung zu Ch 12,13 herstellen, bis die drahtlose Regulierungsdomäne festgelegt ist.
WiFi auf 5-GHz-fähigen Geräten ist deaktiviert, bis die drahtlose Regulierungsdomäne festgelegt ist (Pi4B, Pi3B +, Pi3A +)
- Die Domäne kann über
Raspberry Pi Configuration
(rc_gui),raspi-config
oder indem Siecountry=
auf einen geeigneten ISO 3166 alpha2-Ländercode in/etc/wpa_supplicant/wpa_supplicant.conf
setzen.
Wenn Sie WiFi und die GUI verwenden, indem Sie die folgenden Anweisungen befolgen: Foundation-Richtlinien
Wenn Sie WLAN über die Befehlszeile verwenden Einrichten unter Befolgung der Foundation-Richtlinien Dies ist die einzige Möglichkeit, ein Netzwerk einzurichten, das nicht SSID
sendet.
Dies kann auch verwendet werden, um ein „Headless“ -System einzurichten, z Verwenden Sie ein serielles Konsolenkabel, aber es ist VIEL einfacher, wenn Sie einen Monitor und eine Tastatur für die Einrichtung ausleihen können. Im Folgenden finden Sie eine weitere mögliche Methode zur Verwendung eines Ethernet-Kabels zu einem PC.
Headless Raspbian WiFi-Setup
Raspbian , Überprüft seit Mai 2016 den Inhalt des Startverzeichnisses auf eine Datei mit dem Namen wpa_supplicant.conf
und kopiert die Datei in /etc/wpa_supplicant
und ersetzt alle vorhandenen Dateien wpa_supplicant.conf
Datei, die möglicherweise vorhanden ist. Die Datei im Startverzeichnis wird dann entfernt. Dies kann verwendet werden, um das Headless-Setup zu aktivieren. Verwenden Sie dazu die unten aufgeführten wpa_supplicant.conf
-Einstellungen oder Einrichten eines Raspberry Pi Headless ( Möglicherweise möchten Sie auch ssh
aktivieren.)
Wie lautet meine IP-Adresse?
Wenn Sie nur die IP Address
Ihr Pi verwendet die Eingabe hostname -I
in der Befehlszeile.
SSH
Ab der Version vom November 2016 ist bei Raspbian der SSH-Server standardmäßig deaktiviert. Sie müssen manuell aktivieren .
Geben Sie sudo raspi-config
in das Terminal ein und 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 Headless-Setup SSH kann aktiviert werden, indem eine Datei mit dem Namen „ssh“ ohne Erweiterung auf der Startpartition der SD-Karte abgelegt wird.
Netzwerkdateien
Wenn Sie ein aktuelles Raspbian ausführen, sollte
/etc/network/interfaces
wie folgt aussehen. Wenn Sie es geändert haben, legen Sie es zurück. (oder aufStretch
nur lösche es – es macht effektiv NICHTS.)
# 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
Die Datei /etc/wpa_supplicant/wpa_supplicant.conf
wird mit den empfohlenen Setup-Methoden erstellt / geändert, kann jedoch von Hand eingerichtet werden. Neuere Raspbian haben eine Option in raspi-config
, um SSID und Passwort einzugeben. 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 eine Verbindung zu einem privaten Netzwerk (dh keine Sendung SSID
) enthält die Zeile scan_ssid=1
innerhalb von network={⋯}
.
HINWEIS Wenn Sie eine Verbindung zu verschiedenen Netzwerken (z. B. bei der Arbeit oder zu Hause) herstellen möchten kann mehrere
network={⋯}
-Einträge enthalten.
Wenn Sie 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 den Eintragnetwork={⋯}
ein.
Sie kann für jedes Netzwerk eine andere Priorität auswählen, wird das Netzwerk mit der höchsten Priorität ausgewählt; Der Standardwert ist 0.
Es gibt viele andere Optionen, die verwendet werden können, siehe man wpa_supplicant.conf
.
Hinweise zu veralteten Betriebssystemen
Jessie nicht Fügen Sie den Hook 10-wpa_supplicant
hinzu, um WiFi-Schnittstellen zu verwalten. Daher sind Links zu wpa_supplicant erforderlich. Diese Einstellungen sind nicht mit vorhersagbaren Netzwerkschnittstellennamen kompatibel.
Die /etc/network/interfaces
, die von Jessie 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 Wenn Sie dhcp in /etc/network/interfaces
aufrufen, wird dhcpcd
.
Vorhersagbare Netzwerkschnittstellennamen
Stretch
führte 1 vorhersehbare Netzwerkschnittstellennamen , die seit einiger Zeit in anderen Distributionen verwendet werden.
Netzwerkschnittstellen haben Namen, die aus einem Präfix – Ethernet oder wl
– wlan, gefolgt von x
, das MAC
und die MAC
z enxb827eb123456
oder wlx00c140123456
. Das integrierte WLAN von Pi4, Pi3 und PIZeroW, das über sdio
verbunden ist, verwendet jedoch den Namen wlan0
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 kaum einen Unterschied. Die vorherigen Namen eth0
und wlan0
können wiederhergestellt werden, wenn Sie net.ifnames=0
für den Kernel-Befehl übergeben Zeile in /boot/cmdline.txt
.
In raspi-config
gibt es eine Option, um vorhersagbare Netzwerkschnittstellennamen zu aktivieren.
1. Aus einem unverständlichen Grund hat die Stiftung beschlossen, “ vorhersehbare Netzwerkschnittstellennamen für Ethernet-Geräte “ nur 3 Wochen nach Einführung der lang erwarteten Funktion zu deaktivieren . Unter Advanced Options
von raspi-config
gibt es eine Option zum Umschalten dieser Einstellung.
Einrichten einer statischen IP-Adresse
Wenn Sie möchten, dass Ihrem Pi eine vorhersagbare IP-Adresse zugewiesen wird, können Sie dies tun Reservieren Sie entweder eine in Ihrem Router ODER fordern Sie den DHCP-Server auf, eine zuzuweisen.
Z.B Im Folgenden wird eine Adresse für wlan0 angefordert.
interface wlan0 request 10.1.2.99
Anfrage [Adresse ]
Fordern Sie die Adresse in der DHCP DISCOVER-Nachricht an. Es gibt keine Garantie dafür, dass dies die Adresse ist, die der DHCP-Server tatsächlich angibt. Wenn keine Adresse angegeben ist, wird die erste Adresse verwendet, die derzeit der Schnittstelle zugewiesen ist.
Wenn Sie eine IP-Adresse innerhalb des vom DHCP-Server verwalteten Bereichs anfordern , das verfügbar ist, sollte dies berücksichtigt werden, andernfalls weist der DHCP-Server eine Adresse wie gewohnt zu.
Wenn Sie WIRKLICH benötigt eine statische IP-Adresse siehe separate Antwort Statische IP-Adresse
Erweitert dhcpcd
Konfiguration
Raspbian verwendet standardmäßig dhcpcd
zum Verwalten von Netzwerkschnittstellen. 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 von dhcpcd
durch Eingabe von Optionen konfigurieren in /etc/dhcpcd.conf
; Siehe man dhcpcd.conf
. Es gibt einen guten Artikel über dhcpcd
unter https://wiki.archlinux.org/index.php/dhcpcd
Im Folgenden werden einige der gängigsten Konfigurationen beschrieben: –
Fallback-Profil
Die Konfiguration ist möglich ein statisches Profil in dhcpcd
und greifen darauf zurück, wenn die DHCP-Lease fehlschlägt. Dies ist insbesondere für kopflose Maschinen nützlich, bei denen das statische Profil als “ Wiederherstellungsprofil “ verwendet werden kann, um sicherzustellen, dass dies immer möglich ist an die Maschine anschließen. Das statische Profil wird wie jede andere statische IP-Adresse eingerichtet.
# 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
Verhindern Sie, dass dhcpcd
eine Schnittstelle konfiguriert
Dies wird häufig durchgeführt, damit der Pi als Access Point fungieren kann (der mit anderen Dateien konfiguriert werden muss), während normaler DHCP
Konfiguration auf anderen Schnittstellen.
Fügen Sie am Ende der Datei denyinterfaces wlan0
hinzu (jedoch über allen anderen hinzugefügten Schnittstellenzeilen).
Verhindern Sie, dass dhcpcd
ein Gateway auf einer Schnittstelle konfiguriert.
Wenn Sie möchten, dass eine Schnittstelle keine Standardrouten installiert (häufig verwendet in) Verbindung mit einer statischen IP-Adresse) Geben Sie
nogateway
Hostspezifische Konfiguration
dhcpcd
an Konfigurieren Sie Schnittstellen abhängig vom Host-Netzwerk. Hierbei wird das Address Resolution Protocol (ARP) verwendet, um Hosts basierend auf der MAC- oder IP-Adresse zu prüfen, bevor eine DHCP-Auflösung versucht wird.
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
Sie können DHCP beschleunigen, indem Sie ARP deaktivieren Prüfen, ob Sie diese Funktionen nicht verwenden und über ein einfaches Netzwerk verfügen.
noarp
Verwenden Sie verschiedene wpa_supplicant-Dateien
Es ist möglich, dhcpcd zu konfigurieren um verschiedene wpa_supplicant.conf-Dateien für eine bestimmte drahtlose Schnittstelle zu verwenden.
Erstellen Sie eine Datei mit dem Namen wpa_supplicant-"$interface".conf
in /etc/wpa_supplicant/
, z wpa_supplicant-wlan0.conf
wird nur von wlan0
/etc/wpa_supplicant/wpa_supplicant.conf
verwendet Wird für alle anderen drahtlosen Schnittstellen verwendet.
Anschließen eines Computers an den Pi
Neueste Versionen von Raspbian (die dhcpcd
verwenden ) Erlauben Sie ssh
, über eine link-local
-Adresse und avahi
(eine Zeroconf-Implementierung) zu arbeiten ) ermöglicht es Programmen, 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 Netzwerkrouter anschließen und eine Verbindung herstellen können, ohne die IP-Adresse zu kennen.
Sie können mit ssh [email protected]
problemlos eine Verbindung von Linux und OS X herstellen (der Standardhostname lautet raspberrypi
). Dies sollte mit popular funktionieren GUI ssh
-Programme. Dies ist manchmal problematisch bei einigen Windows- und Netzwerkversionen, die .local nicht standardmäßig verwenden. (Siehe https://en.wikipedia.org/wiki/.local )
HINWEIS .local
Auflösung funktioniert nicht immer zB in rsync
. Das Folgende sollte IP auflösen (und kann in bash
-Skripten enthalten sein)
RemotePi=$(getent hosts hostname.local | awk "{ print $1 }")
Wenn Ihr Das System verfügt nicht über getent
, um die hosts
abzufragen Unter macOS 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 kein (die meisten modernen Schnittstellen erkennen dies automatisch).
Ein Nachteil der direkten Verbindung besteht darin, dass der Pi keinen Internetzugang hat und das Datum wird nicht festgelegt. Sie können das Datum vom Host kopieren, indem Sie ssh [email protected] sudo date -s$(date -Ins)
vor der Verbindung ausführen.
Gültigkeitsbereich:
In diesem Lernprogramm wird eine normale Raspbian-Installation eingerichtet, um mit der mitgelieferten Software auf das Internet zuzugreifen. Außerdem werden Verbindungen zu anderen Computern im selben Netzwerk behandelt.
Es soll in erster Linie neuen Benutzern helfen, Probleme zu haben, ihre zu bekommen Pi (insbesondere WiFi) funktioniert.
Es gilt NICHT: –
- Andere Netzwerkmanager.
- Ausführen eines erweiterten Netzwerks auf dem Pi (z. B.
DHCP
Server, Tunneling, VPN, Access Point).- Verwendung von
ipv6
(obwohl dies funktionieren sollte, wenn Sie einipv6
-Netzwerk haben).- Alternative Netzwerkeinstellungen. (Es gibt viele verschiedene Möglichkeiten, ein Netzwerk einzurichten.)
Kommentare
- Ich war verwirrt von der “ Dies ist NICHT etwas, das Sie in die Datei “ eingeben würden. Wenn ich ‚ nicht falsch liege, bedeutet Milliways hier, dass Sie nicht ‚ t die gesamte Datei ersetzen würden mit diesem Stück Text. Es ist jedoch ‚ vollkommen in Ordnung, dieses Bit am Ende hinzuzufügen (natürlich ändern Sie die Parameter nach Ihren Wünschen). Außerdem sind die Zeilen
routers
unddomain_name_servers
optional, wenn Sie ‚ nicht festlegen möchten Um Ihre IP-Adresse zu konfigurieren, müssen Sie zum Konfigurieren Ihrer IP-Adresse den DHCP-Client installiert haben und anhand seiner Konfiguration eine statische IP-Adresse festlegen. ‚ funktioniert nicht, wenn ich einen DHCP-Server auf meinem Raspbian haben möchte! Der DHCP-Client wird nach dem Start des DHCP-Servers ausgeführt, sodass die IP-Adresse noch nicht festgelegt ist, sodass sich der DHCP-Server (isc-dhcpd) beschwert. - Wo befindet sich dieser offiziell dokumentiert?
- Wo ist das dokumentiert? Ich meine, WTF. Ich habe diese und viele andere Anweisungen befolgt und kann mich nicht verbinden. Ich kann Netzwerke gerne sehen und scannen, aber es wird niemals eine Verbindung hergestellt oder zugeordnet. Ich ‚ bin darüber so verärgert.
- @MikeD. Siehe raspberrypi.org/blog/…
Antwort
Einrichten einer statischen IP-Adresse
Fragen zum Festlegen der statischen IP-Adresse werden auf dieser Site am häufigsten gestellt. Es gibt sehr viele Tutorials (viele falsch, veraltet oder unvollständig).
Wenn Sie eine statische IP-Adresse in Betracht ziehen, möchten Sie, dass Ihrem Pi eine vorhersagbare IP-Adresse Sie können den DHCP-Server auffordern, eine zuzuweisen.
ZB Wenn Sie Folgendes zu /etc/dhcpcd.conf
hinzufügen, wird eine Adresse für wlan0 und eth0 angefordert.
interface wlan0 request 10.1.2.99 interface eth0 request 10.1.2.98
Wenn Sie eine IP-Adresse innerhalb des vom DHCP-Server verfügbaren Bereichs anfordern Dies sollte beachtet werden, andernfalls weist der DHCP-Server wie gewohnt eine Adresse zu.
Haftungsausschluss
Bevor ich fortfahre, fühle ich mich verpflichtet, dies anzugeben Das Einrichten einer statischen Adresse wird NICHT empfohlen. Telekommunikationsingenieure tun dies nicht. Statische IP-Adressen können der Fluch des Lebens eines Netzwerkadministrators sein. Es gibt Situationen, in denen statische IP-Adressen erforderlich sind, z. B. wenn Sie einen DHCP-Server oder ein isoliertes Netzwerk ohne DHCP-Server ausführen.
Wenn Sie eine bekannte IP-Adresse haben möchten, sollten Sie eine auf Ihrem DHCP-Server reservieren – vorzugsweise außerhalb des von DHCP bereitgestellten Bereichs (ich mache dies für meine Netzwerkdrucker). Dies vermeidet die Komplikation beim Bestimmen von Gateways usw.
Wenn Sie entschlossen sind, trotzdem fortzufahren, sollten Sie dies tun Stellen Sie sicher, dass Sie es richtig verstanden haben. Angepasst von Foundation Network Tutorial
Suchen Sie die Einstellungen Ihres lokalen Netzwerks
Dies ist am einfachsten mit dem Pi selbst über DHCP möglich, kann jedoch auf jedem Computer in Ihrem Netzwerk durchgeführt werden, obwohl die Befehle auf anderen Systemen unterschiedlich sein können.
Führen Sie
ip -4 addr show | grep global
Das oben Gesagte setzt eine IPV4-Adressierung voraus. Wenn Ihr ISP IPV6 verwendet, lassen Sie den Parameter “ -4 “ weg.
, die eine Ausgabe wie folgt ergeben sollte:
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 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 (Broadcast) -Adresse des Netzwerks.
Suchen Sie die Adresse Ihres Routers (oder Gateways).
ip route | grep default | awk "{print $3}" 10.1.1.1
Notieren Sie abschließend die Adresse Ihres DNS-Servers, die häufig mit der Ihres Gateways übereinstimmt.
cat /etc/resolv.conf # Generated by resolvconf nameserver 10.1.1.1
Folgen Sie dann EINER der folgenden Methoden.(Es gibt andere Methoden, die hier nicht dokumentiert sind. Diese sind in Raspbian am häufigsten.) ( In beiden Methoden ersetzen Sie eth0
, wlan0
oder vorhersagbare 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.
dhcpcd-Methode
Lassen Sie /etc/network/interfaces
standardmäßig (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 einer anderen nicht verwendeten 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 zu dhcpcd
unter https://wiki.archlinux.org/index.php/dhcpcd Die Fallback profile
ist eine Alternative zur statischen IP
Netzwerkschnittstellenmethode
HINWEIS Diese Methode ist NICHT empfohlen (und funktioniert nur, wenn Sie den DHCP-Client-Daemon deaktivieren), insbesondere wenn Sie beide Schnittstellen verwenden möchten.
Konfigurieren 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 dns-nameservers
angeben, dies ist jedoch in der Regel nicht notwendig. Die broadcast
wird automatisch von address
und netmask
abgeleitet und muss nicht angegeben werden. Weitere Informationen finden Sie unter https://wiki.debian.org/NetworkConfiguration
Sie können eine oder beide , wlan0
oder einer der vorhersagbaren Netzwerkschnittstellennamen
Dann deaktivieren Sie den DHCP-Client-Daemon und wechseln zum Standard-Debian-Netzwerk :
sudo systemctl disable dhcpcd sudo systemctl enable networking
Starten Sie neu, damit die Änderungen wirksam werden:
sudo reboot
Kommentare
- Was sind die Vor- und Nachteile dieser beiden von Ihnen erwähnten Methoden?
- @ElliottB Lesen Sie den obigen Haftungsausschluss
- Ich habe das gelesen, ich ‚ wundere mich nur über die beiden Methoden dhcpcd vs networking. Ich möchte sehen, ob eine statische IP das Booten beschleunigt, da in
systemd-analyze
eine Verzögerung von 15 Sekunden für dhcpcd angezeigt wird. - Die Leistung ist besser, wenn dhcpd deaktiviert wird Ich habe gerade den zweiten nicht empfohlenen Ansatz getestet und er beschleunigt die Startzeit auf meinem RasPI Zero W um 7 Sekunden.
- Netzwerkadministratoren mögen dies nicht. Dies ist kein Grund, DHCP-Adressen auf Rapsberry-Pi ‚ s und orange pi ‚ s und lokalen Druckern zu haben. Fast jeder, der dies liest, ist ein Heimanwender und wird nicht von selbstgefälligen Kommentaren darüber bedient, was “ Profis “ tun. Albert
Antwort
Für eine statische IP-Adresse in einer Ethernet-Verbindung:
-
sudo nano /etc/dhcpcd.conf
-
Geben 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, 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.
Kommentare
- Wenn Sie zumindest Teile der Antwort kopieren wollen, sollten Sie es richtig machen.
- In Ihrem Fall hat es wahrscheinlich funktioniert, aber im Allgemeinen nicht, weil
dhcpcd
hat auf die Netzmaske geschlossen, die für andere Adressbereiche nicht möglich ist. Lesen Sie die Seitenman
. - Sie behaupten, dass / etc / network / interfaces in Ruhe gelassen werden sollte, sagen aber nicht warum. In der Tat ist das Gegenteil der Fall. Siehe meine Antwort unten.
- Wenn Sie Netzwerkdienste ohne Neustart neu starten möchten, stellen Sie sicher, dass in Ihrer Zeile
auto eth0
überiface eth0 inet manual
steht div id = „eda643d679“>
Datei. Starten Sie das Netzwerk über den Befehlsudo service networking restart
Antwort
Kurze und narrensichere Methode, wie dies gemacht wird mit:
Raspbian Jessie, Stretch, Buster
Dadurch wird eine feste IP festgelegt und der ssh-Daemon aktiviert:
- Stecken Sie die SD-Karte in Ihren PC und stellen Sie fest, dass sie zwei Partitionen hat. Hängen Sie die kleinste Partition als
/boot/
- ein. Öffnen Sie
/boot/cmdline.txt
und fügen Sieip=192.168.1.20
bis zum Ende der Zeile. - Erstellen Sie eine leere Datei
/boot/ssh
- Hängen Sie die SD-Karte vom PC aus und legen Sie sie in den Pi ein und booten Sie Ihren Raspberry Pi
- Unter Linux starten Sie
ssh [email protected]
. Das Passwort lautetraspberry
. Verwenden Sie Putty unter Windows, um eine Verbindung über ssh herzustellen. - Konfigurieren Sie auf dem Pi die Einstellungen, um SSH zu aktivieren, z. mit GUI oder raspi-config, da / boot / ssh beim ersten Start automatisch entfernt wird
Ich verwende dies, um auf meine Raspbian Jessie und Stretch zuzugreifen, die ohne angeschlossenen Monitor booten, mit Nur Strom und Ethernet. Nachdem ich mit einer SSH-Shell darauf zugegriffen habe, kann ich mein Setup fortsetzen.
Nach dieser Behandlung hatte der Raspberry PI zwei IPs: Eine von der von Ihnen angegebenen festen IP und eine von dem auf dem Raspberry Pi ausgeführten DHCP-Client.
ifconfig
wird angezeigt Sie die feste IP. Während das blaue Pfeilsymbol oben rechts die dhcpd-IP anzeigt.
Kommentare
- Bitte schlagen Sie NICHT vor, sie zu deaktivieren IPv6. Das ist NICHT erforderlich.
- Warum sollte ich 2 IPs benötigen?
- @ SiXandSeven8ths Es sind keine 2 IPs erforderlich. Ich habe das Verhalten beobachtet und beschreibe es hier Um Überraschungen zu minimieren, würde ich meine Antwort verbessern, hatte aber ‚ keine Zeit dafür.
- @SiXandSev en8ths I ‚ Es tut mir leid, das zu hören. Es hat gut funktioniert für mich. Dies war auch die einzige Möglichkeit, ohne einen Monitor und eine Tastatur an den Himbeer-Pi anzuschließen. Also dachte ich, es könnte für jemand anderen nützlich sein.
- Ich fand heraus, was ich falsch gemacht habe. Ich habe versucht, die statische IP nach dem Booten mit angeschlossener Monitormaus und Tastatur zu konfigurieren. Ich habe deine Antwort bearbeitet. Wenn die Bearbeitung akzeptiert wird, werde ich meine Kommentare entfernen. +1
Antwort
Als erstes sollten Sie die IP Ihres Raspberry Pi statisch machen Wenn Sie Ihren Raspberry Pi einschalten, sollte er eine Verbindung zu Ihrem Access Point (Hotspot) herstellen.
Stellen Sie eine Verbindung zu Ihrem Access Point her. Geben Sie ifconfig in das Terminal des Raspberry Pi ein und geben Sie die IP-Adresse unten ein, in meinem Fall war 192.168.43.233
Bearbeiten Sie zunächst die Datei dhcpcd.conf
sudo nano /etc/dhcpcd.conf
Scrollen Sie ganz nach unten und fügen Sie diese Zeilen bei hinzu das Ende gemäß Ihrer Verbindung (verkabelt oder drahtlos).
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.
Antwort
SystemdNetworkd
Raspbian / Raspberry Pi OS verwendete ursprünglich Debian Networking , das durch im Jahr 2015.
dhcpcd
ist das aktuelle Standardnetzwerksystem.
Raspbian basiert jetzt auf systemd
mit systemd-networkd , einem Systemdienst, der Netzwerke verwaltet.
Er erkennt und konfiguriert Netzwerkgeräte so, wie sie sind angezeigt werden sowie virtuelle Netzwerkgeräte erstellen.
In diesem Lernprogramm wird beschrieben, wie Sie ein grundlegendes Netzwerk mit systemd-networkd
einrichten.
HINWEIS nur grundlegend Die Vernetzung über die integrierten Schnittstellen eth0
und wlan0
wird beschrieben.
Es wird davon ausgegangen, dass Sie mit networkin vertraut sind g und einigermaßen kompetentes Konfigurieren von Linux.
Es ist NICHT eine für Anfänger empfohlene Methode; Die Einrichtung ist komplexer.
Jede Schnittstelle muss explizit konfiguriert werden.WARNUNG Dadurch wird das Netzwerk-Tool im Desktop-Bereich deaktiviert.
Ethernet-Netzwerk
Sie müssen ein Netzwerk definieren, indem Sie eine Datei erstellen in /etc/systemd/network
.Dies kann mit der Erweiterung .network
beliebig benannt werden. Im folgenden Beispiel wird systemd-networkd
angewiesen, eth0
(wird von udev
eingerichtet) und weisen ihm eine Adresse über DHCP zu.
[Match] Name=eth0 [Network] DHCP=ipv4 [DHCP] RouteMetric=201
Eine Alternative mit statischen IP-Adressen
[Match] Name=eth0 [Network] Address=192.168.1.20/24 Gateway=192.168.1.1 DNS=192.168.1.1 [DHCP] RouteMetric=201
Drahtloses Netzwerk
Um eine Verbindung zu einem drahtlosen Netzwerk mit systemd-networkd
ist ein drahtloser Adapter erforderlich, der mit einer anderen Anwendung wie WPA Supplicant konfiguriert ist.
Zur Verwendung von wlan0
sollten Sie eine geeignete /etc/wpa_supplicant/wpa_supplicant-wlan0.conf
zB
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 country=<2 letter ISO 3166-1 country code> network={ ssid="ESSID" psk="Your_wifi_password" }
(Wenn Sie bereits über ein WLAN-Setup verfügen, können Sie die Datei /etc/wpa_supplicant/wpa_supplicant.conf
.)
Erstellen Sie eine .network
-Datei in /etc/systemd/network
.
[Match] Name=wlan0 [Network] DHCP=ipv4 [DHCP] RouteMetric=301
Nachdem Sie die entsprechenden Konfigurationsdateien erstellt haben, benötigen Sie zum Deaktivieren des vorhandenen Netzwerks und zum Aktivieren von systemd-networkd
-Diensten.
HINWEIS Es besteht keine Notwendigkeit, vorhandene Netzwerkdienste zu löschen. Wenn deaktiviert, stören sie nicht und können bei Bedarf einfach wieder aktiviert werden.
sudo systemctl enable systemd-networkd sudo systemctl disable dhcpcd sudo systemctl disable networking sudo systemctl enable systemd-resolved.service sudo systemctl enable systemd-resolved.service sudo systemctl disable wpa_supplicant.service sudo systemctl enable [email protected]
Sie können den Status folgendermaßen überprüfen: –
systemctl status systemd-networkd systemctl status systemd-resolved.service systemctl status wpa_supplicant.service systemctl status [email protected] systemctl status dbus.service
Referenzen
- Debian-Wiki
- Das ArchLinux-Wiki bietet eine umfassende Dokumentation.