Ip/Befehl: Unterschied zwischen den Versionen

Aus Foxwiki
OthmanAldaood (Diskussion | Beiträge)
OthmanAldaood (Diskussion | Beiträge)
Zeile 28: Zeile 28:
Die 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.
Die 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.


== Übersicht ==
== <big>Optionen</big> ==
ip kennt sehr viele Optionen (siehe auch Beispiele), die man bei Bedarf in der [[ManpageLinux:Befehl:man|Manpage]] oder in der Dokumentation nachschlagen kann. Zusätzlich gibt es eine komfortable Soforthilfe: man kombiniert die gewünschte Option mit dem Schlüsselwort help. Beispiel:


Die Tabelle zeigt wichtige Befehle zur Netzwerkkonfiguration und vergleicht die Syntax der Kommandos ip und ifconfig:
ip link help
 
Nachfolgend eine praktisch orientierte Übersicht, die alte und neue Befehle gegenüberstellt.
 
'''Alte und neue Befehle'''
{| class="wikitable"
{| class="wikitable"
|- style="background-color: #EFEFEF; font-weight: bold;"==Befehle und Dateien zum Routing==
! Zweck
! iproute2 Kommando
! iproute2 Kommando Kurzversion
! net-tools Kommando
|-
|-
| Linkstatus anzeigen
!  Traditionell  !! Neu  !! Zweck
| ip link show|<code>ip link show</code>
| <code>ip l</code>
| <code>ifconfig</code>
|-
|-
| Linkstatus inkl. Statistik <br>(RX/TX bytes, errors, ...) anzeigen
| ifconfig SCHNITTSTELLE || ip addr show SCHNITTSTELLE || IP-Adresse anzeigen
| ip link show|<code>ip -statistics link show</code>
| <code>ip -s l</code>
| <code>ifconfig</code>
|-
|-
| IP Adresse anzeigen
| ifconfig SCHNITTSTELLE IP-ADRESSE netmask NETMASK broadcast BROADCAST || ip addr change IP-ADRESSE/CIDR broadcast BROADCAST dev SCHNITTSTELLE || IP-Adresse setzen
| ip addr show|<code>ip addr show</code>
| <code>ip a</code>
| <code>ifconfig -a</code>
|-
|-
| IP Adresse setzen
| ifconfig SCHNITTSTELLE IP-ADRESSE netmask NETMASK broadcast BROADCAST || ip addr add IP-ADRESSE/CIDR broadcast BROADCAST dev SCHNITTSTELLE || IP-Adresse hinzufügen
| ip addr add IP/NETMASK dev DEVICE|<code>ip addr add IP/NETMASK dev DEVICE</code>
| <code>ip a a IP/NETMASK dev DEVICE</code>
| <code>ifconfig DEVICE IP/NETMASK</code>
|-
|-
| IP Adresse entfernen
| ifconfig SCHNITTSTELLE:1 IP-ADRESSE/CIDR || ip addr add IP-ADRESSE/CIDR dev SCHNITTSTELLE label SCHNITTSTELLE:1 || Alias anlegen
| ip addr add IP/NETMASK dev DEVICE|<code>ip addr del IP/NETMASK dev DEVICE</code>
| <code>ip a d IP/NETMASK dev DEVICE</code>
|  
|-
|-
| Alle IP Adressen entfernen
| || ip addr del IP-ADRESSE/CIDR dev SCHNITTSTELLE || IP-Adresse löschen
| ip addr flush dev DEVICE|<code>ip addr flush dev DEVICE</code>
| <code>ip a f dev DEVICE</code>
|  
|-
|-
| Routingtabelle anzeigen
| ifconfig SCHNITTSTELLE up || ip link set SCHNITTSTELLE up || Schnittstelle aktivieren
| ip route show|<code>ip route show</code>
| <code>ip r</code>
| <code>route -n</code>
|-
|-
| Standardgateway setzen
| ifconfig SCHNITTSTELLE down || ip link set SCHNITTSTELLE down || Schnittstelle deaktivieren
| ip route add default via IP|<code>ip route add default via IP</code>
| <code>ip r a default via IP</code>
| <code>route add default gw IP DEVICE</code>
|-
|-
| ARP-Cache anzeigen
| route, route -6 || ip route, ip -6 route || Routen (für IPv6) anzeigen
| ip neigh show|<code>ip neigh show</code>
| <code>ip n</code>
| <code>arp -na</code>
|-
|-
| Verbindungen anzeigen
| route add default gw IP-ADRESSE || ip route add default via IP-ADRESSE dev SCHNITTSTELLE || Gateway setzen
| <code>ss --tcp --all --processes --extended --numeric</code>
|-
| <code>ss -tapen</code>
| arp -a || ip neighbour || [https://de.wikipedia.org/wiki/Address_Resolution_Protocol ARP]
| <code>netstat -tapen</code>
|-
| 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.


== <big> Beispiele </big> ==
== <big> Beispiele </big> ==

Version vom 3. Juni 2020, 12:43 Uhr

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:

  • ss (socket status, netstat-Ersatz)
  • lnstat (link state, auch ctstat)
  • nstat (network statistics tool)
  • routef (flush routes)
  • routel (list routes)
  • rtstat (route state monitoring)
  • Das Kommando ip aus der iproute2 Toolsammlung dient unter Linux zur Konfiguration von Netzwerkadressen.
  • Es ersetzt das ifconfig Kommando aus den obsoleten net-tools.

Installation

Die Programmsammlung ist unter Ubuntu vorinstalliert. Ansonsten braucht man folgendes Paket [1]:

  • iproute2

Aufruf

Die allgemeine Syntax lautet:

ip OPTIONEN SCHNITTSTELLE 

Da manche der Optionen dem System-Administrator vorbehalten sind, muss man je nach Anwendungsfall den Befehl sudo voranstellen . Die 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), die man bei Bedarf in der Manpage oder in der Dokumentation nachschlagen kann. Zusätzlich gibt es eine komfortable Soforthilfe: man kombiniert die gewünschte Option mit dem Schlüsselwort help. Beispiel:

ip link help 

Nachfolgend eine praktisch orientierte Übersicht, die alte und neue Befehle gegenüberstellt.

Alte und neue Befehle

Traditionell Neu Zweck
ifconfig SCHNITTSTELLE ip addr show SCHNITTSTELLE IP-Adresse anzeigen
ifconfig SCHNITTSTELLE IP-ADRESSE netmask NETMASK broadcast BROADCAST ip addr change IP-ADRESSE/CIDR broadcast BROADCAST dev SCHNITTSTELLE IP-Adresse setzen
ifconfig SCHNITTSTELLE IP-ADRESSE netmask NETMASK broadcast BROADCAST 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 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

Die folgenden Ausgaben zeigen einige Beispiele von iproute2 Kommandos.

  • ip link show:
$ ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
   link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
   link/ether 08:00:27:66:72:e1 brd ff:ff:ff:ff:ff:ff

Zeigt nur die Netzwerkkarten an.

  • ip -statistics link show:
$ ip -statistics link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
   link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
   RX: bytes  packets  errors  dropped overrun mcast   
   2073916    4895     0       0       0       0      
   TX: bytes  packets  errors  dropped carrier collsns 
   2073916    4895     0       0       0       0      
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
   link/ether 08:00:27:66:72:e1 brd ff:ff:ff:ff:ff:ff
   RX: bytes  packets  errors  dropped overrun mcast   
   1716782262 1369751  0       0       0       0      
   TX: bytes  packets  errors  dropped carrier collsns 
   308636400  1172428  0       0       0       0      

Zeigt dir neben den Netzwerkschnittstellen auch die durchgegangen Pakete.

  • ip addr show:
$ ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
   link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
   inet 127.0.0.1/8 scope host lo
      valid_lft forever preferred_lft forever
   inet6 ::1/128 scope host 
      valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
   link/ether 08:00:27:66:72:e1 brd ff:ff:ff:ff:ff:ff
   inet 10.1.102.59/24 brd 10.1.102.255 scope global eth0
      valid_lft forever preferred_lft forever
   inet6 fe80::a00:27ff:fe66:72e1/64 scope link 
      valid_lft forever preferred_lft forever

Zeigt die Netzwerkschnittstellen und ihre IP-Addressen.

  • ip addr add IP/NETMASK dev DEVICE:
# ip addr add 10.1.102.60/24 dev eth0
$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
   link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
   inet 127.0.0.1/8 scope host lo
      valid_lft forever preferred_lft forever
   inet6 ::1/128 scope host 
      valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
   link/ether 08:00:27:66:72:e1 brd ff:ff:ff:ff:ff:ff
   inet 10.1.102.59/24 brd 10.1.102.255 scope global eth0
      valid_lft forever preferred_lft forever
   inet 10.1.102.60/24 scope global secondary eth0
      valid_lft forever preferred_lft forever
   inet6 fe80::a00:27ff:fe66:72e1/64 scope link 
      valid_lft forever preferred_lft forever

Fügt eine neue Ip-Addresse zu einer Netzwerkkarte hinzu. IP/NETMASK ist die gewünschte IP-Addresse mit der CIDR-Notation. DEVICE ist der Name der Netzwerkkarte.

  • ip addr del IP/NETMASK dev DEVICE:
# ip addr del 10.1.102.60/24 dev eth0
$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:15:17:5e brd ff:ff:ff:ff:ff:ff
    inet 10.1.102.54/24 brd 10.1.102.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::a00:27ff:fe15:175e/64 scope link 
       valid_lft forever preferred_lft forever

Löscht eine IP-Addresse von einer Netzwerkkarte.

  • ip addr flush dev DEVICE:
# ip addr flush dev eth0
$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
   link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
   inet 127.0.0.1/8 scope host lo
      valid_lft forever preferred_lft forever
   inet6 ::1/128 scope host 
      valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
   link/ether 08:00:27:15:17:5e brd ff:ff:ff:ff:ff:ff

Löscht alle IP-Addressen von einer Netzwerkkarte

  • ip route show:
$ ip route show
default via 10.1.102.1 dev eth0  metric 100 
10.1.102.0/24 dev eth0  proto kernel  scope link  src 10.1.102.59 

Zeigt die Routingtabelle

  • ip route add default via IP
# ip route add d via 10.1.102.1
Fügt ein Standardgateway in die Routingtabelle hinzu.
  • ip route hinzufügen::
# ip route add 10.0.0.0/8 via 10.0.0.200 dev enp0s6
Fügt eine Route zum Netz 10.0.0.0/8 über den Router 10.0.0.200 hinzu. Die angegebene Schnittstelle sollte der internen des Routers 0.200 entsprechen (welche zu einem anderen Netz führ, beispielsweise 10.5.0.200).
  • ip neigh show:
$ ip neigh show
10.1.102.101 dev eth0 lladdr f0:de:f1:f3:17:88 REACHABLE
10.1.102.1 dev eth0 lladdr 00:0c:42:97:79:63 REACHABLE

Quelle

Links