===== ip =====
==== Beschreibung ====
Das `ip`-Kommando ist das Standardwerkzeug zur Verwaltung von Netzwerkinterfaces, Routen und Adressen unter Linux.
==== Syntax ====
ip [Objekt] [Befehl] [Optionen]
==== Beispiele ====
ip a # Alle Interfaces und Adressen anzeigen
ip r # Routing-Tabelle anzeigen
ip link set eth0 up # Interface aktivieren
==== IP-Adressen verwalten ====
=== IP-Adresse anzeigen ===
# Alle IP-Adressen anzeigen
ip addr show
ip a
# IP-Adressen eines bestimmten Interfaces
ip addr show dev eth0
ip a s eth0
# Nur IPv4-Adressen anzeigen
ip -4 addr
# Nur IPv6-Adressen anzeigen
ip -6 addr
=== IP-Adresse hinzufügen ===
# IP-Adresse zu Interface hinzufügen
sudo ip addr add 192.168.1.100/24 dev eth0
# Zusätzliche IP-Adresse hinzufügen (Alias)
sudo ip addr add 192.168.1.101/24 dev eth0
# IPv6-Adresse hinzufügen
sudo ip addr add 2001:db8::1/64 dev eth0
# IP mit Broadcast-Adresse explizit angeben
sudo ip addr add 192.168.1.100/24 broadcast 192.168.1.255 dev eth0
# IP mit Label (für Kompatibilität mit ifconfig)
sudo ip addr add 192.168.1.100/24 dev eth0 label eth0:0
=== IP-Adresse entfernen ===
# IP-Adresse entfernen
sudo ip addr del 192.168.1.100/24 dev eth0
# Alle Adressen eines Interfaces entfernen
sudo ip addr flush dev eth0
==== Routen verwalten ====
=== Routing-Tabelle anzeigen ===
# Alle Routen anzeigen
ip route show
ip r
# Routen für bestimmtes Interface
ip route show dev eth0
# Route zu bestimmtem Ziel anzeigen
ip route get 8.8.8.8
# Nur IPv4-Routen
ip -4 route
# Nur IPv6-Routen
ip -6 route
=== Standard-Gateway (Default Route) ===
# Standard-Gateway anzeigen
ip route show default
# Standard-Gateway hinzufügen
sudo ip route add default via 192.168.1.1
# Standard-Gateway hinzufügen mit Interface
sudo ip route add default via 192.168.1.1 dev eth0
# Standard-Gateway ändern
sudo ip route replace default via 192.168.1.1
# Standard-Gateway entfernen
sudo ip route del default
sudo ip route del default via 192.168.1.1
=== Statische Routen ===
# Route zu Netzwerk hinzufügen
sudo ip route add 10.0.0.0/24 via 192.168.1.254
# Route zu Netzwerk über bestimmtes Interface
sudo ip route add 10.0.0.0/24 via 192.168.1.254 dev eth0
# Direkte Route (ohne Gateway)
sudo ip route add 192.168.2.0/24 dev eth1
# Route mit Metrik (Priorität, niedrigere Werte = höhere Priorität)
sudo ip route add 10.0.0.0/24 via 192.168.1.254 metric 100
# Host-Route (einzelner Host)
sudo ip route add 10.0.0.5 via 192.168.1.254
# Route ersetzen (ändern)
sudo ip route replace 10.0.0.0/24 via 192.168.1.250
# Route entfernen
sudo ip route del 10.0.0.0/24
sudo ip route del 10.0.0.0/24 via 192.168.1.254
=== Mehrere Routen zum gleichen Ziel (Load Balancing) ===
# Zwei Gateways mit gleichem Gewicht
sudo ip route add default \
nexthop via 192.168.1.1 dev eth0 weight 1 \
nexthop via 192.168.2.1 dev eth1 weight 1
# Mit unterschiedlichem Gewicht (2:1 Verhältnis)
sudo ip route add default \
nexthop via 192.168.1.1 weight 2 \
nexthop via 192.168.2.1 weight 1
=== Policy Routing (Routing-Tabellen) ===
# Alternative Routing-Tabelle anzeigen
ip route show table 100
# Route in bestimmter Tabelle hinzufügen
sudo ip route add default via 192.168.2.1 table 100
# Regel für Policy Routing
sudo ip rule add from 192.168.2.0/24 table 100
# Alle Regeln anzeigen
ip rule show
# Regel entfernen
sudo ip rule del from 192.168.2.0/24 table 100
==== Interface angeben ====
Viele //**ip**//-Befehle benötigen ein Interface als Argument, z.B.:
ip addr show dev eth0
ip link set eth0 up
==== Weitere Informationen ====
man ip
==== Siehe auch ====
* [[sammlung:ping|ping]]
* [[sammlung:traceroute|traceroute]]
* [[sammlung:tracepath|tracepath]]
* [[sammlung:netstat|netstat]]
* [[sammlung:ss|ss]]
* [[sammlung:tcpdump|tcpdump]]
* [[sammlung:wireshark|wireshark]]
* [[sammlung:nmap|nmap]]
* [[sammlung:nslookup|nslookup]]
* [[sammlung:dig|dig]]
* [[sammlung:nmcli|nmcli - NetworkManager CLI]]
* route - veraltetes Routing-Tool
* ifconfig - veraltetes Interface-Tool
{{tag>cli network}}