[[Vorlage(Getestet, general)]] {{{#!vorlage Wissen [:Terminal:Ein Terminal öffnen] [:sudo: Root-Rechte erlangen] }}} [[Inhaltsverzeichnis(1)]] [[Bild(Wiki/Icons/terminal.png, 48, align=left)]] Mit der Programmsammlung [https://wiki.linuxfoundation.org/networking/iproute2 iproute2] {en} 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:`netstat`] (sämtlich im Paket `net-tools`) an. Sie ist vollständig [:IPv6:]-kompatibel. Enthalten sind des Weiteren die folgenden Werkzeuge: * `ss` ('''s'''ocket '''s'''tatus, `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: `arpd` (userspace arp daemon), `rtacct` (routing table realms and policy propagation), `rtmon` (routing table monitor) und `tc` ('''t'''raffic '''c'''ontrol). Dieser Artikel beschränkt sich auf den Befehl '''ip'''. Im WLAN-Bereich ist der Befehl [:iw:] der Ersatz für das bisherige `iwconfig`. = Installation = Die Programmsammlung ist unter Ubuntu vorinstalliert. Ansonsten braucht man folgendes Paket [1]: * '''iproute2''' = Aufruf = Die allgemeine Syntax lautet [1]: {{{#!vorlage Befehl ip OPTIONEN SCHNITTSTELLE }}} Da manche der Optionen dem System-Administrator vorbehalten sind, muss man je nach Anwendungsfall den Befehl `sudo` voranstellen [2]. Die [wikipedia:Classless_Inter-Domain_Routing:CIDR]-Notation ermöglicht im Gegensatz zur Dezimalpunktschreibweise von IPv4 kürzere Ausdrücke. Beispiel: `192.168.0.0/24` entspricht dem bisherigen `192.168.0.0/255.255.255.0`. Während man früher wahlweise beide Schreibweisen verwenden konnte, ist nur noch CIDR erlaubt. == Optionen == '''ip''' kennt sehr viele Optionen (siehe auch [#Beispiele Beispiele]), die man bei Bedarf in der [:man:Manpage] oder in der [#Links Dokumentation] nachschlagen kann. Zusätzlich gibt es eine komfortable Soforthilfe: man kombiniert die gewünschte Option mit dem Schlüsselwort `help`. Beispiel: {{{#!vorlage Befehl ip link help }}} ##aasche: Tabelle mit wichtigen Optionen erstellen Nachfolgend eine praktisch orientierte Übersicht, die alte und neue Befehle gegenüberstellt. {{{#!vorlage Tabelle Alte und neue Befehle +++ Traditionell Neu Zweck +++ `ifconfig SCHNITTSTELLE` `ip addr show SCHNITTSTELLE` IP-Adresse anzeigen +++ `ifconfig SCHNITTSTELLE hw ether MAC-ADRESSE` `ip link set dev SCHNITTSTELLE address MAC-ADDRESSE` MAC-Adresse ändern +++ <|2>`ifconfig SCHNITTSTELLE IP-ADRESSE netmask NETMASK broadcast BROADCAST` `ip addr change IP-ADRESSE/CIDR broadcast BROADCAST dev SCHNITTSTELLE` IP-Adresse setzen +++ `ip addr add IP-ADRESSE/CIDR broadcast BROADCAST dev SCHNITTSTELLE` IP-Adresse hinzufügen +++ `ifconfig SCHNITTSTELLE:1 IP-ADRESSE/CIDR` `ip addr add IP-ADRESSE/CIDR dev SCHNITTSTELLE label SCHNITTSTELLE:1` Alias anlegen +++ <:>- `ip addr del IP-ADRESSE/CIDR dev SCHNITTSTELLE` IP-Adresse löschen +++ `ifconfig SCHNITTSTELLE up` `ip link set SCHNITTSTELLE up` Schnittstelle aktivieren +++ `ifconfig SCHNITTSTELLE down` `ip link set SCHNITTSTELLE down` Schnittstelle deaktivieren +++ `route`, `route -6` `ip route`, `ip -6 route` Routen (für IPv6) anzeigen +++ `route add default gw IP-ADRESSE` `ip route add default via IP-ADRESSE dev SCHNITTSTELLE` Gateway setzen +++ `arp -a` `ip neighbour` [wikipedia:Address_Resolution_Protocol:ARP] +++ `netstat` `ss` Sockets anzeigen }}} Die Optionen für ip kann man auch in Kurzschreibweise als Anfangsbuchstaben der Option angeben. Wenn man z.B. für alle Netzwerkschnittstellen des Systems die IP-Adressen ausgeben möchte, benötigt man den Befehl `ip addr show`. Die Kurzform `ip a s` liefert das gleiche Ergebnis. = Beispiele = * Status aller Schnittstellen: {{{#!vorlage Befehl ip link }}} {{{ 1: lo: mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: irda0: mtu 2048 qdisc noop state DOWN qlen 8 link/irda 00:00:00:00 brd ff:ff:ff:ff 3: wlan0: mtu 1500 qdisc mq state DOWN qlen 1000 link/ether 00:05:4e:4f:65:e5 brd ff:ff:ff:ff:ff:ff 4: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000 }}} * Statistik aller Schnittstellen (wie bei `ifconfig`): {{{#!vorlage Befehl ip -s link }}} * Statistik der Schnittstelle `eth0` anzeigen: {{{#!vorlage Befehl ip -s link show eth0 }}} {{{ 4: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0d:60:b1:16:7f brd ff:ff:ff:ff:ff:ff RX: bytes packets errors dropped overrun mcast 2631476274 2634102 0 0 0 0 TX: bytes packets errors dropped carrier collsns 449098710 2363841 0 0 0 0 }}} * IP-Adresse der Schnittstelle `eth0` anzeigen: {{{#!vorlage Befehl ip addr show eth0 }}} {{{ 4: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0d:60:b1:16:7f brd ff:ff:ff:ff:ff:ff inet 192.168.178.68/24 brd 192.168.178.255 scope global eth0 }}} * Standard-Gateway der aktiven Schnittstelle (`eth0`) anzeigen: {{{#!vorlage Befehl ip route show | grep 'default' }}} {{{ default via 192.168.178.1 dev eth0 }}} ##aasche: Vorlage fuer weitere Befehle ## * ... : {{{#!vorlage Befehl ##ip ... ##}}} {{{ ##Ausgabe ##}}} = Links = * [wikipedia:Iproute2:] - Wikipedia * Dokumentation: * [http://www.policyrouting.org/iproute2-toc.html IPROUTE2 Utility Suite Howto] {en} * [http://linux-ip.net/ Guide to IP Layer Network Administration] {en} * [https://lintut.com/how-to-use-linux-ip-command/ How to use Linux IP Command] {en} - Blogbeitrag, 12/2015 * [https://dougvitale.wordpress.com/2011/12/21/deprecated-linux-networking-commands-and-their-replacements/ Deprecated networking commands and their replacements] {en} - Blogbeitrag, 12/2011 * [packages:ipset:] - administration tool for kernel IP sets ## * [:interfaces:/etc/networking/interfaces] - zentrale Netzwerk-Konfigurationsdatei * [:Shell/Befehlsübersicht:] {Übersicht} Übersicht über verschiedene Shell-Befehle #tag: Shell, Netzwerk, System, IPv6