Wie richte ich eine Netzwerk- / WLAN- / statische IP-Adresse unter Raspbian / Raspberry Pi OS ein?

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 Sie country= 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 auf Stretch 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 Eintrag network={⋯} 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 ein ipv6 -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 und domain_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:

  1. sudo nano /etc/dhcpcd.conf
  2. 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 
  3. 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 Seiten man.
  • 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 über iface eth0 inet manual steht div id = „eda643d679“>

Datei. Starten Sie das Netzwerk über den Befehlsudo service networking restart

  • neu. Dies kann eine kopierte Antwort sein, enthält jedoch alles, was Sie zum Einrichten einer statischen IP auf Himbeere benötigen. Die akzeptierte Antwort ist unnötig lang.
  • 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 Sie ip=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 lautet raspberry. 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

    1. Debian-Wiki
    2. Das ArchLinux-Wiki bietet eine umfassende Dokumentation.

    Schreibe einen Kommentar

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.