Von WLAN auf ETH umstellen

Lesedauer 2 Minuten

Use Case

Ein Szenario bei welchem der folgende Workaround angewendet werden könnte, wäre die Installation eines Raspberry Pi mit einem Linux (Ubuntu / Debian) in einer Infrastruktur wo DHCP nur für WLAN verfügbar ist aber nicht für Ethernet. Darüber hinaus soll der Pi nur über SSH Konsole konfiguriert werden und auf den Anschluss eines Monitors und einer Tastatur verzichtet werden.

Bei der Konfiguration eines Image für den PI können dem Imager bereits grundlegende Einstellungen wie WLAN Zugangsdaten (SSID und Passwort) mitgegeben werden, ein Benutzer erstellt werden sowie der SSH Zugang aktiviert werden. Damit sind alle Voraussetzungen erfüllt, dass das System nach dem ersten Booten über eine SSH-Konsole erreicht werden kann.

Netplan Kofiguration (Ubuntu):

In der Netplan Konfigurationsdatei /etc/netplan/50-netcfg.yaml hinterlegt Ubuntu die Konfiguration für das Netzwerk. Um eine statische IPv4 Adresse für Ethernet einzustellen, ändern Sie diese Datei folgendermaßen ab:

Achten Sie auf korrekte Einrückungen in der Konfigurationsdatei. YAML reagiert empfindlich darauf und akzeptiert zum Beispiel nur Einrückungen mit Leerzeichen sowie deren korrekte Anzahl. Tabulatorzeichen dürfen nicht verwendet werden. Das Kommando netplan apply verfügt über einen integrierten Syntaxchecker und wird einen entsprechenden Hinweis anzeigen, sollten Fehler gefunden werden. Sie können die Syntax auch in Online-Tools wie z.B. https://yamlchecker.com prüfen lassen. Beachten Sie bei der Prüfung sensibler Daten die Datenschutz- und Informationssicherheitskriterien.

/etc/netplan/50-netcfg.yaml:

# This file is generated from information provided by the datasource.  Changes
# to it will not persist across an instance reboot.  To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
    version: 2
    renderer: networkd
    ethernets:
        eth0:
            dhcp4: no
            addresses:
                - 192.168.178.210/24
            nameservers:
                addresses:
                    - 192.168.178.2
                    - 8.8.4.4
            routes:
                - to: 0.0.0.0/0
                  via: 192.168.178.1
                  metric: 100
    wifis:
        wlan0:
            dhcp4: true
            access-points:
                prontosystems:
                    password: <encrypted password>
            dhcp4-overrides:
                route-metric: 200

Die Warnung im Kommentar, dass Einstellungen nach einem Neustart zurückgesetzt werden können, gilt nur für Cloud-Umgebungen, in denen die Konfiguration von externen Quellen wie z.B. cloud.init gesetzt wird. Bei lokal gehosteten Systemen sollten hier keine Probleme auftreten.

Aktivieren Sie die Änderung:

$ sudo netplan apply

Nun sollten beide Interfaces eine IPv4 Adresse haben (sudo ip addr). Loggen Sie sich per SSH mit der IPv4 Adresse von eth0 ein. Mit folgendem Kommando kann jetzt das Interface wlan0 abgeschaltet werden:

$ sudo ip link set wlan0 down

Diese Einstellung ist jedoch nicht dauerhaft. Nach einem Neustart des Systems ist das WLAN-Interface wieder aktiv. Um das Interface dauerhaft zu deaktivieren, kommentieren Sie die das WLAN betreffenden Zeilen (22-29) aus und laden Sie die Konfiguration mit sudo netplan apply neu.

Loading

Updated on 16. September 2024
Was this article helpful?

Related Articles