Podstawy pracy z siecią: komendy ping
, ip addr
, ifconfig
1. Wprowadzenie do pojęć sieciowych: trochę teorii
Na dzisiejszym wykładzie omówimy podstawy pracy z narzędziami sieciowymi Linux. Dowiesz się, jak sprawdzać dostępność hostów sieciowych, analizować stan interfejsów sieciowych i konfiguracji, a także pracować z ustawieniami sieciowymi.
Sieci to układ nerwowy świata IT. Jeśli kiedykolwiek zastanawiałeś się, jak twoja przeglądarka otwiera stronę internetową, oto krótka odpowiedź: dzięki sieci. Niezależnie od roli, jaką będziesz pełnił (deweloper, administrator czy inżynier), zrozumienie podstaw sieci to kluczowa umiejętność.
Czym właściwie jest sieć? To zbiór komputerów połączonych w celu wymiany danych. W kontekście Linuxa administracja sieci zaczyna się od zrozumienia podstawowych pojęć:
- Adres IP: to unikalny identyfikator urządzenia w sieci. Wyobraź sobie, że to jest adres pocztowy twojego komputera.
- Podsieć: logiczne połączenie urządzeń w sieci. To jak dzielnica, w której są domy z adresami.
- Brama: to „wyjście na świat”, przez które urządzenia w twojej lokalnej sieci mogą łączyć się z Internetem lub innymi podsieciami.
Istnieją dwa typy adresów IP: IPv4 (na przykład, 192.168.1.1
) i IPv6 (na przykład, 2001:0db8:85a3:0000:0000:8a2e:0370:7334
). IPv4 jest prostszy i to właśnie z nim będziemy pracować w tym wykładzie. IPv6 to fajny i długoterminowy standard, ale omówimy go później.
2. Komenda ping
: sprawdzanie dostępności węzła
Co robi ping
?
ping
to narzędzie, które sprawdza, czy inny węzeł w sieci jest dostępny. Wysyła mały „list z powitaniem” na docelowy serwer (zapytanie ICMP) i czeka na odpowiedź. Jeśli węzeł odpowie, to wszystko gra; jeśli nie, coś może być nie tak (albo serwer postanowił cię zignorować, cham!).
Jak używać ping
?
Spróbujmy użyć komendy ping
. Otwórz terminal i wpisz następującą komendę:
ping 8.8.8.8
Ta komenda wyśle zapytania do publicznego serwera DNS Google. Zobaczysz coś takiego:
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=10.4 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=117 time=10.2 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=117 time=10.3 ms
Oto co oznaczają te linie:
- icmp_seq: numer wysłanego zapytania.
- ttl: „czas życia” pakietu (ile „skoków” sieciowych może wykonać).
- time: czas (w milisekundach) potrzebny na wysłanie i odebranie odpowiedzi.
Aby ograniczyć liczbę wysyłanych zapytań, możesz użyć flagi -c
:
ping -c 4 8.8.8.8
Ta komenda wyśle tylko 4 zapytania zamiast nieskończonego strumienia.
Praktyka: sprawdzanie połączenia z lokalnym hostem i internetem
Spróbuj ping
z adresem IP twojego routera (zwykle coś w stylu 192.168.1.1
) oraz z 8.8.8.8
. To pomoże ci zrozumieć, czy działa lokalna sieć oraz czy masz dostęp do internetu.
3. Komenda ip addr
: sprawdzamy interfejsy sieciowe
Co to jest interfejs sieciowy?
Interfejs sieciowy — to sposób, w jaki twój komputer „komunikuje się” z siecią. Może to być interfejs dla Ethernet
(połączenie kablowe), WLAN
(połączenie bezprzewodowe) lub wirtualne interfejsy, stworzone do specyficznych zadań.
Komenda ip addr
wyświetla bieżącą konfigurację interfejsów sieciowych. Spróbujmy jej użyć:
ip addr
Wynik będzie wyglądał mniej więcej tak:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic enp0s3
inet6 fe80::1a2b:3c4d:5e6f:f7g8/64 scope link
Co tutaj widzimy:
lo
— to lokalny interfejs (localhost). Jego adres to zawsze127.0.0.1
.enp0s3
— to nazwa interfejsu sieciowego twojego adaptera Ethernet.inet
— adres IPv4 interfejsu.inet6
— adres IPv6 interfejsu.
Jak tymczasowo ustawić adres IP?
Jeśli masz uprawnienia superużytkownika (przez sudo
), możesz tymczasowo ustawić adres IP:
sudo ip addr add 192.168.1.101/24 dev enp0s3
Ten adres IP będzie działał do momentu restartu.
4. Komenda ifconfig
: starsze, ale wciąż popularne narzędzie
Kiedyś do zarządzania interfejsami sieciowymi używano ifconfig
. Teraz stopniowo wychodzi z użycia (zastąpiło je ip addr
), ale czasem nadal można na nie trafić w starszych dystrybucjach.
Sprawdzanie stanu interfejsów
Aby zobaczyć stan interfejsów za pomocą ifconfig
, wykonaj:
ifconfig
Wynik będzie podobny do wyniku komendy ip addr
.
Włączanie/wyłączanie interfejsu
Możesz włączyć lub wyłączyć interfejs za pomocą:
sudo ifconfig enp0s3 down
sudo ifconfig enp0s3 up
Jednak pamiętaj, że ifconfig
nie działa na wszystkich nowoczesnych dystrybucjach. Jeśli komenda nie zostanie znaleziona, spróbuj zainstalować pakiet net-tools
, lub od razu przejdź na ip addr
.
5. Przykład: sprawdzamy dostępność i sieć
Teraz połączmy zdobytą wiedzę w małym praktycznym przykładzie.
Sprawdź dostępność lokalnego interfejsu:
ping 127.0.0.1
Sprawdź adres IP swojej sieci:
ip addr
Spróbuj tymczasowo skonfigurować nowy adres IP:
sudo ip addr add 192.168.1.102/24 dev enp0s3 ip addr show enp0s3
Sprawdź dostępność publicznego hosta:
ping -c 3 8.8.8.8
Jeśli używasz starszej dystrybucji, spróbuj przełączyć interfejs:
sudo ifconfig enp0s3 down sudo ifconfig enp0s3 up
Teraz masz podstawowe narzędzia do diagnozowania sieci w Linux. Polecenia ping
, ip addr
i ifconfig
— to Twoje pierwsze kroki w świat administracji sieciowej. A potem będzie tylko ciekawiej!
GO TO FULL VERSION