poniedziałek,
Narzędzie nmcli
Nazwa nmcli
to skrót od „Network Manager Command Line Interface”. Jest to narzędzie powłoki dostępne w wielu dystrybucjach Linuksa, które umożliwia użytkownikom konfigurację i zarządzanie siecią za pomocą NetworkManagera. NetworkManager to usługa systemowa, która odpowiada za konfigurację połączeń sieciowych i zarządza nimi w sposób automatyczny, starając się utrzymać urządzenie online, gdy jest to możliwe.
Za pomocą nmcli
możesz wykonywać wiele różnych zadań związanych z siecią, takich jak m.in.:
- wyświetlanie listy dostępnych sieci Wi-Fi;
- połączenie z siecią Wi-Fi;
- konfiguracja ustawień IP dla interfejsów sieciowych;
- zarządzanie profilami sieciowymi;
- włączanie lub wyłączanie połączeń sieciowych;
- sprawdzanie statusu urządzeń sieciowych i połączeń.
W NetworkManager, zmiany wprowadzone za pomocą nmcli
zazwyczaj są aktywowane natychmiast po wykonaniu polecenia, chyba że działania te wymagają dodatkowego potwierdzenia lub ponownego uruchomienia usługi. Warto pamiętać, że nmcli
zapewnia feedback w terminalu po wykonaniu polecenia, informując o statusie operacji. Jeśli zmiany wymagają dodatkowych kroków (jak ponowne połączenie), nmcli zwykle dostarcza stosowne komunikaty.
Modyfikacje wprowadzone za pomocą nmcli
są trwałe i pozostaną aktywne po restarcie komputera. nmcli
manipuluje konfiguracjami NetworkManagera, które są zapisywane na dysku w plikach konfiguracyjnych. Oznacza to, że każda zmiana ustawień sieciowych, takich jak konfiguracja adresu IP, DNS, nazwy połączenia, metody połączenia (np. DHCP lub statyczny adres IP) oraz inne parametry sieciowe, zostanie zachowana między sesjami systemowymi.
NetworkManager jest zaprojektowany do zarządzania siecią w sposób dynamiczny, ale także z myślą o trwałości ustawień. Dlatego, kiedy restartujesz komputer lub usługę NetworkManager, usługa ta wczytuje ustawienia z tych zapisanych konfiguracji, przywracając stan sieci do tego, który został skonfigurowany za pomocą nmcli
lub innych interfejsów zarządzania NetworkManagerem (takich jak graficzne narzędzia konfiguracji sieci).
Zarządzanie siecią za pomocą nmcli często wymaga uprawnień administratora (roota) ze względu na to, że zmiany w konfiguracji sieci mogą wpłynąć na cały system lub dotyczyć zasobów, do których dostęp mają tylko uprzywilejowani użytkownicy. Aby uruchomić nmcli z uprawnieniami administratora, możesz użyć polecenia sudo przed właściwym poleceniem nmcli. Warto zauważyć, że niektóre dystrybucje Linuxa mogą pozwalać na zarządzanie określonymi aspektami sieci bez uprawnień administratora, zwłaszcza w środowiskach desktopowych, jednak dla pełnej kontroli i zarządzania siecią z linii poleceń, zazwyczaj są wymagane uprawnienia administratora.
Przykłady użycia nmcli
Narzędzie nmcli
jest szczególnie przydatne w środowiskach serwerowych, gdzie interfejs graficzny (GUI) nie jest dostępny oraz dla użytkowników, którzy muszą zautomatyzować zadania sieciowe poprzez skrypty lub preferują pracę w terminalu. Oferuje bardzo wiele możliwości, poniżej znajdziesz kilka typowych przykładów.
Tworzenie nowego połączenia Ethernet
nmcli con add type ethernet con-name [nazwa_połączenia] ifname [interfejs]
Przykład:
nmcli con add type ethernet con-name moje_ethernet ifname eth0
Tworzenie nowego połączenia Wi-Fi
nmcli con add type wifi con-name [nazwa_połączenia] ifname [interfejs] ssid [SSID]
Przykład:
nmcli con add type wifi con-name moje_wifi ifname wlan0 ssid MojaSiec
Modyfikowanie istniejącego połączenia
Aby zmodyfikować istniejące połączenie, musisz znać jego nazwę. Wszystkie połączenia możesz wyświetlić, używając polecenia nmcli con show
.
Zmiana adresu IP (statyczny IP):
nmcli con mod [nazwa_połączenia] ipv4.addresses [adres_ip]/[maska]
nmcli con mod [nazwa_połączenia] ipv4.gateway [brama]
nmcli con mod [nazwa_połączenia] ipv4.method manual
Przykład:
nmcli con mod moje_ethernet ipv4.addresses 192.168.1.10/24
nmcli con mod moje_ethernet ipv4.gateway 192.168.1.1
nmcli con mod moje_ethernet ipv4.method manual
Zmiana ustawień DNS
nmcli con mod [nazwa_połączenia] ipv4.dns "[dns1],[dns2]"
Przykład:
nmcli con mod moje_ethernet ipv4.dns "8.8.8.8,8.8.4.4"
Zmiana SSID dla połączenia Wi-Fi
nmcli con mod [nazwa_połączenia] 802-11-wireless.ssid [nowe_SSID]
Przykład:
nmcli con mod moje_wifi 802-11-wireless.ssid NoweSSID
Aktywacja i deaktywacja połączenia
Aktywacja połączenia:
nmcli con up [nazwa_połączenia]
Przykład:
nmcli con up moje_ethernet
Deaktywacja połączenia:
nmcli con down [nazwa_połączenia]
Przykład:
nmcli con down moje_ethernet