iproute2 ist das moderne Toolset für Netzwerk-Konfiguration unter Linux. Es ersetzt die veralteten net-tools (ifconfig, route, arp) durch den einheitlichen ip-Befehl.

Vergleich: Alte vs. Neue Befehle

| net-tools | iproute2 | |-----------|----------| | ifconfig | ip addr, ip link | | route | ip route | | arp | ip neigh | | netstat | ss | | iptunnel | ip tunnel | | brctl | bridge |

Interfaces anzeigen

# Alle Interfaces
ip link show
ip link  # Kurzform

# Einzelnes Interface
ip link show eth0

# Nur aktive
ip link show up

# Mit Statistiken
ip -s link show eth0

Interface aktivieren/deaktivieren

# Interface aktivieren
ip link set eth0 up

# Interface deaktivieren
ip link set eth0 down

# Promiscuous Mode
ip link set eth0 promisc on
ip link set eth0 promisc off

MTU ändern

# MTU setzen
ip link set eth0 mtu 9000

# MTU anzeigen
ip link show eth0 | grep mtu

MAC-Adresse ändern

# Interface muss down sein
ip link set eth0 down
ip link set eth0 address 00:11:22:33:44:55
ip link set eth0 up

VLAN erstellen

# VLAN-Interface erstellen
ip link add link eth0 name eth0.100 type vlan id 100

# Aktivieren
ip link set eth0.100 up

# Löschen
ip link delete eth0.100

ip addr - IP-Adressen verwalten

Adressen anzeigen

# Alle Adressen
ip addr show
ip a  # Kurzform

# Einzelnes Interface
ip addr show eth0

# Nur IPv4
ip -4 addr show

# Nur IPv6
ip -6 addr show

Adresse hinzufügen

# IPv4-Adresse
ip addr add 192.168.1.10/24 dev eth0

# IPv6-Adresse
ip addr add 2001:db8::1/64 dev eth0

# Mit Broadcast
ip addr add 192.168.1.10/24 broadcast 192.168.1.255 dev eth0

# Sekundäre Adresse
ip addr add 192.168.1.11/24 dev eth0

Adresse entfernen

# Einzelne Adresse
ip addr del 192.168.1.10/24 dev eth0

# Alle Adressen
ip addr flush dev eth0

ip route - Routing

Routen anzeigen

# Alle Routen
ip route show
ip r  # Kurzform

# Mit Cache
ip route show cache

# Für bestimmtes Ziel
ip route get 8.8.8.8

Route hinzufügen

# Standard-Gateway
ip route add default via 192.168.1.1

# Netzwerk-Route
ip route add 10.0.0.0/8 via 192.168.1.1

# Route über Interface
ip route add 10.0.0.0/8 dev eth0

# Mit Metrik
ip route add 10.0.0.0/8 via 192.168.1.1 metric 100

Route entfernen

# Einzelne Route
ip route del 10.0.0.0/8 via 192.168.1.1

# Default-Route
ip route del default

Policy Routing

# Routing-Tabelle erstellen
echo "100 custom" >> /etc/iproute2/rt_tables

# Route zur Tabelle hinzufügen
ip route add default via 192.168.2.1 table custom

# Regel hinzufügen
ip rule add from 192.168.1.0/24 lookup custom

# Regeln anzeigen
ip rule show

# Tabelle anzeigen
ip route show table custom

ip neigh - ARP/NDP

Nachbarn anzeigen

# ARP-Tabelle
ip neigh show
ip n  # Kurzform

# Für bestimmtes Interface
ip neigh show dev eth0

Eintrag hinzufügen/entfernen

# Statischen ARP-Eintrag hinzufügen
ip neigh add 192.168.1.100 lladdr 00:11:22:33:44:55 dev eth0

# Entfernen
ip neigh del 192.168.1.100 dev eth0

# Cache leeren
ip neigh flush dev eth0

ip tunnel - Tunnel

GRE-Tunnel

# Tunnel erstellen
ip tunnel add gre1 mode gre remote 203.0.113.1 local 198.51.100.1

# Adresse zuweisen
ip addr add 10.0.0.1/30 dev gre1

# Aktivieren
ip link set gre1 up

# Route hinzufügen
ip route add 10.0.1.0/24 dev gre1

IPIP-Tunnel

ip tunnel add ipip1 mode ipip remote 203.0.113.1 local 198.51.100.1
ip addr add 10.0.0.1/30 dev ipip1
ip link set ipip1 up

Bonding/Teaming

Bond erstellen

# Bond-Interface
ip link add bond0 type bond mode 802.3ad

# Slaves hinzufügen
ip link set eth0 master bond0
ip link set eth1 master bond0

# Aktivieren
ip link set bond0 up
ip addr add 192.168.1.10/24 dev bond0

Bridge

Bridge erstellen

# Bridge-Interface
ip link add br0 type bridge

# Interfaces hinzufügen
ip link set eth0 master br0
ip link set eth1 master br0

# Aktivieren
ip link set br0 up
ip addr add 192.168.1.1/24 dev br0

Bridge anzeigen

# Mit bridge-Befehl
bridge link show
bridge fdb show

ss - Socket-Statistiken

Verbindungen anzeigen

# Alle Verbindungen
ss -a

# Nur TCP
ss -t

# Nur UDP
ss -u

# Nur Listening
ss -l

# Mit Prozess-Info
ss -p

# Numerisch (keine DNS-Auflösung)
ss -n

Filter

# Bestimmter Port
ss -t sport = :22
ss -t dport = :443

# Bestimmte IP
ss -t src 192.168.1.10

# Zustand
ss -t state established
ss -t state time-wait

Häufige Kombinationen

# Listening TCP-Ports mit Prozessen
ss -tlnp

# Established TCP-Verbindungen
ss -tn state established

# Alle Sockets mit Speicher-Info
ss -m

Persistenz

Debian/Ubuntu (interfaces)

# /etc/network/interfaces
auto eth0
iface eth0 inet static
    address 192.168.1.10/24
    gateway 192.168.1.1

RHEL/CentOS (NetworkManager)

# nmcli
nmcli con mod eth0 ipv4.addresses 192.168.1.10/24
nmcli con mod eth0 ipv4.gateway 192.168.1.1
nmcli con mod eth0 ipv4.method manual
nmcli con up eth0

Netplan (Ubuntu)

# /etc/netplan/01-config.yaml
network:
  version: 2
  ethernets:
    eth0:
      addresses:
        - 192.168.1.10/24
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]
netplan apply

Zusammenfassung

| Befehl | Funktion | |--------|----------| | ip link | Interfaces | | ip addr | IP-Adressen | | ip route | Routing | | ip neigh | ARP/NDP | | ip tunnel | Tunnel | | ip rule | Policy Routing | | ss | Sockets |

| Aktion | Befehl | |--------|--------| | Interface up | ip link set eth0 up | | IP hinzufügen | ip addr add 10.0.0.1/24 dev eth0 | | Route hinzufügen | ip route add 10.0.0.0/8 via 192.168.1.1 | | ARP anzeigen | ip neigh show | | Ports anzeigen | ss -tlnp |

| Kurzform | Vollform | |----------|----------| | ip a | ip addr | | ip r | ip route | | ip l | ip link | | ip n | ip neigh |

Fazit

iproute2 ist das moderne Standard-Tool für Linux-Netzwerke. Die einheitliche Syntax vereinfacht die Verwaltung. Policy Routing ermöglicht komplexe Setups. Für Persistenz sollten Netplan oder NetworkManager verwendet werden.