ip route

Zarządza tablicą routingu – wyświetla i modyfikuje trasy sieciowe.

ip route to narzędzie z pakietu iproute2, które zarządza tablicą routingu jądra Linuksa. Mówiąc po ludzku: decyduje, którędy pakiety mają wyjść z Twojej maszyny — przez którą bramę i przez którą kartę sieciową. Używasz go, gdy chcesz sprawdzić, dlaczego serwer nie widzi internetu, dodać trasę do konkretnej podsieci albo podejrzeć, jak jądro pokieruje ruch do danego adresu. To następca starego route, którego dziś już nie powinieneś używać.

Składnia i najważniejsze opcje

Podstawowa forma: ip route [show|add|del|replace|get|flush] [CEL] [via BRAMA] [dev IFACE]

  • show — wyświetla trasy (domyślnie z tablicy main); samo ip route robi to samo.
  • add — dodaje nową trasę do tablicy routingu.
  • del — usuwa istniejącą trasę.
  • replace — dodaje trasę albo nadpisuje istniejącą (bezpieczniejsze niż del+add).
  • get CEL — pyta jądro, którędy faktycznie poleci pakiet do danego adresu.
  • via BRAMA — adres routera (next-hop), przez który ma iść ruch.
  • dev IFACE — wymusza wyjście przez konkretny interfejs, np. eth0.
  • metric N — priorytet trasy; niższa wartość = trasa preferowana, gdy jest kilka pasujących.

Przykłady użycia

  • ip route — pokazuje całą tablicę routingu; pierwsza linia default via ... to Twoja brama domyślna.
  • ip route get 8.8.8.8 — sprawdza, przez którą bramę i interfejs pakiet poleci do Google DNS. Świetne do szybkiej diagnozy.
  • ip route add 192.168.50.0/24 via 192.168.1.1 dev eth0 — dodaje trasę do podsieci 192.168.50.0/24 przez wskazaną bramę.
  • ip route add default via 192.168.1.1 — ustawia bramę domyślną (gdy maszyna jej nie ma, np. po ręcznej konfiguracji).
  • ip route del 192.168.50.0/24 — usuwa wcześniej dodaną trasę, gdy przestała być potrzebna.

Częste błędy i pułapki

Najczęstszy zgrzyt: RTNETLINK answers: Operation not permitted — zapomniałeś sudo. Modyfikacja routingu wymaga roota. Drugi klasyk: Network is unreachable przy add oznacza, że adres bramy nie leży w żadnej bezpośrednio podpiętej podsieci — najpierw musi istnieć trasa do samej bramy.

Pamiętaj, że zmiany przez ip routeulotne — znikają po restarcie. Trwałą konfigurację robisz w narzędziu danej dystrybucji: Netplan (Ubuntu), NetworkManager (nmcli) na Fedorze/RHEL, albo /etc/network/interfaces na starszym Debianie. Dla IPv6 używasz ip -6 route — sama ip route pokazuje tylko IPv4. I uważaj na flush: ip route flush table main potrafi w sekundę odciąć Ci zdalny serwer od sieci, łącznie z Twoim SSH.

Powiązane komendy: ip addr, ip link, ip neigh, ping, traceroute, ss, a z dawnej epoki route i netstat -r.