Iproute2 und hostnamectl

Aus Xinux Wiki
Version vom 15. Juni 2026, 15:35 Uhr von Thomas.will (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „= ip – Die wichtigsten Befehle = Das Kommando '''ip''' aus dem Paket '''iproute2''' ist der moderne Ersatz für die alten Werkzeuge ''ifconfig'', ''route''…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

ip – Die wichtigsten Befehle

Das Kommando ip aus dem Paket iproute2 ist der moderne Ersatz für die alten Werkzeuge ifconfig, route und arp. Aufbau immer:

ip [ -OPTIONEN ] OBJEKT KOMMANDO [ PARAMETER ]

Wichtige Objekte:

  • link – Interfaces (Layer 2)
  • addr – IP-Adressen (Layer 3)
  • route – Routing-Tabellen
  • neigh – Neighbor-/ARP-Cache

Praktische globale Optionen:

-4 / -6
nur IPv4 bzw. nur IPv6 anzeigen
-br
brief – kompakte, tabellarische Ausgabe
-c
color – farbige Ausgabe
-s
statistics – Statistiken (mehrfach für mehr Details, z.B. -s -s)
-j
json – maschinenlesbare Ausgabe
ip -br -c addr        # kompakt + farbig
ip -j route          # Routing als JSON

ip link

Verwaltet die Interfaces auf Layer 2.

ip link show
alle Interfaces anzeigen
ip link show dev eth0
nur ein bestimmtes Interface
ip -br link
Kurzübersicht (Name, Status, MAC)
ip -s link show dev eth0
Statistiken (RX/TX, Fehler, Drops)
ip link show
ip link show dev eth0
ip -br link

# Interface hoch / runter
ip link set dev eth0 up
ip link set dev eth0 down

# MTU setzen
ip link set dev eth0 mtu 9000

# MAC-Adresse ändern
ip link set dev eth0 address 02:11:22:33:44:55

# Interface umbenennen (muss down sein)
ip link set dev eth0 down
ip link set dev eth0 name lan0

VLAN-Interface anlegen:

ip link add link eth0 name eth0.10 type vlan id 10
ip link set dev eth0.10 up

Bridge anlegen und Interface zuordnen:

ip link add name br0 type bridge
ip link set dev br0 up
ip link set dev eth0 master br0     # eth0 an die Bridge hängen
ip link set dev eth0 nomaster       # wieder lösen

ip addr

Verwaltet IP-Adressen auf den Interfaces (Layer 3).

ip addr show
alle Adressen anzeigen (Kurzform: ip a)
ip -br addr
Kurzübersicht
ip -4 addr / ip -6 addr
nur IPv4 bzw. IPv6
ip addr show
ip addr show dev eth0
ip -br -c addr

# Adresse hinzufügen (mit Broadcast automatisch via "brd +")
ip addr add 10.0.2XX.5/24 brd + dev eth0

# Adresse entfernen
ip addr del 10.0.2XX.5/24 dev eth0

# Zusätzliche (sekundäre) Adresse mit Label
ip addr add 10.0.2XX.6/24 dev eth0 label eth0:1

# Alle Adressen eines Interfaces löschen
ip addr flush dev eth0

Hinweis: Mit ip addr add gesetzte Adressen sind nicht reboot-fest. Dauerhaft gehört das in die jeweilige Netzwerkkonfiguration (/etc/network/interfaces bei Debian, Netplan, NetworkManager oder systemd-networkd).

ip route

Verwaltet die Routing-Tabellen.

ip route show
Haupt-Routingtabelle anzeigen (Kurzform: ip r)
ip route show table all
alle Tabellen
ip route get ZIEL
zeigt, welche Route für ein Ziel tatsächlich genommen wird
ip route show
ip route get 8.8.8.8

# Default-Gateway setzen
ip route add default via 192.168.2XX.1
ip route add default via 192.168.2XX.1 dev eth0

# Netz-Route über Gateway
ip route add 10.0.2XX.0/24 via 192.168.2XX.254

# Direkte Route über ein Interface (kein Gateway)
ip route add 10.0.2XX.0/24 dev eth0

# Route ersetzen / löschen
ip route replace default via 192.168.2XX.1
ip route del 10.0.2XX.0/24

Spezielle Routen

Pakete an ein Ziel gezielt verwerfen statt zu routen:

blackhole
Paket still verwerfen (kein ICMP-Fehler)
unreachable
verwerfen + ICMP Network unreachable
prohibit
verwerfen + ICMP Communication administratively prohibited
ip route add blackhole 1.1.1.1
ip route add blackhole 10.0.2XX.0/24

# prüfen
ip route show | grep blackhole
ip route get 1.1.1.1          # -> 1.1.1.1 dev lo  (unreachable/blackhole)

# wieder entfernen
ip route del blackhole 1.1.1.1

Policy Routing

Mehrere Tabellen + Regeln (z.B. für Multi-Homing):

# eigene Tabelle 100
ip route add default via 192.168.2XX.1 table 100

# Regel: Quelle aus diesem Netz -> Tabelle 100
ip rule add from 10.0.2XX.0/24 table 100

# Regeln anzeigen
ip rule show

ip neigh

Verwaltet den Neighbor-Cache (IPv4: ARP, IPv6: NDP) – der Nachfolger von arp.

ip neigh show
Cache anzeigen (Kurzform: ip n)
ip neigh show
ip neigh show dev eth0

# Statischen Eintrag setzen
ip neigh add 192.168.2XX.50 lladdr 02:aa:bb:cc:dd:ee dev eth0 nud permanent

# Eintrag löschen
ip neigh del 192.168.2XX.50 dev eth0

# Cache leeren
ip neigh flush dev eth0
ip neigh flush all

Zustände im Neighbor-Cache:

  • REACHABLE – Eintrag aktuell und gültig
  • STALE – Eintrag vorhanden, aber unbestätigt (wird bei Bedarf neu geprüft)
  • DELAY / PROBE – Überprüfung läuft
  • FAILED – keine Antwort erhalten
  • PERMANENT – statisch, läuft nicht ab

Live-Monitoring

Änderungen an Adressen, Routen und Neighbors in Echtzeit verfolgen:

ip monitor
ip monitor route
ip monitor neigh

Persistenz: /etc/network/interfaces

Alles mit ip ... Gesetzte ist nicht reboot-fest. Bei ifupdown (Debian, Lab-Ubuntu) gehört es nach /etc/network/interfaces. Zusätzliche Adressen und Routen hängt man per up-Direktive an das Interface:

auto eth0
iface eth0 inet static
    address   10.0.2XX.5/24
    gateway   10.0.2XX.1

    # zusätzliche (sekundäre) IP
    up   ip addr  add 10.0.2XX.6/24 dev eth0

    # zusätzliche Netz-Route
    up   ip route add 10.0.2XX.0/24 via 192.168.2XX.254
Adresse beim Boot entfernen
die betreffende up ip addr add ...-Zeile löschen (oder den sekundären iface eth0:1-Block)
Route beim Boot entfernen
die betreffende up ip route add ...-Zeile löschen

Hinweis: Ubuntu ab 18.04 nutzt im Standard Netplan bzw. NetworkManager. Im ifupdown-Lab vorher ifupdown installieren und Netplan deaktivieren.

Kurzreferenz

  • ip a – Adressen
  • ip l – Interfaces
  • ip r – Routen
  • ip n – Neighbor-Cache
  • ip -br -c a – kompakte, farbige Adressübersicht
  • ip route get 8.8.8.8 – tatsächlich genutzte Route prüfen

Übung

  1. Wie lautet die MAC-Adresse der Interfaces?
  2. Wie lauten die IP-Adressen der Interfaces?
  3. Löschen Sie auf der Konsole die „größere" Adresse.
  4. Auf welchen Wert ist die MTU eingestellt?
  5. Auf welches GW zeigt die Default-Route?
  6. Gibt es weitere Netz-Routen?
  7. Löschen Sie auf der Konsole diese weitere Route.
  8. Ändern Sie die Datei /etc/network/interfaces:
    1. dass die gelöschte IP nicht mehr beim Neustart geladen wird,
    2. dass die weitere Route nicht mehr beim Neustart geladen wird.
  9. Setzen Sie eine Blackhole-Route auf 1.1.1.1.
  10. hostnamectl:
    1. Wie lauten Machine ID und erkannter Virtualisierungstyp?
    2. Setzen Sie den static Hostname auf gns3.
    3. Setzen Sie zusätzlich einen pretty Hostname „GNS3 Lab Server". In welcher Datei wird dieser gespeichert?

Lösungen

# 1) MAC-Adressen (Feld link/ether)
ip link show
ip -br link

# 2) IP-Adressen
ip addr show
ip -br addr

# 3) Größere Adresse löschen (Bsp.: .5 und .6 vorhanden -> .6 weg)
ip addr del 10.0.2XX.6/24 dev eth0

# 4) MTU (Feld "mtu", Standard 1500)
ip link show dev eth0
ip -br link

# 5) Default-GW (Feld "default via ...")
ip route show default
ip route get 8.8.8.8

# 6) Weitere Netz-Routen (alles außer default + scope-link/kernel)
ip route show

# 7) Diese Route löschen
ip route del 10.0.2XX.0/24

# 9) Blackhole-Route
ip route add blackhole 1.1.1.1
ip route show | grep blackhole

# 10) hostnamectl
hostnamectl status                       # Machine ID + Virtualization
hostnamectl set-hostname gns3            # static -> /etc/hostname
hostnamectl set-hostname "GNS3 Lab Server" --pretty   # -> /etc/machine-info

Zu 8) – in /etc/network/interfaces die beiden Zeilen entfernen (oder auskommentieren):

    up   ip addr  add 10.0.2XX.6/24 dev eth0       # 8.1 -> entfernen
    up   ip route add 10.0.2XX.0/24 via 192.168.2XX.254   # 8.2 -> entfernen

Siehe auch