05. Netzwerkgrundlagen für Ubuntu Server: Ein umfassender Leitfaden

Netzwerke sind ein grundlegender Aspekt der Serveradministration, insbesondere bei der Arbeit mit Ubuntu Server. Ob Sie einen Server in einer Cloud-Umgebung einrichten oder eine lokale Infrastruktur verwalten – es ist entscheidend zu verstehen, wie man Netzwerkschnittstellen konfiguriert, statische IP-Adressen zuweist, Netzwerkdienste verwaltet und Konnektivitätsprobleme behebt. In diesem Leitfaden behandeln wir die Grundlagen der Vernetzung unter Ubuntu Server, einschließlich der Verwendung von Netplan (das Standardwerkzeug für die Netzwerkkonfiguration in Ubuntu 22.04), den Umgang mit von cloud-init generierte Konfigurationen, die Verwaltung von Netzwerkdiensten und die Behebung häufiger Probleme.


Vorheriger Artikel:

01. Einführung in Ubuntu Server – SysOSX: AI & Cloud

02. So richten Sie Ihren ersten Ubuntu-Server ein: Ein Leitfaden für Anfänger – SysOSX: AI & Cloud

03. Die Linux-Befehlszeile für Ubuntu Server beherrschen – SysOSX: AI & Cloud

04. Benutzer und Berechtigungen auf Ubuntu Server verwalten: Ein umfassender Leitfaden – SysOSX: AI & Cloud



1. Einführung in die Vernetzung unter Ubuntu Server

Ubuntu Server verwendet Netplan als sein Standardwerkzeug für die Netzwerkkonfiguration ab Ubuntu 17.10. Netplan vereinfacht das Definieren von Netzwerkkonfigurationen mit YAML-Dateien. In Ubuntu Server 22.04 ist systemd-networkd der standardmäßige Backend-Dienst für die Netzwerkverwaltung, während NetworkManager in der Regel in Desktop-Umgebungen oder bestimmten Serverkonfigurationen verwendet wird, die eine erweiterte Netzwerkverwaltung erfordern.

Standard-Netzwerk-Backends

  • Ubuntu Server 22.04: Verwendet systemd-networkd als Standard-Netzwerkdienst.
  • Ubuntu Desktop 22.04: Verwendet NetworkManager als Standard-Netzwerkdienst.

Wenn Sie Ubuntu Desktop verwenden oder NetworkManager manuell auf Ubuntu Server installiert haben, können Sie Ihre Netzwerkschnittstellen damit verwalten. Allerdings ist NetworkManager standardmäßig nicht in Ubuntu-Server-Editionen installiert.


2. Netzwerkschnittstellen mit Netplan konfigurieren (Cloud-Init-Updates)

In Cloud-Umgebungen heißt die Netplan-Konfigurationsdatei häufig /etc/netplan/50-cloud-init.yaml. Diese Datei wird von cloud-init erzeugt, und Änderungen daran bleiben über Neustarts der Instanz hinweg nicht bestehen, es sei denn, die Netzwerkkonfigurationsfunktionen von cloud-init werden deaktiviert.

Cloud-Init-Netzwerkkonfiguration deaktivieren

Um die Netzwerkkonfigurationsfunktionen von cloud-init zu deaktivieren, erstellen Sie eine Datei unter /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg:

sudo nano /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg

Fügen Sie den folgenden Inhalt hinzu:

network: {config: disabled}

Nachdem Sie die Netzwerkkonfiguration von cloud-init deaktiviert haben, können Sie persistente Netplan-Konfigurationsdateien manuell erstellen und verwalten.


Beispiel: Statische IP-Adresse mit Netplan konfigurieren

Wenn Ihre Netplan-Konfigurationsdatei /etc/netplan/50-cloud-init.yaml ist, können Sie sie direkt ändern oder eine neue Konfigurationsdatei erstellen (z. B. /etc/netplan/01-netcfg.yaml) für dauerhafte Einstellungen.

  • Öffnen Sie die Netplan-Konfigurationsdatei:
sudo nano /etc/netplan/50-cloud-init.yaml
  • Ändern Sie den Inhalt, um eine statische IP-Adresse festzulegen:
network:
  version: 2
  ethernets:
    eth0:
      dhcp4: no
      addresses:
        - 192.168.1.100/24
      routes:
        - to: default
          via: 192.168.1.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4
  • eth0: Ersetzen Sie dies durch den Namen Ihrer Netzwerkschnittstelle (verwenden Sie ip a zum Auflisten der Schnittstellen).
  • addresses: Weist eine statische IP-Adresse zu.
  • routes:
    • to: default: Gibt die Standardroute an.
    • via: 192.168.1.1: Definiert die Gateway-Adresse.
  • nameservers: Gibt die DNS-Server an.
  • Konfiguration anwenden:
sudo netplan apply
  • Konfiguration überprüfen:
