Iproute2: Unterschied zwischen den Versionen
Zeile 242: | Zeile 242: | ||
= TMP = | = TMP = | ||
== Syntax == | == 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: | 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: |
Version vom 23. Februar 2024, 12:33 Uhr
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.
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/ |
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
Weblinks
- https://de.wikipedia.org/wiki/Iproute2
- IP Command Reference, Alexey N. Kuznetsov Institute for Nuclear Research, Moscow; April 14, 1999 (englisch)
- Introduction to iproute2
- iproute2-Dokumentation (PDF; 513 kB)
TMP
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:
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
- 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
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