iproute2

Aus Foxwiki

iproute2 - Werkzeuge für 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.
  • Sie ist 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.

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).

Installation

# apt install iproute2

Befehle

Befehl Pfad Beschreibung
ip /bin/
ss /bin/
bridge (Befehl) /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/

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

ip addr add 10.10.1.1/16 broadcast 10.10.255.255 dev eth0
ip route add default via 10.10.0.0

Erstellen eines SIT-Tunnels (IPv6 over IPv4), siehe Tunnelbroker

ip tunnel add sit0 mode sit remote 192.0.2.32 local 10.10.4.2 ttl 255
ip link set sit0 up
ip -6 route add ::/0 dev sit0

Anzeige der Routing- und Neighbortabellen

ip route show
ip neigh show

Fälschen der MAC-Adresse

ip link set dev eth0 address aa:bb:cc:dd:ee:ff

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

Sicherheit

Dokumentation

/usr/share/doc/iproute2/README.Debian
/usr/share/doc/iproute2/changelog.Debian.gz
/usr/share/doc/iproute2/copyright
/usr/share/lintian/overrides/iproute2
Man-Pages
/usr/share/man/man3/libnetlink.3.gz
/usr/share/man/man7/tc-hfsc.7.gz
/usr/share/man/man8/arpd.8.gz
/usr/share/man/man8/bridge.8.gz
/usr/share/man/man8/ctstat.8.gz
/usr/share/man/man8/dcb-app.8.gz
/usr/share/man/man8/dcb-buffer.8.gz
/usr/share/man/man8/dcb-dcbx.8.gz
/usr/share/man/man8/dcb-ets.8.gz
/usr/share/man/man8/dcb-maxrate.8.gz
/usr/share/man/man8/dcb-pfc.8.gz
/usr/share/man/man8/dcb.8.gz
/usr/share/man/man8/devlink-dev.8.gz
/usr/share/man/man8/devlink-dpipe.8.gz
/usr/share/man/man8/devlink-health.8.gz
/usr/share/man/man8/devlink-lc.8.gz
/usr/share/man/man8/devlink-monitor.8.gz
/usr/share/man/man8/devlink-port.8.gz
/usr/share/man/man8/devlink-rate.8.gz
/usr/share/man/man8/devlink-region.8.gz
/usr/share/man/man8/devlink-resource.8.gz
/usr/share/man/man8/devlink-sb.8.gz
/usr/share/man/man8/devlink-trap.8.gz
/usr/share/man/man8/devlink.8.gz
/usr/share/man/man8/genl.8.gz
/usr/share/man/man8/ip-address.8.gz
/usr/share/man/man8/ip-addrlabel.8.gz
/usr/share/man/man8/ip-fou.8.gz
/usr/share/man/man8/ip-gue.8.gz
/usr/share/man/man8/ip-ioam.8.gz
/usr/share/man/man8/ip-l2tp.8.gz
/usr/share/man/man8/ip-link.8.gz
/usr/share/man/man8/ip-macsec.8.gz
/usr/share/man/man8/ip-maddress.8.gz
/usr/share/man/man8/ip-monitor.8.gz
/usr/share/man/man8/ip-mptcp.8.gz
/usr/share/man/man8/ip-mroute.8.gz
/usr/share/man/man8/ip-neighbour.8.gz
/usr/share/man/man8/ip-netconf.8.gz
/usr/share/man/man8/ip-netns.8.gz
/usr/share/man/man8/ip-nexthop.8.gz
/usr/share/man/man8/ip-ntable.8.gz
/usr/share/man/man8/ip-route.8.gz
/usr/share/man/man8/ip-rule.8.gz
/usr/share/man/man8/ip-sr.8.gz
/usr/share/man/man8/ip-stats.8.gz
/usr/share/man/man8/ip-tcp_metrics.8.gz
/usr/share/man/man8/ip-token.8.gz
/usr/share/man/man8/ip-tunnel.8.gz
/usr/share/man/man8/ip-vrf.8.gz
/usr/share/man/man8/ip-xfrm.8.gz
/usr/share/man/man8/ip.8.gz
/usr/share/man/man8/lnstat.8.gz
/usr/share/man/man8/nstat.8.gz
/usr/share/man/man8/rdma-dev.8.gz
/usr/share/man/man8/rdma-link.8.gz
/usr/share/man/man8/rdma-resource.8.gz
/usr/share/man/man8/rdma-statistic.8.gz
/usr/share/man/man8/rdma-system.8.gz
/usr/share/man/man8/rdma.8.gz
/usr/share/man/man8/routel.8.gz
/usr/share/man/man8/rtacct.8.gz
/usr/share/man/man8/rtmon.8.gz
/usr/share/man/man8/rtstat.8.gz
/usr/share/man/man8/ss.8.gz
/usr/share/man/man8/tc-actions.8.gz
/usr/share/man/man8/tc-basic.8.gz
/usr/share/man/man8/tc-bfifo.8.gz
/usr/share/man/man8/tc-bpf.8.gz
/usr/share/man/man8/tc-cake.8.gz
/usr/share/man/man8/tc-cbq-details.8.gz
/usr/share/man/man8/tc-cbq.8.gz
/usr/share/man/man8/tc-cbs.8.gz
/usr/share/man/man8/tc-cgroup.8.gz
/usr/share/man/man8/tc-choke.8.gz
/usr/share/man/man8/tc-codel.8.gz
/usr/share/man/man8/tc-connmark.8.gz
/usr/share/man/man8/tc-csum.8.gz
/usr/share/man/man8/tc-ct.8.gz
/usr/share/man/man8/tc-ctinfo.8.gz
/usr/share/man/man8/tc-drr.8.gz
/usr/share/man/man8/tc-ematch.8.gz
/usr/share/man/man8/tc-etf.8.gz
/usr/share/man/man8/tc-ets.8.gz
/usr/share/man/man8/tc-flow.8.gz
/usr/share/man/man8/tc-flower.8.gz
/usr/share/man/man8/tc-fq.8.gz
/usr/share/man/man8/tc-fq_codel.8.gz
/usr/share/man/man8/tc-fq_pie.8.gz
/usr/share/man/man8/tc-fw.8.gz
/usr/share/man/man8/tc-gate.8.gz
/usr/share/man/man8/tc-hfsc.8.gz
/usr/share/man/man8/tc-htb.8.gz
/usr/share/man/man8/tc-ife.8.gz
/usr/share/man/man8/tc-matchall.8.gz
/usr/share/man/man8/tc-mirred.8.gz
/usr/share/man/man8/tc-mpls.8.gz
/usr/share/man/man8/tc-mqprio.8.gz
/usr/share/man/man8/tc-nat.8.gz
/usr/share/man/man8/tc-netem.8.gz
/usr/share/man/man8/tc-pedit.8.gz
/usr/share/man/man8/tc-pfifo.8.gz
/usr/share/man/man8/tc-pfifo_fast.8.gz
/usr/share/man/man8/tc-pie.8.gz
/usr/share/man/man8/tc-police.8.gz
/usr/share/man/man8/tc-prio.8.gz
/usr/share/man/man8/tc-red.8.gz
/usr/share/man/man8/tc-route.8.gz
/usr/share/man/man8/tc-sample.8.gz
/usr/share/man/man8/tc-sfb.8.gz
/usr/share/man/man8/tc-sfq.8.gz
/usr/share/man/man8/tc-simple.8.gz
/usr/share/man/man8/tc-skbedit.8.gz
/usr/share/man/man8/tc-skbmod.8.gz
/usr/share/man/man8/tc-skbprio.8.gz
/usr/share/man/man8/tc-stab.8.gz
/usr/share/man/man8/tc-taprio.8.gz
/usr/share/man/man8/tc-tbf.8.gz
/usr/share/man/man8/tc-tcindex.8.gz
/usr/share/man/man8/tc-tunnel_key.8.gz
/usr/share/man/man8/tc-u32.8.gz
/usr/share/man/man8/tc-vlan.8.gz
/usr/share/man/man8/tc-xt.8.gz
/usr/share/man/man8/tc.8.gz
/usr/share/man/man8/tipc-bearer.8.gz
/usr/share/man/man8/tipc-link.8.gz
/usr/share/man/man8/tipc-media.8.gz
/usr/share/man/man8/tipc-nametable.8.gz
/usr/share/man/man8/tipc-node.8.gz
/usr/share/man/man8/tipc-peer.8.gz
/usr/share/man/man8/tipc-socket.8.gz
/usr/share/man/man8/tipc.8.gz
/usr/share/man/man8/vdpa-dev.8.gz
/usr/share/man/man8/vdpa-mgmtdev.8.gz
/usr/share/man/man8/vdpa.8.gz
Info-Pages

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 (englisch)
  3. Introduction to iproute2
  4. iproute2-Dokumentation (PDF; 513 kB)

TMP


  1. iproute2 auf GitHub.