Jak używać polecenia ip do zarządzania sieciami w systemie Linux
Najbardziej podstawową częścią administrowania Linuksem i rozwiązywania problemów jest sprawdzenie konfiguracji IP systemu, aby upewnić się, że system ma prawidłowy adres IP i jest dostępny w sieci lokalnej.
Polecenie ip w Linuksie to potężne narzędzie, które nie tylko wyświetla bieżący adres IP systemu, ale także umożliwia przeglądanie i zarządzanie bieżącą konfiguracją interfejsów sieciowych, adresów IP, tras i tabel ARP.
Przyjrzyjmy się niektórym typowym przypadkom użycia polecenia ip w systemie Linux.
Znajdź adres IP w systemie Linux
Aby znaleźć adres IP swojego systemu Linux, użyj polecenia ip, po którym następuje adres , adres lub opcja :
ip address
Spowoduje to wyświetlenie konfiguracji wszystkich interfejsów sieciowych, w tym ich adresów IP.
W poniższym przykładzie widać, że system ma trzy interfejsy sieciowe: lo (adres sprzężenia zwrotnego), ens33 i ens37 . Dane wyjściowe zawierają następujące informacje:
- Informacje warstwy 1, takie jak możliwości interfejsu i stan łączności warstwy fizycznej, MTU, stan operacyjny interfejsu (np. UP lub DOWN) oraz długość kolejki transmisji (qlen).
- Informacje warstwy 2, takie jak adres MAC interfejsu.
- Informacje warstwy 3 obejmują adres IP i jego typ (dynamiczne adresowanie IP lub statyczne adresowanie IP).
Aby wyświetlić krótkie informacje o interfejsach sieciowych, użyj polecenia ip z opcją –brief w następujący sposób:
ip --brief address show
Aby wyświetlić tylko informacje o adresie IPv4, użyj następującego polecenia:
ip -4 addr
Aby znaleźć informacje o adresie IP określonego interfejsu sieciowego, użyj następującej składni:
ip address show dev [interface]
Na przykład, aby wyświetlić adres IP interfejsu sieciowego ens33 , polecenie wyglądałoby następująco:
ip address show dev ens33
Zobacz i zmień adres MAC
Za pomocą polecenia ip możesz także przeglądać i zmieniać adres MAC swojego systemu.
Aby wyświetlić adres MAC swojego systemu Linux, użyj następującego polecenia:
ip --brief link show
Aby wyświetlić adres MAC określonego interfejsu, użyj:
ip --brief link show dev [interface]
Aby zmienić adres MAC, najpierw sprowadź interfejs:
sudo ip link set dev [interface] down
Następnie użyj następującego polecenia, aby zmienić adres MAC interfejsu:
sudo ip link set dev [interface] address [new-mac-adddress]
Następnie wywołaj interfejs:
sudo ip link set dev [interface] up
Wyświetl statystyki interfejsu sieciowego
Za pomocą polecenia ip można również przeglądać statystyki interfejsu sieciowego. Użyj następującego polecenia ip, aby wyświetlić statystyki dla wszystkich interfejsów sieciowych w systemie:
ip -s link
Dane wyjściowe obejmują statystyki, takie jak wysłane i odebrane bajty/pakiety, błędy, porzucone pakiety, multiemisja itp. Aby wyświetlić statystyki dla określonego interfejsu, użyj następującej składni:
ip -s link show dev [interface]
Zmodyfikuj właściwości łącza za pomocą ip
Aby wyświetlić interfejs, użyj następującego polecenia ip:
sudo ip link set [interface] up
Aby obniżyć interfejs, uruchom:
sudo ip link set [interface] down
Możesz także zmienić MTU (maksymalną jednostkę transmisji) interfejsu za pomocą następującego polecenia:
sudo ip link set mtu [number] dev [interface]
Na przykład, aby ustawić MTU interfejsu sieciowego ens33 na 8000 , polecenie wyglądałoby następująco:
sudo ip link set mtu 8000 dev ens33
Dodaj / usuń adres IP w systemie Linux
Aby dodać adres IP do interfejsu sieciowego, użyj następującej składni:
ip addr add [ip-address] dev [interface]
Aby dodać adres IP 192.168.42.140/24 do interfejsu sieciowego ens33 , polecenie wyglądałoby następująco:
ip addr add 192.168.42.140/24 dev ens33
Użyj następującej składni polecenia, aby usunąć adres IP z interfejsu:
ip addr del [ip-address] dev [interface]
Aby usunąć adres IP 192.168.42.140/24 z interfejsu ens33 , polecenie brzmiałoby:
ip addr del 192.168.42.140/24 dev ens33
Wyświetl tabelę routingu w systemie Linux
Polecenie ip route służy do przeglądania i modyfikowania tras w systemie Linux. Aby wyświetlić tablicę routingu swojego systemu, użyj polecenia ip route bez żadnej opcji:
ip route
Każdy wiersz w danych wyjściowych reprezentuje skonfigurowaną trasę. Trasa składa się z docelowego adresu sieciowego, następnego przeskoku (tj. adresu IP routera), interfejsu, przez który pakiet zostanie wysłany, oraz metryki (wartości używanej do określenia preferowanej trasy, gdy istnieje wiele tras dostępne do miejsca docelowego). W tym przypadku preferowana jest trasa o niższej metryce.
W powyższym przykładzie pierwsze dwa wpisy reprezentują trasę domyślną, która jest używana, gdy dla adresu docelowego nie jest dostępna żadna inna trasa. 192.168.42.2 i 192.168.10.1 to adresy IP routera. Dev ens33 i ens37 wskazują interfejs, który będzie używany do wysyłania pakietów do routera. Pola proto dhcp wskazują, że trasa domyślna jest pobierana z DHCP.
Drugi wpis reprezentuje adres APIPA (Automatic Private IP Addressing) 169.254.0.0/16 . Gdy hostowi nie udaje się uzyskać adresu IP z serwera DHCP, przypisuje sobie losowy adres IP z tej sieci. Pozwala im komunikować się z innymi hostami w podsieci, którym również nie udało się uzyskać adresu IP.
Trzeci i czwarty wpis pokazują adresy sieciowe sieci lokalnych, do których podłączony jest system. 192.168.10.0 to sieć, do której podłączony jest interfejs ens37 , a 192.168.42.0 to sieć, do której podłączony jest ens33 .
Pole src wskazuje adres IP interfejsu używanego jako adres źródłowy podczas wysyłania pakietów tą trasą.
Zmodyfikuj tablicę routingu za pomocą ip
Aby ręcznie dodać trasę, użyj polecenia ip route, a następnie docelowego adresu sieciowego i adresu IP bramy:
sudo ip route add [network-id] via [gateway-ip]
Na przykład, aby dodać trasę, która wysyła cały ruch przeznaczony dla sieci 192.168.20.0 do bramy pod adresem 192.168.10.16 , należy użyć następującego polecenia:
sudo ip route add 192.168.20.0/24 via 192.168.10.16
Użyj następującego polecenia, aby dodać domyślną trasę:
sudo ip route add default via [ip-address] dev [interface]
Na przykład, aby dodać domyślną trasę, która kieruje ruch do routera pod adresem 192.168.10.1 przez ens33 , polecenie brzmiałoby:
sudo ip route add default via 192.168.10.1 dev ens33
ip route get [ip-address]
Aby usunąć wpis z tablicy routingu, użyj następującej składni:
sudo ip route delete [network-address] via [gateway-ip]
Możesz także wyświetlić trasę, którą pokonuje adres, używając następującej składni:
ip route get [ip-address]
Zarządzaj tabelą sąsiadów w systemie Linux
Możesz użyć polecenia ip neigh w systemie Linux, aby wyświetlić i zmodyfikować tabelę sąsiadów, znaną również jako tabela ARP. Aby wyświetlić bieżące wpisy w tabeli sąsiadów, użyj następującego polecenia:
ip neigh show
Aby dodać nowy wpis w tabeli sąsiadów, użyj następującej składni:
sudo ip neigh add [ip-address] lladdr [mac-address] dev [interface]
Aby usunąć wpis z tabeli sąsiadów, użyj następującej składni:
sudo ip neigh del [ip-address] dev [interface]
Dodaj kolor do wyjścia polecenia ip
Aby wynik był łatwiejszy i szybszy do zrozumienia, możesz dodać kolor do wyniku polecenia ip za pomocą opcji -c :
ip -c a
Zarządzanie sieciami i adresami IP w systemie Linux
Polecenie ip w systemie Linux jest przydatnym narzędziem do administrowania i rozwiązywania problemów z połączeniami sieciowymi. Od przeglądania interfejsów sieciowych i modyfikowania właściwości łącza po znajdowanie adresów IP i zarządzanie trasami, polecenie ip umożliwia wykonywanie kilku zadań administracyjnych systemu za pośrednictwem wiersza poleceń.
Dodaj komentarz