ip a

3. Statische IP-Adresse einrichten

Obwohl Netplan das empfohlene Werkzeug ist, können Sie eine statische IP-Adresse auch manuell in /etc/network/interfaces (in älteren Ubuntu-Versionen verwendet) oder über Befehlszeilentools konfigurieren.

Der Befehl ip

Der Befehl ip ist ein vielseitiges Werkzeug zur Verwaltung von Netzwerkschnittstellen. Unten sehen Sie ein Beispiel für die vorübergehende Zuweisung einer statischen IP-Adresse:

sudo ip addr add 192.168.1.100/24 dev eth0
sudo ip route add default via 192.168.1.1
  • ip addr add: Weist der Netzwerkschnittstelle eine IP-Adresse zu.
  • ip route add: Legt das Standard-Gateway fest.

Hinweis: Diese Änderungen sind vorübergehend und gehen nach einem Neustart verloren. Verwenden Sie Netplan für dauerhafte Konfigurationen.


4. Netzwerkdienste verwalten

Ubuntu verwendet systemd-networkd als Standard-Netzwerkdienst für Serverumgebungen. Eine effektive Verwaltung dieses Dienstes ist entscheidend für eine stabile Netzwerkkonnektivität.

Status der Netzwerkdienste prüfen

Um den Status des Netzwerkdienstes zu prüfen, verwenden Sie den folgenden Befehl:

sudo systemctl status systemd-networkd

Dies zeigt den aktuellen Status und alle Fehler im Zusammenhang mit dem Dienst systemd-networkd.

Netzwerkdienst neu starten

Wenn Sie den Netzwerkdienst nach Änderungen an Ihrer Konfiguration neu starten müssen:

sudo systemctl restart systemd-networkd

Netzwerkdienst aktivieren oder deaktivieren

Um den Netzwerkdienst so zu aktivieren, dass er beim Booten automatisch startet:

sudo systemctl enable systemd-networkd

Um den Netzwerkdienst zu deaktivieren:

sudo systemctl disable systemd-networkd

NetworkManager verwenden (optional)

Wenn Sie NetworkManager anstelle von systemd-networkd verwenden, können Sie den Dienst wie folgt verwalten:

  • Status prüfen:
sudo systemctl status NetworkManager
  • Dienst neu starten:
sudo systemctl restart NetworkManager
  • NetworkManager aktivieren oder deaktivieren:
sudo systemctl enable NetworkManager 
sudo systemctl disable NetworkManager

5. Bekannte Probleme und Warnungen in Netplan

Beim Konfigurieren einer statischen IP auf einem Ubuntu-22.04-Server mit Netplan können die folgenden Warnungen auftreten:

Warnung: Cannot call Open vSwitch: ovsdb-server.service is not running

Diese Warnung tritt auf, weil Netplan versucht, Open vSwitch zu erkennen, einen virtuellen Netzwerk-Switch, der häufig in Cloud- und virtualisierten Umgebungen verwendet wird. Wenn Open vSwitch nicht installiert ist, erzeugt Netplan die Warnung.

Warnung beheben

Sie können diese Warnung gefahrlos ignorieren, wenn Sie Open vSwitch nicht verwenden. Um sie zu beseitigen, können Sie jedoch das Paket openvswitch-switch-dpdk installieren, das die erforderlichen Komponenten für Open vSwitch bereitstellt.

Führen Sie den folgenden Befehl aus:

sudo apt install openvswitch-switch-dpdk

Nach der Installation erkennt Netplan das Vorhandensein von Open vSwitch und erzeugt die Warnung nicht mehr.

Referenz auf bekannten Fehler

Dieses Problem wurde offiziell als Fehler in Netplan gemeldet.
https://bugs.launchpad.net/ubuntu/+source/netplan.io/+bug/2041727


6. Befehlszeilentools für die Netzwerkverwaltung

Ubuntu bietet eine Vielzahl von Tools zur Verwaltung und Fehlerbehebung von Netzwerkkonfigurationen. Hier sind einige der am häufigsten verwendeten:

6.1 Befehl ip

Der Befehl ip ersetzt das ältere Werkzeug ifconfig und ist leistungsfähiger und flexibler.

  • Netzwerkschnittstellen anzeigen: ip a
  • Routen prüfen: ip route
  • Schnittstelle aktivieren/deaktivieren:
sudo ip link set eth0 up 
sudo ip link set eth0 down

6.2 Befehl ping

Der Befehl ping wird verwendet, um die Konnektivität zu einem anderen Host zu testen.

ping google.com

6.3 Befehl traceroute

Der Befehl traceroute ermittelt den Netzwerkpfad zu einem Ziel.

sudo apt install traceroute
traceroute google.com

6.4 Befehl Curl

Der Befehl curl testet die HTTP-Konnektivität.

curl http://example.com


7. Behebung häufiger Netzwerkprobleme

