Iproute2: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 2: | Zeile 2: | ||
== Beschreibung == | == Beschreibung == | ||
Mit der Programmsammlung iproute2 rund um den zentralen Befehl ip lassen sich Netzwerkschnittstellen auf der Kommandozeile abfragen oder konfigurieren | 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 | * 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 | ; Werkzeuge für Netzwerk(verkehrs)kontrolle | ||
* 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 | '''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 | 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'' 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 | 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 ('''''t'''raffic '''c'''ontrol'') | Außerdem gehört zum Paket der Befehl ''tc'', der dazu genutzt wird, Netzwerktraffic zu kontrollieren ('''''t'''raffic '''c'''ontrol'') | ||
Mit der Programmsammlung [[iproute2]] rund um den zentralen Befehl ip lassen sich Netzwerkschnittstellen auf der Kommandozeile abfragen oder konfigurieren | 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 | 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 | Enthalten sind des Weiteren die folgenden Werkzeuge | ||
{|class="wikitable options" | |||
! 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 | ; Nur mit Root-Rechten zugänglich sind | ||
{|class="wikitable options" | |||
! 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]] | |||
|} | |||
== Installation == | == Installation == | ||
Zeile 57: | Zeile 73: | ||
| [[devlink]] || /sbin/ || | | [[devlink]] || /sbin/ || | ||
|- | |- | ||
| [[ip]] || /sbin/ || /sbin/ip -> /bin/ip | | [[Ip/Befehl|ip]] || /sbin/ || /sbin/ip -> /bin/ip | ||
|- | |- | ||
| [[rtacct]] || /sbin/ || | | [[rtacct]] || /sbin/ || | ||
Zeile 87: | Zeile 103: | ||
== Aufruf == | == 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 | 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''] | ip addr [''befehl''] [''argumente''] | ||
Um mit IPv6 zu arbeiten ruft man ''ip'' folgendermaßen auf | Um mit IPv6 zu arbeiten ruft man ''ip'' folgendermaßen auf | ||
ip -6 addr [''befehl''] [''argumente''] | ip -6 addr [''befehl''] [''argumente''] | ||
''befehl'' ist ein weiterer Unterbefehl mit ''argumente''n. ''help'' gibt dabei immer eine Art Syntaxhilfe aus, hier ''ip addr help'' | ''befehl'' ist ein weiterer Unterbefehl mit ''argumente''n. ''help'' gibt dabei immer eine Art Syntaxhilfe aus, hier ''ip addr help'' | ||
Usage: ip addr {add|change|replace} IFADDR dev STRING [ LIFETIME ] | 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 | IFADDR := PREFIX | ADDR peer PREFIX | ||
[ broadcast ADDR ] [ anycast ADDR ] | |||
[ label STRING ] [ scope SCOPE-ID ] | |||
SCOPE-ID := [ host | link | global | NUMBER ] | SCOPE-ID := [ host | link | global | NUMBER ] | ||
FLAG-LIST := [ FLAG-LIST ] FLAG | FLAG-LIST := [ FLAG-LIST ] FLAG | ||
FLAG | FLAG := [ permanent | dynamic | secondary | primary | | ||
tentative | deprecated | dadfailed | temporary | | |||
CONFFLAG-LIST ] | |||
CONFFLAG-LIST := [ CONFFLAG-LIST ] CONFFLAG | CONFFLAG-LIST := [ CONFFLAG-LIST ] CONFFLAG | ||
CONFFLAG | CONFFLAG := [ home | nodad ] | ||
LIFETIME := [ valid_lft LFT ] [ preferred_lft LFT ] | LIFETIME := [ valid_lft LFT ] [ preferred_lft LFT ] | ||
LFT := forever | SECONDS | LFT := forever | SECONDS | ||
Zeile 117: | Zeile 133: | ||
dev ''INTERFACE'' | dev ''INTERFACE'' | ||
Für ganze Beispielbefehle siehe Abschnitt [[#Beispiele]] | Für ganze Beispielbefehle siehe Abschnitt [[#Beispiele]] | ||
=== Teile === | === Teile === | ||
Zeile 124: | Zeile 140: | ||
! Option !! Beschreibung | ! Option !! Beschreibung | ||
|- | |- | ||
| address || manipuliert die IP-Adressen der Interfaces (Netzwerkschnittstellen) und andere Parameter, wie [[Broadcast]]-Adressen, [[Multicast]] | | address || manipuliert die IP-Adressen der Interfaces (Netzwerkschnittstellen) und andere Parameter, wie [[Broadcast]]-Adressen, [[Multicast]].. | ||
|- | |- | ||
| addrlabel || | | 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 | | 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 | | 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) | | monitor || zeigt Änderungen der Netzwerkinterfaces an (zum Beispiel [[Neighbor Discovery Protocol|NDP]]-Router-Advertisements oder ARP-Nachrichten, die über Adressen und Routen informieren) | ||
Zeile 136: | Zeile 152: | ||
| mroute || Informationen über Multicast-Routing-Tabellen | | mroute || Informationen über Multicast-Routing-Tabellen | ||
|- | |- | ||
| neighbour || manipuliert und zeigt ARP- und NDP-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 --> | | netns || verwaltet Netzwerknamensräume <!-- schön hohle Phrase, aber mehr stand nirgends; das ist jetzt aus ip(8), Debian --> | ||
Zeile 191: | Zeile 207: | ||
===== Weblinks ===== | ===== Weblinks ===== | ||
# https://de.wikipedia.org/wiki/Iproute2 | # https://de.wikipedia.org/wiki/Iproute2 | ||
# [http://linux-ip.net/gl/ip-cref/ IP Command Reference, ''Alexey N. Kuznetsov'' Institute for Nuclear Research, Moscow; | # [http://linux-ip.net/gl/ip-cref/ IP Command Reference, ''Alexey N. Kuznetsov'' Institute for Nuclear Research, Moscow; April 14, 1999] | ||
# [http://lartc.org/howto/lartc.iproute2.html Introduction to iproute2] | # [http://lartc.org/howto/lartc.iproute2.html Introduction to iproute2] | ||
# [http://is.muni.cz/th/207915/fi_b/iproute.pdf iproute2-Dokumentation] | # [http://is.muni.cz/th/207915/fi_b/iproute.pdf iproute2-Dokumentation] |
Aktuelle Version vom 18. Dezember 2024, 12:31 Uhr
iproute2 - Werkzeuge zur Netzwerk(verkehrs)kontrolle
Beschreibung
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
- Vollständig IPv6-kompatibel
- Werkzeuge für Netzwerk(verkehrs)kontrolle
- 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
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.[1] iproute2 nutzt Linux’ Netlink-Schnittstelle, um direkt mit dem Kernel zu kommunizieren
iproute
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)
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
Enthalten sind des Weiteren die folgenden Werkzeuge
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
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 |
Installation
# apt install iproute2
Befehle
Befehl | Pfad | Beschreibung |
---|---|---|
ip | /bin/ | |
ss | /bin/ | |
bridge | /sbin/ | |
dcb | /sbin/ | |
devlink | /sbin/ | |
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
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
Für ganze Beispielbefehle siehe Abschnitt #Beispiele
Teile
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 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 |
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
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
Weblinks
- https://de.wikipedia.org/wiki/Iproute2
- IP Command Reference, Alexey N. Kuznetsov Institute for Nuclear Research, Moscow; April 14, 1999
- Introduction to iproute2
- iproute2-Dokumentation