Netzwerkkonfiguration

Netzwerkkonfiguration unter Linux

Die Netzwerkkonfiguration unter Linux hat sich in den letzten Jahren gewandelt – von den klassischen Tools (ifconfig, route) hin zu modernen Werkzeugen (ip-Befehl, Netplan, NetworkManager). Als FISI solltest du beide Welten kennen da du auf Systemen unterschiedlicher Altersklassen arbeitest.

Netzwerkschnittstellen

Netzwerkschnittstellen werden unter Linux nach einem festen Schema benannt:

  • lo: Loopback-Interface (127.0.0.1) – immer vorhanden

  • eth0, eth1: Klassische Ethernet-Namen (ältere Systeme)

  • ens3, ens18, enp2s0: Moderne vorhersagbare Namen (Predictable Network Interface Names) – basieren auf Hardware-Position

  • wlan0, wlp3s0: WLAN-Schnittstellen

Der ip-Befehl – das moderne Werkzeug

Der ip-Befehl aus dem Paket iproute2 ist das moderne Werkzeug für Netzwerkkonfiguration. Er ersetzt die veralteten ifconfig und route-Befehle:

# Alle Schnittstellen anzeigen
ip link show
ip a              # Kurzform, zeigt auch IP-Adressen

# IP-Adresse anzeigen
ip addr show eth0
ip a show eth0

# IP-Adresse temporär setzen (geht nach Reboot verloren)
ip addr add 192.168.1.100/24 dev eth0

# IP-Adresse entfernen
ip addr del 192.168.1.100/24 dev eth0

# Schnittstelle aktivieren/deaktivieren
ip link set eth0 up
ip link set eth0 down

# Routing-Tabelle anzeigen
ip route show
ip r

# Standardgateway setzen
ip route add default via 192.168.1.1

# Route zu einem Netz hinzufügen
ip route add 10.0.0.0/8 via 192.168.1.1

Vergleich: alt vs. neu

Alt (veraltet)

Neu (empfohlen)

Funktion

ifconfig

ip addr

IP-Adressen anzeigen

route

ip route

Routing-Tabelle

arp

ip neigh

ARP-Tabelle

netstat

ss

Verbindungen/Ports

Dauerhafte Netzwerkkonfiguration

Netplan (Ubuntu ab 18.04)

Ubuntu Server nutzt seit Version 18.04 Netplan für die dauerhafte Netzwerkkonfiguration. Konfigurationsdateien sind YAML-Dateien in /etc/netplan/:

# /etc/netplan/01-netcfg.yaml

network:
  version: 2
  renderer: networkd
  ethernets:
    ens18:
      addresses:
        - 192.168.1.100/24
      routes:
        - to: default
          via: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]
      dhcp4: false
# Konfiguration testen (5 Sekunden Timeout)
netplan try

# Konfiguration anwenden
netplan apply

NetworkManager (Desktop und manche Server-Distros)

NetworkManager ist der Standard auf Desktop-Systemen und vielen Server-Distributionen (RHEL, CentOS, Fedora). CLI-Tool: nmcli

# Alle Verbindungen anzeigen
nmcli connection show

# Verbindung aktivieren
nmcli connection up "Verbindungsname"

# Statische IP setzen
nmcli connection modify ens18 ipv4.addresses 192.168.1.100/24
nmcli connection modify ens18 ipv4.gateway 192.168.1.1
nmcli connection modify ens18 ipv4.dns "8.8.8.8 8.8.4.4"
nmcli connection modify ens18 ipv4.method manual
nmcli connection up ens18

DNS-Konfiguration

# DNS-Server konfigurieren (klassisch)
# /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4
search fisipedia.local

# DNS-Auflösung testen
nslookup google.com
dig google.com
dig @8.8.8.8 google.com  # Bestimmten DNS-Server verwenden

# /etc/hosts – lokale Namensauflösung
# 192.168.1.10   server01.fisipedia.local server01

Netzwerkdiagnose

# Verbindbarkeit testen
ping -c 4 8.8.8.8
ping6 ::1  # IPv6

# Route verfolgen
traceroute 8.8.8.8
tracepath 8.8.8.8  # wie traceroute aber ohne root

# Offene Ports und Verbindungen
ss -tulpen       # t=TCP, u=UDP, l=listening, p=process, e=extended, n=numerisch
ss -tulpen | grep :80

# Netzwerk-Interfaces und Statistiken
ip -s link show eth0

# ARP-Tabelle
ip neigh show

# Firewall-Status (nftables/iptables)
nft list ruleset
iptables -L -n -v

Hostname konfigurieren

# Aktuellen Hostname anzeigen
hostname
hostnamectl

# Hostname dauerhaft setzen
hostnamectl set-hostname server01.fisipedia.local

Firewall unter Linux – UFW und firewalld

UFW (Uncomplicated Firewall) ist das Standard-Frontend für iptables auf Ubuntu:

# UFW aktivieren
ufw enable

# Port freigeben
ufw allow 22/tcp
ufw allow 80/tcp
ufw allow 443/tcp

# Port sperren
ufw deny 23/tcp

# Status anzeigen
ufw status verbose

firewalld ist der Standard auf RHEL/CentOS/Fedora:

# Dienst permanent freigeben
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --reload

# Status anzeigen
firewall-cmd --list-all

Zusammenfassung

  • Modernes Tool: ip (ersetzt ifconfig/route) – ip a, ip r, ip link

  • Dauerhafte Konfiguration: Netplan (Ubuntu) oder NetworkManager (RHEL/Fedora)

  • DNS: /etc/resolv.conf, lokale Namen: /etc/hosts

  • Diagnose: ping, traceroute, ss (statt netstat), dig/nslookup

  • Firewall: UFW (Ubuntu) oder firewalld (RHEL) – beide sind Frontends für nftables/iptables

  • Interfaces: lo (Loopback), eth0/ens18 (Ethernet), wlan0 (WLAN)