Linux ip (iproute2)

Linux ip (iproute2)

ip aus dem iproute2 ist ein Tool, mit dem man sowohl IP-Adressen konfigurieren kann als auch die Routingtabele editieren kann.

IP Adressen anzeigen

Mit ip a werden die einzelnen IP-Adressen von alles Netzwerkgeräte angezeigt:

$ ip a
: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
   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: enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:19:99:f7:ce:a6 brd ff:ff:ff:ff:ff:ff
    inet 132.230.9.129/24 scope global enp0s25
       valid_lft forever preferred_lft forever
    inet6 2001:7c0:100:1101:6824:9329:d451:638d/64 scope global temporary dynamic 
       valid_lft 564752sec preferred_lft 45815sec
    inet6 2001:7c0:100:1101:8cbd:810a:7961:5864/64 scope global temporary deprecated dynamic 
       valid_lft 478889sec preferred_lft 0sec
    inet6 2001:7c0:100:1101:c1db:9074:811b:eb1b/64 scope global temporary deprecated dynamic 
       valid_lft 393029sec preferred_lft 0sec
    inet6 2001:7c0:100:1101:a070:e58c:b640:ea11/64 scope global temporary deprecated dynamic 
       valid_lft 307166sec preferred_lft 0sec
    inet6 2001:7c0:100:1101:c123:aa19:f6e6:3ce7/64 scope global temporary deprecated dynamic 
       valid_lft 221306sec preferred_lft 0sec
    inet6 2001:7c0:100:1101:315b:a384:2372:f0fb/64 scope global temporary deprecated dynamic 
       valid_lft 135445sec preferred_lft 0sec
    inet6 2001:7c0:100:1101:3c07:ffdd:f6:f82f/64 scope global temporary deprecated dynamic 
       valid_lft 49584sec preferred_lft 0sec
    inet6 2001:7c0:100:1101:ebcc:8c19:19b1:6e2b/64 scope global dynamic mngtmpaddr stable-privacy 
       valid_lft 2591836sec preferred_lft 604636sec
    inet6 fe80::24ab:b189:f1ac:d3e9/64 scope link stable-privacy 
       valid_lft forever preferred_lft forever
  • zuerst kommt das Loopbackinterface lo mit
    • IPv4 Localhost-Adresse für 127.0.0.1
    • IPv6 Localhost-Adresse für ::1
  • danach kommt die erste Netzwerkkarte, hier enp0s2 mit
    • Link/Ether (MAC) Adresse 00:19:99:f7:ce:a6
    • IPv4 CIDR Adresse 132.230.9.129/24
    • IPv6 Tempräre Adresse RFC 4941 2001:7c0:100:1101:6824:9329:d451:638d/64 (temporary)
    • 6 IPv6 Tempräre Adresse RFC 4941 die Abgelaufen sind (deprecated preferred_lft 0sec)
    • IPv6 Stable-Privacy Adresse 2001:7c0:100:1101:ebcc:8c19:19b1:6e2b/64 (stable-privacy)
    • IPv6 Stable-Privacy Link-Local-Adresse fe80::24ab:b189:f1ac:d3e9/64 (link stable-privacy)

Die IPv6 Adressen sind alle dynamisch entstanden (SLAAC), was man an dynamic sehen kann. Wie man sieht, sind hier sowohl IPv6 Tempräre Adressen (temporary) als auch IPv6 Stable-Privacy Adresse (stable-privacy) gleichzeitig konfiguriert.

IPv6 Adresse setzen

Mit folgendem Befehl kann man sich eine IPv6 Adresse statisch konfigurieren:

ip address add  2001:7c0:100:1101::129/64 dev enp0s25

Hierfür wird nur eine gültige IPv6-Präfix (2001:7c0:100:1101::/64) benötigt.

Neighbor-Table anzeigen

Mit ip 6 neigh lässt sich die Neighbor-Table ausgeben:

$ ip -6 neigh
2001:7c0:100:1101::2 dev enp0s25 lladdr d8:94:03:73:25:00 router STALE
fe80::1 dev enp0s25 lladdr d8:94:03:73:25:00 router REACHABLE

Multicast Adressen anzeigen

Mit ip -6 maddress werden die Multicast Adressen angezeigt:

$ ip -6 maddress
1:      lo
        inet6 ff02::1
        inet6 ff01::1
2:      enp0s25
        inet6 ff02::1:ff51:638d
        inet6 ff02::1:ff61:5864
        inet6 ff02::1:ff1b:eb1b
        inet6 ff02::1:ff40:ea11
        inet6 ff02::1:ffe6:3ce7
        inet6 ff02::1:ff72:f0fb
        inet6 ff02::1:fff6:f82f
        inet6 ff02::1:ffb1:6e2b
        inet6 ff02::1:ffac:d3e9
        inet6 ff02::1
        inet6 ff01::1