Zum Inhalt springen

Iproute2: Unterschied zwischen den Versionen

Aus Foxwiki
 
(28 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
'''iproute2''' - Werkzeuge zur Netzwerk(verkehrs)kontrolle
'''iproute2''' - Netzwerkschnittstellen konfigurieren


== Beschreibung ==
== Beschreibung ==
Mit der Programmsammlung iproute2 rund um den zentralen Befehl ip lassen sich Netzwerkschnittstellen auf der Kommandozeile abfragen oder konfigurieren
[[IPv6]]-kompatible Werkzeuge zur Netzwerkkonfiguration
* Damit bietet sich diese Sammlung als vollwertiger Ersatz zu klassischen Befehlen wie ifconfig, route und [[netstat]] (sämtlich im Paket [[net-tools]]) an
* Vollständig [[IPv6]]-kompatibel


; Werkzeuge für Netzwerk(verkehrs)kontrolle
; Zentraler Befehl [[ip/Befehl|ip]]
Für ifconfig, route und [[netstat]] aus den obsoleten [[net-tools]]
* Die iproute2-Suite ist eine Sammlung von Werkzeugen für die Netzwerk- und Verkehrskontrolle
* Die iproute2-Suite ist eine Sammlung von Werkzeugen für die Netzwerk- und Verkehrskontrolle
* Diese Programme kommunizieren mit dem Linux-Kernel über die (rt)netlink-Schnittstelle
* Diese Programme kommunizieren mit dem Linux-Kernel über die (rt)netlink-Schnittstelle
* Sie bieten gegenüber den in den veralteten net-tools enthaltenen Programmen ''ifconfig'' und ''route'' erweiterte Möglichkeiten
* Sie bieten gegenüber den in den veralteten net-tools enthaltenen Programmen ''ifconfig'' und ''route'' erweiterte Möglichkeiten


'''iproute2''' ist eine unter einem Befehl zusammengefasste Sammlung an Werkzeugen, die dazu benutzt werden, die [[Internet Protocol|IP]]-Netzwerkkonfiguration ([[IPv4]] und [[IPv6]]) eines [[Linux]]-Systems zu manipulieren
Zusammengefasste Sammlung
'''iproute2''' ist eine unter einem Befehl zusammengefasste Sammlung an Werkzeugen
* die dazu benutzt werden, die [[Internet Protocol|IP]]-Netzwerkkonfiguration ([[IPv4]] und [[IPv6]]) eines [[Linux]]-Systems zu manipulieren


Der Originalautor ist Alexey Kuznetsov (bekannt für seine [[Quality of Service|QoS]]-Implementierung im Linux-Kernel), der aktuelle Maintainer ist Stephen Hemminger.<ref>[https://github.com/shemminger/iproute2/blob/master/README iproute2] auf GitHub.</ref> iproute2 nutzt Linux’ Netlink-Schnittstelle, um direkt mit dem Kernel zu kommunizieren
iproute
 
=== iproute ===
iproute2 wurde als Ersatz für die "klassischen" Netzwerktools wie [[ifconfig]], ''route'' und weitere 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
iproute2 wurde als Ersatz für die "klassischen" Netzwerktools wie [[ifconfig]], ''route'' und weitere 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


Zeile 24: Zeile 23:
Damit bietet sich diese Sammlung als vollwertiger Ersatz zu klassischen Befehlen wie ifconfig, route und netstat (sämtlich im Paket net-tools) an
Damit bietet sich diese Sammlung als vollwertiger Ersatz zu klassischen Befehlen wie ifconfig, route und netstat (sämtlich im Paket net-tools) an
Sie ist vollständig IPv6-kompatibel
Sie ist vollständig IPv6-kompatibel
Enthalten sind des Weiteren die folgenden Werkzeuge
{|class="wikitable options big"
! Befehl !! Beschreibung
|-
| [[ss]] || socket status, netstat-Ersatz
|-
| [[lnstat]] || link state, auch ctstat
|-
| [[nstat]] || (network statistics tool)
|-
| [[routef]] || flush routes
|-
| [[routel]] || list routes
|-
| [[rtstat]] || route state monitoring
|}
; Nur mit Root-Rechten zugänglich sind
{|class="wikitable options big"
! Befehl !! Beschreibung
|-
| arpd || userspace arp daemon
|-
| rtacct || routing table realms and policy propagation
|-
| rtmon || routing table monitor und tc (traffic control)
|-
| iwconfig || Im WLAN-Bereich ist der Befehl iw der Ersatz für das bisherige [[iwconfig]]
|}
== Befehle ==
{| class="wikitable big options"
|-
! Befehl !! Pfad !! Beschreibung
|-
| [[Ip/Befehl|ip]] || /bin/ ||
|-
| [[ss]] || /bin/ ||
|-
| [[bridge (Befehl)|bridge]] || /sbin/ ||
|-
| [[dcb]] || /sbin/ ||
|-
| [[devlink]] || /sbin/ ||
|-
| [[Ip/Befehl|ip]] || /sbin/ || /sbin/ip -> /bin/ip
|-
| [[rtacct]] || /sbin/ ||
|-
| [[rtmon]] || /sbin/ ||
|-
| [[tc]] || /sbin/ ||
|-
| [[tipc]] || /sbin/ ||
|-
| [[vdpa]] || /sbin/ ||
|-
| [[ctstat]] || /usr/bin/ ||
|-
| [[lnstat]] || /usr/bin/ ||
|-
| [[nstat]] || /usr/bin/ ||
|-
| [[rdma]] || /usr/bin/ ||
|-
| [[routel]] || /usr/bin/ ||
|-
| [[rtstat]] || /usr/bin/ ||
|-
| [[arpd]] || /usr/sbin/ ||
|-
| [[genl]] || /usr/sbin/ ||
|}


== Aufruf ==
== Aufruf ==
Zeile 127: Zeile 52:


Wie daraus ersichtlich wird, sind Argumente zumeist Paare wie
Wie daraus ersichtlich wird, sind Argumente zumeist Paare wie
  dev ''INTERFACE''
  dev ''INTERFACE''
Für ganze Beispielbefehle siehe Abschnitt [[#Beispiele]]
=== Teile ===
{| class="wikitable options big"
|-
! Option !! Beschreibung
|-
| address || manipuliert die IP-Adressen der Interfaces (Netzwerkschnittstellen) und andere Parameter, wie [[Broadcast]]-Adressen, [[Multicast]]..
|-
| addrlabel ||
|-
| link || manipuliert die Netzwerkschnittstellen auf Ethernet-Ebene. Erlaubt Einstellungen wie [[Promiskuitiver Modus|Promiscuous Mode]] ein/aus, [[Address Resolution Protocol|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 [[Neighbor Discovery Protocol|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 <!-- schön hohle Phrase, aber mehr stand nirgends; das ist jetzt aus ip(8), Debian -->
|-
| 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.&nbsp;B. [[Tunnelbroker]]-p41-Tunnel)
|-
| tuntap || manipuliert TUN/TAP-Schnittstellen
|-
| xfrm || zu wenig Quellen
|}
== Konfiguration ==
=== Dateien ===
/etc/iproute2/bpf_pinning
/etc/iproute2/ematch_map
/etc/iproute2/group
/etc/iproute2/nl_protos
/etc/iproute2/rt_dsfield
/etc/iproute2/rt_protos
/etc/iproute2/rt_protos.d/README
/etc/iproute2/rt_realms
/etc/iproute2/rt_scopes
/etc/iproute2/rt_tables
/etc/iproute2/rt_tables.d/README
=== bash-completion ===
/usr/share/bash-completion/completions/devlink
/usr/share/bash-completion/completions/tc




Zeile 208: Zeile 78:
# [https://is.muni.cz/th/207915/fi_b/iproute.pdf iproute2-Dokumentation]
# [https://is.muni.cz/th/207915/fi_b/iproute.pdf iproute2-Dokumentation]


[[Kategorie:iproute2]]
{{DISPLAYTITLE:iproute2}}
 
[[Kategorie:Iproute2]]


{{DISPLAYTITLE:iproute2}}
</noinclude>
</noinclude>

Aktuelle Version vom 7. Juli 2025, 13:57 Uhr

iproute2 - Netzwerkschnittstellen konfigurieren

Beschreibung

IPv6-kompatible Werkzeuge zur Netzwerkkonfiguration

Zentraler Befehl ip

Für ifconfig, route und netstat aus den obsoleten net-tools

  • Die iproute2-Suite ist eine Sammlung von Werkzeugen für die Netzwerk- und Verkehrskontrolle
  • Diese Programme kommunizieren mit dem Linux-Kernel über die (rt)netlink-Schnittstelle
  • Sie bieten gegenüber den in den veralteten net-tools enthaltenen Programmen ifconfig und route erweiterte Möglichkeiten

Zusammengefasste Sammlung 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

iproute iproute2 wurde als Ersatz für die "klassischen" Netzwerktools wie ifconfig, route und weitere 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)

Mit der Programmsammlung iproute2 rund um den zentralen Befehl ip lassen sich Netzwerkschnittstellen auf der Kommandozeile abfragen oder konfigurieren

Damit bietet sich diese Sammlung als vollwertiger Ersatz zu klassischen Befehlen wie ifconfig, route und netstat (sämtlich im Paket net-tools) an Sie ist vollständig IPv6-kompatibel

Aufruf

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

ip addr [befehl] [argumente]

Um mit IPv6 zu arbeiten ruft man ip folgendermaßen auf

ip -6 addr [befehl] [argumente]

befehl ist ein weiterer Unterbefehl mit argumenten. help gibt dabei immer eine Art Syntaxhilfe aus, hier ip addr help

Usage: ip addr {add|change|replace} IFADDR dev STRING [ LIFETIME ]
[ CONFFLAG-LIST ]
ip addr del IFADDR dev STRING
ip addr {show|flush} [ dev STRING ] [ scope SCOPE-ID ]
[ to PREFIX ] [ FLAG-LIST ] [ label PATTERN ]
IFADDR := PREFIX | ADDR peer PREFIX
[ broadcast ADDR ] [ anycast ADDR ]
[ label STRING ] [ scope SCOPE-ID ]
SCOPE-ID := [ host | link | global | NUMBER ]
FLAG-LIST := [ FLAG-LIST ] FLAG
FLAG := [ permanent | dynamic | secondary | primary |
tentative | deprecated | dadfailed | temporary |
CONFFLAG-LIST ]
CONFFLAG-LIST := [ CONFFLAG-LIST ] CONFFLAG
CONFFLAG := [ home | nodad ]
LIFETIME := [ valid_lft LFT ] [ preferred_lft LFT ]
LFT := forever | SECONDS

Wie daraus ersichtlich wird, sind Argumente zumeist Paare wie

dev INTERFACE



Anhang

Siehe auch

Dokumentation

/usr/share/doc/iproute2/README.Debian
/usr/share/doc/iproute2/changelog.Debian.gz
/usr/share/doc/iproute2/copyright
/usr/share/lintian/overrides/iproute2

Links

Projekt

  1. https://wiki.linuxfoundation.org/networking/iproute2

Weblinks

  1. https://de.wikipedia.org/wiki/Iproute2
  2. IP Command Reference, Alexey N. Kuznetsov Institute for Nuclear Research, Moscow; April 14, 1999
  3. Introduction to iproute2
  4. iproute2-Dokumentation