ip a w Linuksie - jak odczytać adres i sprawdzić trasę

Radosław Stępień • 14 października 2026
Ustawienia sieciowe Wi-Fi, zakładka TCP/IP. Widoczny adres routera: 192.168.1.254.

Spis treści

Serwer nie odpowiada, a w terminalu widzisz kilka interfejsów i kilka adresów. Polecenie ip a pokaże adresy przypisane do interfejsów Linuksa, choć nie zawsze ten, którego szukasz. Adres widoczny na serwerze może być prywatny, a jego obecność sama w sobie nie potwierdza, że działa trasa do sieci.

Terminal showing `ip addr show` command output, listing network interfaces like `lo` and `eth0` with their IP addresses.

Adres interfejsu to dopiero początek diagnozy

  • ip a to skrócona forma polecenia wyświetlającego adresy interfejsów.
  • lo jest interfejsem lokalnym; adres 127.0.0.1 nie jest adresem dostępnym z innego komputera.
  • scope global opisuje zasięg adresu w konfiguracji systemu, ale nie dowodzi, że jest on publicznym adresem internetowym.
  • ip route get pomaga sprawdzić, którędy system wyśle pakiet do wskazanego celu.

ip a pokazuje adresy przypisane do interfejsów

Gdy wpisujesz ip a, prosisz Linuksa o wyświetlenie informacji o adresach sieciowych. To skrót od ip address; możesz też użyć pełnej postaci ip address show. Polecenie odczytuje konfigurację interfejsów, więc zobaczysz zarówno połączenia fizyczne, jak i wirtualne.

Wynik jest pogrupowany według interfejsów, czyli systemowych reprezentacji połączeń sieciowych. Nazwa lo oznacza pętlę zwrotną, a nazwy takie jak ens3 czy wlp2s0 mogą wskazywać odpowiednio kartę sieciową serwera lub Wi-Fi. W środowisku kontenerowym pojawią się też interfejsy wirtualne, na przykład docker0 albo veth....

To, że interfejs jest widoczny, nie oznacza jeszcze, że połączenie działa. Najpierw sprawdź jego stan, a potem odczytaj przypisane adresy.

Adres 127.0.0.1 nie prowadzi do serwera

Wynik potrafi zmylić, gdy pod lo widzisz 127.0.0.1/8 lub ::1/128. Są to adresy pętli zwrotnej: służą do komunikacji z tym samym systemem. Jeśli aplikacja nasłuchuje wyłącznie na 127.0.0.1, inne urządzenie nie połączy się z nią przez adres karty sieciowej.

Przy pozostałych interfejsach zwróć uwagę na wiersze zaczynające się od inet dla IPv4 i inet6 dla IPv6. Przykładowy zapis 192.168.1.24/24 zawiera adres oraz długość prefiksu, która określa część sieciową. Uważam, że przy pierwszym odczycie lepiej szukać właśnie adresu przy właściwym interfejsie, zamiast uznać pierwszy wyświetlony adres za ten, którego potrzebuje aplikacja.

Znaczniki takie jak UP i LOWER_UP opisują stan interfejsu i łącza, a dynamic może wskazywać adres przydzielony dynamicznie. Z kolei scope link przy adresie IPv6 zaczynającym się od fe80:: oznacza adres przeznaczony do komunikacji w obrębie lokalnego łącza. Nie zastępuje on adresu używanego do połączeń poza tym segmentem sieci.

Adres z scope global nie musi być publiczny

Tu często zaczyna się pomyłka: słowo global w wyniku nie gwarantuje, że adres jest osiągalny z internetu. Oznacza zakres adresu w konfiguracji sieciowej, a dostępność z zewnątrz zależy również od tras, zapory, routingu operatora i ewentualnego NAT, czyli translacji adresów.

Przykład: interfejs serwera może mieć adres 10.0.2.15/24 ze znacznikiem scope global, choć ruch do internetu przechodzi przez router, który udostępnia na zewnątrz inny adres. W takiej sytuacji ip a poprawnie pokazuje adres serwera, ale nie odpowiada na pytanie, jaki adres zobaczy zewnętrzny klient. Do tego trzeba sprawdzić także trasę i konfigurację sieci poza samym hostem.

Dokumentacja ip-address(8) w pakiecie iproute2 opisuje polecenie jako narzędzie do wyświetlania i zarządzania adresami przypisanymi do urządzeń. Sam wynik nie stanowi testu dostępności usługi ani potwierdzenia publicznego routingu.

Gdy serwer nie łączy się z siecią, sprawdź interfejs i trasę

Zamiast od razu zmieniać konfigurację, zawęź problem dwoma odczytami. Najpierw wyświetl aktywne interfejsy w krótszej postaci, a potem sprawdź, jak system chce dotrzeć do konkretnego adresu.

ip -br a
ip route
ip route get 1.1.1.1

W pierwszym wierszu komenda ip -br a pokazuje interfejsy i przypisane do nich adresy w formie skróconej. ip route wyświetla tablicę tras, a ip route get 1.1.1.1 wskazuje trasę, interfejs i adres źródłowy wybrane przez system dla tego celu. Według dokumentacji ip-route(8) polecenie get wykonuje wyszukanie trasy dla wskazanego adresu.

