Porady Admina: ip
Ostatnia aktualizacja: 5 listopada 2023, 11:16
W dzisiejszym wpisie z cyklu Porady Admina zajmiemy się poleceniem ip.
ip – pokazuje/manipuluje routingiem, urządzeniami sieciowymi, interfejsami i tunelami. ip to polecenie do konfiguracji interfejsów sieciowych, tablic tras czy tuneli w systemach operacyjnych Linux. W pełni wspiera protokoły IPv4 i IPv6, działa też z gniazdami BSD.
ip jest częścią pakietu narzędzi iproute2. Pakiet iproute2 stanowi zbiór narzędzi do kontrolowania sieci i ruchu w niej. Narzędzia te komunikują się z jądrem Linux poprzez interfejs (rt)netlink, zapewniając zaawansowane funkcje, których nie można było uzyskać za pomocą tradycyjnych narzędzi sieciowych ifconfig czy route.
Składnia
ip [ OPCJE ] OBIEKT [ KOMENDA|pomoc ]
ip [ -force ] -batch nazwa-pliku
Opcje
-V, -Version : Wydrukuj wersję ip i wyjdź.
-h, -human, -human-readable : statystyki wyjściowe z wartościami czytelnymi dla człowieka, po których następuje przyrostek.
-b, -batch
-force : Nie kończ ip w przypadku błędów w trybie wsadowym. Jeżeli podczas wykonywania poleceń wystąpiły błędy, kod powrotu aplikacji będzie różny od zera.
-s, -stats, -statistics : Wyprowadź więcej informacji. Jeśli opcja pojawi się dwa razy lub więcej, ilość informacji wzrasta. Z reguły są to informacje statystyczne lub pewne wartości czasowe.
-d, -details : Wyprowadź bardziej szczegółowe informacje.
-l, -loops
-f, -family
-o, -oneline : Wypisz każdy rekord w jednym wierszu, zastępując znaki końca wiersza znakiem „\”. Jest to wygodne, gdy chcesz policzyć rekordy za pomocą wc lub uzyskać wynik grep.
-r, -resolve : Użyj systemowego modułu rozpoznawania nazw, aby wydrukować nazwy DNS zamiast adresów hostów.
-n, -netns
-N, -Numeric : Wydrukuj bezpośrednio numer protokołu, zakresu, pola dsfield itp. zamiast konwertować go na nazwę czytelną dla człowieka.
-a, -all : Wykonuje określone polecenie na wszystkich obiektach, zależy to od tego czy polecenie obsługuje tę opcję.
-c[color][={always|auto|never} : Skonfiguruj wyjście kolorów. Jeśli parametr zostanie pominięty lub będzie zawsze, wyjście kolorowe będzie włączone niezależnie od stanu wyjścia standardowego. Jeśli parametr ma wartość auto, przed włączeniem wyjścia w kolorze sprawdzane jest czy standardowe wyjście jest terminalem. Jeśli parametr nie ma wartości Never, drukowanie w kolorze jest wyłączone. Jeśli zostanie podany wiele razy, pierwszeństwo ma ostatni. Ta flaga jest ignorowana, jeśli podano także -json. Na używaną paletę kolorów może mieć wpływ zmienna środowiskowa COLORFGBG.
-t, -timestamp : Wyświetla bieżący czas podczas korzystania z opcji monitorowania.
-ts, -tshort : Podobnie jak -timestamp, ale użyj krótszego formatu.
-rc, -rcvbuf
-iec : Wydrukuj współczynniki czytelne dla człowieka w jednostkach IEC (np. 1Ki = 1024).
-br, -brief : Drukuj tylko podstawowe informacje w formie tabelarycznej dla lepszej czytelności. Ta opcja jest obecnie obsługiwana tylko przez polecenia ip addr show, ip link show i ip neigh show.
-j, -json : Wyniki wyjściowe w notacji obiektowej JavaScript (JSON).
-p, -pretty : Domyślny format JSON jest kompaktowy i wydajniejszy w analizie, ale dla większości użytkowników trudny do odczytania. Ta flaga dodaje wcięcie w celu zapewnienia czytelności.
-echo : Poproś jądro o odesłanie zastosowanej konfiguracji z powrotem.
Przykłady
Aby wyświetlić listę interfejsów ze szczegółowymi informacjami, użyj:
ip addr
Jeśli interesują Cię tylko same interfejsy, a nie adresy, możesz zamiast tego użyć polecenia:
ip link
Aby wyświetlić listę interfejsów z krótkimi informacjami o warstwie sieciowej, użyj:
ip -brief addr
Aby wyświetlić tablicę routingu, użyj:
ip route
Aby pokazać sąsiadów (tabelę ARP), użyj:
ip neighbour
Aby ustawić interfejs w górę/w dół, użyj:
ip link set interface up/down
Aby dodać/usunąć adres IP do interfejsu, użyj:
ip addr add/del ip/mask dev interface
Aby dodać trasę domyślną użyj:
ip route add default via ip dev interface
Aby wyłączyć interfejs eth0:
ip link set eth0 down
Tablica routingu zawiera informacje jądra o ścieżkach do innych lokalizacji sieciowych. Możemy wydrukować aktualną tablicę routingu, wpisując:
ip route show
Więcej informacji o poleceniu ip uzyskasz wpisując:
man ip
ip --help