Alpine Networking: Services & Config (Artikel 198)
Konfiguration von Netzwerkdiensten unter Alpine Linux. Erfahren Sie alles über das klassische interfaces-Format, die Nutzung von BusyBox-Applets und das Management von DNS und DHCP.
# Alpine Networking: Schlanke Dienste, stabil vernetzt
TL;DR / Management Summary In Alpine Linux gibt es keinen massiven NetworkManager. Alles ist auf Effizienz getrimmt. Das Netzwerk wird über die klassische Datei
/etc/network/interfacesgesteuert und von OpenRC (Artikel 195) verwaltet. Viele Standarddienste (wie NTP oder ein kleiner DHCP-Server) werden direkt vom All-in-one Tool BusyBox bereitgestellt. Wer diese minimalistische Herkunft versteht, baut Netzwerk-Appliances, die auch unter extremen Bedingungen (Wenig RAM, CPU) stabil laufen.
# 1. Einführung & Architektur
Das Netzwerk-Skelett.
Alpine nutzt den klassischen Debian-Style für die Konfiguration, verzichtet aber auf komplexe Hintergrund-Dämons.
# Die Komponenten (Mermaid)
graph LR
A[Config: /etc/network/interfaces] --> B[OpenRC: networking service]
B --> C[Tool: ifup / ifdown]
C --> D[Kernel Stack]
E[BusyBox] --> F[Service: udhcpc - DHCP Client]
E --> G[Service: ntpd - NTP Sync]
E --> H[Service: syslogd]
subgraph "SUSE/RHEL comparison"
I[No Netplan]
J[No NetworkManager]
end
# 2. Grundkonfiguration
Statische IPs und DNS.
Die Datei /etc/network/interfaces ist die “Source of Truth”.
# Beispiel: Statische IP
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.1
# DNS Resolver
Wie bei fast jedem Linux: /etc/resolv.conf.
nameserver 1.1.1.1
nameserver 8.8.8.8
# 3. BusyBox Applets nutzen
Dienste ohne Overhead.
Anstatt schwere Dämons zu installieren, nutzen wir die in BusyBox integrierten Funktionen.
# NTP Zeitsynchronisation
# In Alpine standardmäßig aktiv
rc-service ntpd start
rc-update add ntpd default
# DHCP Client (udhcpc)
Alpine nutzt den extrem kleinen udhcpc. Er wird automatisch von ifup gestartet, wenn in der interfaces Datei inet dhcp steht.
# 4. Day-2 Operations: Fortgeschrittene Setups
Bridges und VLANs.
Auch Alpine kann komplexe Topologien, benötigt dafür aber zusätzliche Pakete.
# Bridges für LXC/Docker
apk add bridge-utils
Konfig in interfaces:
auto br0
iface br0 inet dhcp
bridge-ports eth0
bridge-stp off
# 5. Troubleshooting & “War Stories”
Wenn die Pakete nicht fließen.
# Story 1: “Der ignorierte Hostname”
Symptom: Der Server hat die korrekte IP, meldet sich aber im Netzwerk (z.B. in der Proxmox-Liste) mit dem Namen localhost.
Ursache: Alpine setzt den Hostnamen in zwei Dateien: /etc/hostname und beim DHCP-Request.
Lösung: Stellen Sie sicher, dass /etc/hostname den korrekten Namen enthält und führen Sie hostname -F /etc/hostname aus. In der interfaces Datei können Sie zudem hostname <name> beim DHCP-Eintrag erzwingen.
# Story 2: “Das hängende Netzwerk nach Reboot”
Symptom: Nach einem Kernel-Update kommt das Netzwerk nicht mehr hoch. Manuell mit ifup eth0 geht es.
Ursache: Das Interface braucht länger zur Initialisierung, als der OpenRC networking Dienst wartet.
Lösung: Erhöhen Sie den Timeout in der /etc/conf.d/net oder nutzen Sie den Dienst ifplugd, der auf Hardware-Link-Events reagiert.
# 6. Fazit & Empfehlung
- Einfachheit: Nutzen Sie die
interfacesDatei für statische Setups. Es ist fehlerresistent und leicht zu automatisieren. - Minimalismus: Vermeiden Sie es,
bindoderisc-dhcp-serverzu installieren, wenn die BusyBox-Alternativen ausreichen. - Firewall: Kombinieren Sie das Netzwerk mit awall (Alpine Wall), einem speziell für Alpine entwickelten Frontend für Iptables/Nftables.
# Anhang: Cheatsheet
| Aufgabe | Alpine / CLI Befehl |
|---|---|
| IP Adressen sehen | ip addr |
| Routing Tabelle | ip route |
| Interface neustarten | ifdown eth0 && ifup eth0 |
| DNS Test | nslookup google.com |
| Offene Ports (BusyBox) | netstat -tulpn |
| NTP Status | ntpq -p (falls installiert) / busybox ntpd -p <peer> |
| Hostname ändern | setup-hostname |
| Logs ansehen | logread -f |