Hallo,
ich möchte auf einem RP2B squid als Proxy headless betreiben und möchte die Netzwerkkonfiguration gleich auf die neue Art mit systemd-networkd realisieren.
Ich habe dazu diese Anleitung (Variante5) herangezogen:
Lösung (Variante 5): IPv4-Konfiguration per systemd-networkd
Neben der alten Konfiguration per "/etc/network/interfaces" oder "dhcpcd" gibt es noch die systemd-Variante. In zukünftigen Raspbian-Versionen wird "systemd" die Netzwerk-Konfiguration übernehmen.
Man sollte die Umstellung auf "systemd-networkd" nicht per SSH machen. Gibt es eine Verbindungsunterbrechung, dann bekommt man die Verbindung unter Umständen nicht wieder aufgebaut.
Zuerst prüfen wir, ob der Dienst "systemd-networkd" vorhanden ist. Das ist die Voraussetzung, dass diese Lösung überhaupt möglich ist. Ab Raspbian Jessie sollte das funktionieren.
systemctl status systemd-networkd
Dort sollte stehen "Loaded: loaded".
Zuerst geht es darum, alte Network- oder Networking-Komponenten zumindest zu deaktivieren. Deinstallieren und löschen empfiehlt sich nicht, weil man sonst nur schwer wieder zurückkehren kann.
sudo update-rc.d networking remove
sudo systemctl stop dhcpcd
sudo systemctl disable dhcpcd
Den Dienst für die Namensauflösung "systemd-resolved" aktivieren und starten:
sudo systemctl enable systemd-resolved
sudo systemctl start systemd-resolved
Prüfen, ob "systemd-resolved" läuft:
sudo systemctl status systemd-resolved
In der Zeile "Loaded: loaded" sollte hinten "enabled" stehen.
Dann setzen wir noch einen symbolischen Link für die Datei mit der Adresse des Nameservers. Wenn dieser Link fehlt, dann kann es sein, dass die Namensauflösung nicht funktioniert.
sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
Dann geht es darum, eine Netzwerk-Konfiguration anzulegen. Die kann in mehreren Dateien verteilt sein, die sich alle im selben Verzeichnis befinden.
ls /etc/systemd/network/
Wenn das Verzeichnis leer ist, dann muss man die notwendigen Dateien erst noch anlegen. Der Dateiname ist dabei unerheblich. Er muss nur auf ".network" enden. Trotzdem empfiehlt es sich, sinnvolle Dateinamen zu wählen, um sich im Fehlerfall leichter zurecht zu finden.
Beispiel für eine statische IPv4-Konfiguration für das Interface "eth0":
sudo nano /etc/systemd/network/eth0.network
Eintrag für eine statische IPv4-Konfiguration:
[Match]
Name=eth0
[Network]
Address=192.168.1.2/24
Gateway=192.168.1.1
DNS=192.168.1.1
Alternativ: Eintrag für eine IP-Konfiguration mit DHCP:
[Match]
Name=eth0
[Network]
DHCP=yes
Speichern und schließen mit Strg + O, Return, Strg + X.
Den Dienst "systemd-networkd" aktivieren und starten:
sudo systemctl enable systemd-networkd
sudo systemctl start systemd-networkd
Prüfen, ob "systemd-networkd" läuft:
sudo systemctl status systemd-networkd
In der Zeile "Loaded:" sollte hinten "enabled" stehen und die Schnittstelle sollte konfiguriert sein. In diesem Fall "eth0 : link configured".
Danach das System neustarten:
sudo reboot
Nach dem Neustart sollte das System mit "systemd-networkd" laufen.
Lösung: Netzwerk-Konfiguration prüfen
Ob die IPv4-Einstellungen korrekt übernommen wurden, sollte man prüfen.
Die IP-Adresse kann man wie folgt prüfen.
ip a
Das Interface "eth0" muss dann in der Zeile mit "inet-Adresse" die statische konfigurierte IPv4-Adresse bekommen haben.
Dann prüft man, ob das Standard-Gatway bzw. die Default-Route eingetragen ist. Die ist wichtig, damit man überhaupt ins Internet kommt.
ip r
Wenn "default" auf die richtige IPv4-Adresse des Standard-Gateways zeigt, dann ist alles in Ordnung.
Jetzt fehlt noch der DNS-Server. Der ist notwendig, damit die Namensauflösung funktioniert und Verbindungen ins Internet über die ermittelten IP-Adressen über das Standard-Gateway möglich sind.
cat /etc/resolv.conf
Steht hinter "nameserver" die IPv4-Adresse des DNS-Servers, dann ist auch hier alles in Ordnung.
Display More
Leider wird darin nicht erklärt, wie man das mit WLAN auf die Beine stellt. Wenn ich versuche über raspi-config WLAN einzurichten, erhalte ich die Meldung:
Ich vermute, dass raspi-config nicht dafür ausgelegt ist mit systemd-networkd zusammen zu arbeiten.
Deswegen mein Frage, wie bekomme ich die WLAN-Verbindung eingerichtet?
BTW: Ich habe das neuste Raspbian-Buster Lite vom 26.9.2019 installiert. Bevor ich der obigen Anleitung gefolgt bin, hatte ich erfolgreich eine WLAN-Verbindung mit raspi-config eingerichtet, aber eben mit dhcp.