Skip to content

Kapitel 10: Netzwerkkonfiguration und -test

10.1 Netzwerkinformationen anzeigen (ip, ifconfig-Befehl)

ip - Moderne Netzwerkkonfiguration (empfohlen):

bash
ip addr                 # Alle Netzwerkschnittstellen und IP-Adressen anzeigen
ip link                 # Netzwerkschnittstellenstatus anzeigen
ip route                # Routing-Tabelle anzeigen

ifconfig - Klassische Netzwerkkonfiguration (veraltet, aber noch häufig verwendet):

bash
ifconfig                # Alle Netzwerkschnittstellen anzeigen
ifconfig eth0           # Informationen für eine bestimmte Schnittstelle anzeigen

Hinweis: ifconfig ist veraltet. Verwenden Sie nach Möglichkeit ip.

Netzwerkparameter interpretieren:

  • inet: IPv4-Adresse
  • inet6: IPv6-Adresse
  • ether: MAC-Adresse
  • UP: Schnittstelle ist aktiv
  • LOWER_UP: Physische Verbindung ist aktiv

10.2 Netzwerkverbindung testen (ping-Befehl, um zu beurteilen, ob das Netzwerk normal ist)

ping - Netzwerkverbindung testen:

bash
ping google.com         # Verbindung zu google.com testen
ping 8.8.8.8           # Verbindung zu einer IP-Adresse testen
ping -c 4 google.com   # 4 Pakete senden und dann stoppen

Interpretation der Ergebnisse:

  • Erfolgreich: bytes from ... icmp_seq=... ttl=... time=...
  • Fehlgeschlagen: Destination Host Unreachable oder Request timeout

Häufige Probleme:

  • Keine Internetverbindung
  • DNS-Probleme (kann Domain nicht auflösen)
  • Firewall blockiert ICMP-Pakete

Alternative Testmethoden:

bash
curl google.com         # HTTP-Verbindung testen
traceroute google.com  # Netzwerkroute verfolgen

10.3 Anschlussbelegung anzeigen (netstat, ss-Befehl, häufig von Anfängern verwendet)

ss - Moderne Anschlussbelegungsanzeige (empfohlen):

bash
ss                      # Alle Verbindungen anzeigen
ss -tuln               # Alle lauschenden TCP/UDP-Ports anzeigen
ss -tunp               # Verbindungen mit Prozessinformationen anzeigen

netstat - Klassische Anschlussbelegungsanzeige (veraltet):

bash
netstat                # Alle Verbindungen anzeigen
netstat -tuln          # Alle lauschenden TCP/UDP-Ports anzeigen
netstat -tunp          # Verbindungen mit Prozessinformationen anzeigen

Optionen verstehen:

  • -t: TCP-Verbindungen
  • -u: UDP-Verbindungen
  • -l: Lauschende (listening) Ports
  • -n: Numerische Adressen (keine Namensauflösung)
  • -p: Prozess-ID und Name anzeigen

Beispielausgabe interpretieren:

Proto Recv-Q Send-Q Local Address  Foreign Address  State    PID/Program
tcp   0      0      0.0.0.0:22    0.0.0.0:*       LISTEN   1234/sshd
  • 0.0.0.0:22: Lauscht auf allen Interfaces auf Port 22 (SSH)
  • LISTEN: Dienst wartet auf Verbindungen

10.4 Temporäre/permanente IP-Adresskonfiguration (Anleitung für Anfänger, leicht verständlich)

Temporäre IP-Adresskonfiguration (geht nach Neustart verloren):

Unter Ubuntu/Debian (mit ip):

bash
sudo ip addr add 192.168.1.100/24 dev eth0    # IP-Adresse hinzufügen
sudo ip link set eth0 up                        # Schnittstelle aktivieren
sudo ip route add default via 192.168.1.1       # Standard-Gateway festlegen

Unter CentOS/RHEL (mit ip):

bash
sudo ip addr add 192.168.1.100/24 dev ens33
sudo ip link set ens33 up
sudo ip route add default via 192.168.1.1

Permanente IP-Adresskonfiguration:

Unter Ubuntu/Debian (20.04+ mit Netplan):

  1. Konfigurationsdatei bearbeiten:
    bash
    sudo vim /etc/netplan/*.yaml
  2. Beispielkonfiguration:
    yaml
    network:
      version: 2
      ethernets:
        eth0:
          addresses: [192.168.1.100/24]
          gateway4: 192.168.1.1
          nameservers:
            addresses: [8.8.8.8, 8.8.4.4]
  3. Konfiguration anwenden:
    bash
    sudo netplan apply

Unter CentOS/RHEL (mit NetworkManager):

  1. Konfigurationsdatei bearbeiten:
    bash
    sudo vim /etc/sysconfig/network-scripts/ifcfg-ens33
  2. Beispielkonfiguration:
    BOOTPROTO=static
    IPADDR=192.168.1.100
    NETMASK=255.255.255.0
    GATEWAY=192.168.1.1
    DNS1=8.8.8.8
    ONBOOT=yes
  3. Netzwerkdienst neu starten:
    bash
    sudo systemctl restart NetworkManager

10.5 Fehlerbehebung bei fehlgeschlagener Remote-Verbindung (häufige Probleme für Anfänger)

Problem 1: SSH-Verbindung abgelehnt ("Connection refused")

  • Mögliche Ursachen:
    • SSH-Dienst läuft nicht
    • Firewall blockiert Port 22
  • Lösungen:
    bash
    sudo systemctl status sshd               # SSH-Dienststatus prüfen
    sudo systemctl start sshd                # SSH-Dienst starten
    sudo ufw allow 22                       # Firewall für Port 22 öffnen (Ubuntu)
    sudo firewall-cmd --add-port=22/tcp     # Firewall für Port 22 öffnen (CentOS)

Problem 2: "Connection timeout"

  • Mögliche Ursachen:
    • Netzwerkverbindung unterbrochen
    • Falsche IP-Adresse oder Hostname
    • Netzwerk-Firewall blockiert
  • Lösungen:
    bash
    ping server-ip                          # Netzwerkverbindung testen
    ip addr                                 # Lokale IP-Adresse prüfen
    sudo ss -tuln | grep 22               # Prüfen, ob SSH lauscht

Problem 3: "Permission denied (publickey,password)"

  • Mögliche Ursachen:
    • Falsches Passwort
    • SSH-Schlüssel nicht konfiguriert
    • Root-Login deaktiviert
  • Lösungen:
    • Passwort überprüfen
    • SSH-Schlüssel kopieren: ssh-copy-id benutzer@server
    • SSH-Konfiguration prüfen: vim /etc/ssh/sshd_config

Allgemeine Fehlerbehebungsschritte:

  1. Lokale Netzwerkkonfiguration prüfen (ip addr)
  2. Netzwerkverbindung testen (ping)
  3. Ziel-Server-Erreichbarkeit prüfen (ping ziel-server)
  4. Ziel-Server-Dienststatus prüfen (systemctl status dienst)
  5. Lokale Firewall-Einstellungen prüfen (sudo ufw status)
  6. Ziel-Server-Firewall-Einstellungen prüfen

Frei für alle Anfänger