Iproute2
# Iproute2

iproute2 ist eine unter einem Befehl zusammengefasste Sammlung an Werkzeugen, die dazu benutzt werden, die IP-Netzwerkkonfiguration (IPv4 und IPv6) eines Linux-Systems zu manipulieren.
Der Originalautor ist Alexey Kuznetsov (bekannt für seine QoS-Implementierung im Linux-Kernel), der aktuelle Maintainer ist Stephen Hemminger. iproute2 nutzt Linux’ Netlink-Schnittstelle, um direkt mit dem Kernel zu kommunizieren.
iproute2 wurde als Ersatz für die „klassischen“ Netzwerktools wie ifconfig, route etc. entwickelt. Es fasst alle Konfigurationsoptionen, die bisher von diesen getrennten Programmen erledigt wurden, im Befehl ip zusammen. Die klassischen Befehle werden durch iproute2 immer weiter verdrängt.
Außerdem gehört zum Paket der Befehl tc, der dazu genutzt wird, Netzwerktraffic zu kontrollieren (traffic control).

## Syntax

Die einzelnen Teile von iproute2 werden auf folgende Weise angesprochen, hier am Beispiel von address. Der Name kann soweit gekürzt werden, solange er eindeutig ist:
Um mit IPv6 zu arbeiten, ruft man ip folgendermaßen auf:
befehl ist ein weiterer Unterbefehl mit argumenten. help gibt dabei immer eine Art Syntaxhilfe aus, hier ip addr help:
Wie daraus ersichtlich wird, sind Argumente zumeist Paare wie
Für ganze Beispielbefehle siehe Abschnitt #Beispiele.

### Teile
#### address

    manipuliert die IP-Adressen der Interfaces (Netzwerkschnittstellen) und andere Parameter, wie Broadcast-Adressen, Multicast...

#### link

    manipuliert die Netzwerkschnittstellen auf Ethernet-Ebene. Erlaubt Einstellungen wie Promiscuous Mode ein/aus, ARP ein/aus, oder die MAC-Adresse zu verändern.

#### maddr

    ändert, entfernt, zeigt oder setzt Multicast-Adressen auf Ethernet- und IP-Ebene.

#### monitor

    zeigt Änderungen der Netzwerkinterfaces an (zum Beispiel NDP-Router-Advertisements oder ARP-Nachrichten, die über Adressen und Routen informieren)

#### mroute

    Informationen über Multicast-Routing-Tabellen

#### neighbour

    manipuliert und zeigt ARP- und NDP-Tabellen.

#### netns

    verwaltet Netzwerknamensräume

#### ntable

    informiert über NDP- und ARP-Tabellen

#### route

    manipuliert, zeigt und setzt IP-Routen (Ersatz für route)

#### rule

    manipuliert Regeln in der Routing Policy Database RPDB, die festlegt, für welche Subnetze welche Routing-Tabellen genutzt werden

#### tunnel

    erzeugt, verändert und löscht IP-Tunnel (z. B. Tunnelbroker-p41-Tunnel)

#### tuntap

    manipuliert TUN/TAP-Schnittstellen

## Beispiele

Hier zum besseren Verständnis einige Beispiele, die im alltäglichen Gebrauch vorkommen könnten:
Zuweisen einer festen IP-Adresse und Konfiguration der Routing-Tabelle
Erstellen eines SIT-Tunnels (IPv6 over IPv4), siehe Tunnelbroker
Anzeige der Routing- und Neighbortabellen
Fälschen der MAC-Adresse