Sytuacja Możliwa przyczyna Co sprawdzić
Interfejs ma stan DOWN Interfejs jest wyłączony albo nieaktywne jest połączenie ip link show oraz konfigurację systemu zarządzającego siecią
Przy interfejsie brak wiersza inet Brak adresu IPv4, problem z DHCP lub konfiguracją statyczną ip -4 a i ustawienia DHCP lub NetworkManagera
Adres istnieje, ale ip route nie pokazuje trasy domyślnej System może nie mieć skonfigurowanej drogi do sieci poza lokalnym segmentem Trasę domyślną i konfigurację bramy
ip route get wskazuje nieoczekiwany interfejs lub adres źródłowy Ruch może wychodzić inną kartą, niż zakłada aplikacja Reguły routingu, tablice tras i konfigurację VPN
Adres należy do docker0 lub interfejsu veth... To może być sieć kontenera, a nie interfejs używany przez hosta do połączeń zewnętrznych Adres hosta, trasę oraz konfigurację sieci kontenera

W typowym przypadku serwer pokazuje kilka kart, a aplikacja odpowiada tylko lokalnie. Jeśli jej port nasłuchuje na 127.0.0.1, zmiana adresu interfejsu nie wystarczy: trzeba sprawdzić adres nasłuchu procesu, zaporę i routing. Nie zmieniaj stanu interfejsu przez SSH bez planu awaryjnego, bo odłączenie karty obsługującej sesję może przerwać dostęp do maszyny.

Krótka komenda jest dobra do diagnozy, nie do ślepej zmiany

Do szybkiego odczytu zacznij od ip -br a; gdy potrzebujesz szczegółów, użyj ip a, a przy problemie z wyjściem do sieci dodaj odczyt tras. Taki podział oszczędza czas, bo odróżnia brak adresu od braku drogi do celu, czyli dwóch problemów, które łatwo pomylić.

Wynik polecenia opisuje bieżący stan jądra systemu. Sama obecność adresu nie dowodzi, że aplikacja go używa, że usługa nasłuchuje na właściwym interfejsie ani że ustawienie przetrwa restart. Gdy terminal pokazuje kilka adresów, zacznij od nazwy interfejsu i trasy, a dopiero potem zmieniaj konfigurację.

FAQ - Najczęstsze pytania

Adresy 127.0.0.1/8 i ::1/128 widoczne przy interfejsie lo służą wyłącznie do komunikacji z tym samym systemem. Przy właściwym interfejsie, na przykład ens3 lub wlp2s0, szukaj wierszy inet dla IPv4 i inet6 dla IPv6. Interfejsy takie jak docker0 i veth... mogą dotyczyć sieci kontenerów, a nie głównego połączenia hosta.

Nie. scope global opisuje zakres adresu w konfiguracji systemu, ale nie potwierdza jego publicznej dostępności. Przykładowy adres 10.0.2.15/24 może być prywatnym adresem serwera, podczas gdy router przez NAT udostępnia zewnętrznym klientom inny adres. Trzeba więc uwzględnić trasowanie, zaporę, routing operatora i konfigurację NAT.

Użyj kolejno ip -br a, ip route oraz ip route get 1.1.1.1. Pierwsze polecenie pokazuje interfejsy i adresy w skróconej formie, drugie wyświetla tablicę tras, a trzecie wskazuje trasę, interfejs i adres źródłowy wybrane dla konkretnego celu. Brak trasy domyślnej może oznaczać, że system nie ma drogi poza lokalny segment sieci.

Najpierw sprawdź, czy proces nie nasłuchuje wyłącznie na 127.0.0.1, ponieważ wtedy inne urządzenia nie połączą się przez adres karty sieciowej. Następnie zweryfikuj zaporę i routing. Sama zmiana adresu interfejsu nie wystarczy, jeśli usługa ma niewłaściwy adres nasłuchu.

Oceń artykuł

Ocena: 5.00 Liczba głosów: 2

Tagi

trasowanie
ipv4
ipv6
interfejsy sieciowe
iproute2
Autor Radosław Stępień
Radosław Stępień
Dziedzina programowania i technologii rozwija się w zawrotnym tempie, co sprawia, że ciągłe śledzenie nowinek i głębokie zrozumienie procesów są kluczowe. Nazywam się Radosław Stępień i od 13 lat aktywnie działam w branży IT, dzieląc się swoją wiedzą i doświadczeniem. Moje zainteresowania skupiają się na praktycznych aspektach tworzenia oprogramowania, analizie trendów technologicznych oraz budowaniu satysfakcjonującej ścieżki kariery w tym dynamicznym sektorze. Staram się przedstawiać złożone zagadnienia w sposób przystępny, opierając się na sprawdzonych informacjach i własnych obserwacjach z wieloletniej pracy. Zależy mi na tym, aby treści, które tworzę, były nie tylko merytoryczne i aktualne, ale przede wszystkim pomocne dla każdego, kto chce zgłębić tajniki IT lub rozwijać się zawodowo.

Udostępnij artykuł

Napisz komentarz