Netzwerkprobleme sind in Serverumgebungen häufig. Hier sind einige Szenarien und Schritte zur Fehlerbehebung:

Szenario 1: Netzwerkschnittstelle funktioniert nicht

  • Prüfen Sie den Status der Schnittstelle:
ip a
  • Schnittstelle aktivieren:
sudo ip link set eth0 up

    Szenario 2: Externe Hosts lassen sich nicht anpingen

    1. Standard-Gateway überprüfen: ip route
    2. DNS-Auflösung prüfen: nslookup google.com Wenn DNS nicht auflöst, aktualisieren Sie die Nameserver in Ihrer Netplan-Konfiguration.

    Szenario 3: Netplan-Konfigurationsprobleme

    1. Netplan-YAML-Datei validieren:sudo netplan try Dies testet die Konfiguration, ohne sie dauerhaft anzuwenden.
    2. Konfiguration erneut anwenden:sudo netplan apply

    Szenario 4: Netzwerkdienst prüfen

    Wenn weiterhin Probleme mit der Netzwerkkonnektivität bestehen, prüfen Sie den Status des Netzwerkdienstes:

    sudo systemctl status systemd-networkd
    
    

    Wenn Fehler gemeldet werden, starten Sie den Dienst neu:

    sudo systemctl restart systemd-networkd
    
    

    Szenario 5: Firewall blockiert Datenverkehr

    • Firewallregeln prüfen:
    sudo ufw status
    
    • Erforderlichen Datenverkehr zulassen:
    sudo ufw allow 22/tcp sudo ufw allow 80/tcp
    

      Szenario 6: Paketverlust oder Latenzprobleme

      • Verwenden Sie ping, um Paketverluste zu prüfen:
      ping -c 10 google.com
      
      • Verwenden Sie traceroute, um Netzwerkengpässe zu identifizieren:
      traceroute google.com
      

        8. Fazit

        Netzwerke sind eine entscheidende Fähigkeit für Ubuntu-Server-Administratoren. Dieser Leitfaden behandelte die Grundlagen der Konfiguration von Netzwerkschnittstellen, der Verwaltung von Netzwerkdiensten, des Umgangs mit Netplan-Warnungen, der Einrichtung statischer IPs, der Verwendung von Befehlszeilentools und der Behebung häufiger Probleme. Durch die Beherrschung von Tools wie Netplan, ip und ping können Sie netzwerkbezogene Herausforderungen auf Ihrem Server effizient verwalten und lösen.

        Zur weiteren Lektüre lesen Sie die offizielle Ubuntu-Dokumentation zu Netplan und Netzwerkgrundlagen.

        Nächste Schritte: Patchen, Paketverwaltung und Sicherheit

        Im nächsten Abschnitt dieser Reihe werden wir tiefer in kritische Aspekte der Ubuntu-Server-Verwaltung eintauchen, mit Schwerpunkt auf Patchen, Paketverwaltung und Sicherheit. Diese Themen sind für die Aufrechterhaltung einer sicheren, stabilen und effizienten Serverumgebung unerlässlich.

        1. Software installieren und verwalten

        Beherrschen Sie die Grundlagen der Installation, Aktualisierung und Verwaltung von Software auf Ubuntu Server mit apt und anderen Paketverwaltungstools. Lernen Sie, Abhängigkeiten und Repositories effizient zu verwalten, um sicherzustellen, dass Ihr Server mit der erforderlichen Software ausgestattet ist.

        2. Ubuntu Server patchen und aktualisieren

        • Warum Patchen für Sicherheit und Stabilität entscheidend ist.
        • Verwenden von apt zum Aktualisieren und Upgraden des Servers.
        • Den Unterschied verstehen zwischen apt update, apt upgrade und apt full-upgrade.
        • Updates automatisieren mit unattended-upgrades.
        • Kernel-Updates verwalten und ordnungsgemäßes Neustarten mit reboot-required.

        3. Ihren Ubuntu Server absichern

        • Praktische Schritte zur Absicherung Ihres Servers, einschließlich der Konfiguration von Firewalls (ufw), die sichere Einrichtung von SSH und die Verwendung von Tools wie fail2ban zum Schutz vor Angriffen.
        • Lernen Sie, wie Sie Ihren Server gegen Schwachstellen und unbefugten Zugriff härten.

        4. Audit und Protokollierung unter Ubuntu Server

        • Einführung in die Systemprüfung und die Bedeutung von Protokollen.
        • Verwenden von auditd zum Verfolgen und Aufzeichnen von Systemereignissen.
        • Protokollrotation konfigurieren mit logrotate.
        • Das Verzeichnis /var/log auf kritische Ereignisse überwachen, um ein proaktives Servermanagement sicherzustellen.

        4 thoughts on “05. Networking Basics for Ubuntu Server: A Comprehensive Guide”

        Kommentar hinterlassen