Interfejs CLI do zarządzania NetworkManager
Konfiguracja w systemie Fedora jest zapisywana w katalogu /etc/NetworkManager/system-connections
Konfiguracja nowego połączenia sieciowego
Wyświetlenie wszystkich połączeń sieciowych
nmcli con show NAME UUID TYPE DEVICE eno1 f0b60ece-f8c6-30b4-a003-e3c66913d171 ethernet eno1 eno1 cae71dca-42f4-42d5-9fdd-ae3bd40fa82f ethernet -- eno2 23b66fa1-54c6-48ca-8484-08d5b1cdd9db ethernet -- eno3 691a2ddd-af4a-485a-a556-e8c29c8af34c ethernet -- eno4 206d7537-a56c-4987-9739-649affb76b0c ethernet --
nmcli dev status DEVICE TYPE STATE CONNECTION eno1 ethernet connected eno1 eno2 ethernet unavailable -- eno3 ethernet unavailable -- eno4 ethernet unavailable -- lo loopback unmanaged --
Konfiguracja połączenia eno1
nmcli con mod eno1 ipv4.addresses 192.168.2.20/24 nmcli con mod eno1 ipv4.gateway 192.168.2.1 nmcli con mod eno1 ipv4.dns "194.204.159.1 194.204.152.34" nmcli con mod eno1 ipv4.method manual
Ostatnie polecenia gdzie określamy jak interfejs ma być konfigurowany czyli w tym przypadku manual
jest bardzo istotne. Standardowo jest ustawione na DHCP, i nawet jeśli zostanie nadany statyczny
adres IP to co jakiś czas będzie uruchamiał się client DHCP próbujący uzyskać konfigurację sieciową.
Wygląda to na błąd w systemie NetworkManager.
Zastosowanie zmian dla danego interfejsu
nmcli con up eno1
Tutaj up
oznacza tak naprawdę pobranie zmian i ich zastosowanie, także nie należy się sugerować
słowem up
jako podnoszący interfejs.
Jak już interfejs zostanie skonfigurowany i będzie nawiązane połączenie, każdorazowa zmiana konfiguracji może być potwierdzona za pomocą polecenia
nmcli device reapply eno1
Modyfikacji bramy sieciowej
nmcli connection mod ens224 ipv4.gateway 192.168.1.2 nmcli device reapply ens224
Parametry dla podłączenia z siecią bezprzewodową
-
<wiface>
— nazwa interfejsu wifi -
<ssid>
— SSID sieci wifi do podłączenia -
<pass>
— hasło do sieci wifi
nmcli d wifi connect <ssid> password <pass> iface <wiface>
Rozłączenie z siecią wifi
-
<wiface>
— nazwa interfejsu bezprzewodowego
nmcli d wifi disconnect iface <wiface>
Pobranie stanu sieci wifi (włączona / wyłączona)
nmcli radio wifi
Włączenie / wyłączenie wifi
nmcli radio wifi <on|off>
Wyświetlenie wszystkich dostępnych punktów dostępowych wifi
nmcli dev wifi list
Odświeżenie dostępnych połączeń wifi
nmcli dev wifi rescan
Wyświetlenie wszystkich dostępnych połączeń
nmcli con
Wyświetlenie tylko aktywnych połączeń
nmcli con show --active NAME UUID TYPE DEVICE enp0s25 5fd532fe-6a45-38df-a1c4-33f1a7b7ed9d ethernet enp0s25
Wyświetlenie stanu połączeń
nmcli dev status DEVICE TYPE STATE CONNECTION enp0s25 ethernet connected enp0s25 wlp3s0 wifi disconnected -- lo loopback unmanaged --
Wyświetlenie pojedynczego ustawnia np. adresu IP dla połączenia
nmcli -g ipv4.addresses connection show enp0s3
Wyświetlenie kilku parametrów dla połączenia
nmcli -g ipv4.address,ipv4.dns connection show enp0s3
Dodanie dynamicznego połączenia kablowego
-
<name>
— nazwa połączenia -
<iface_name>
— nazwa interfejsu
nmcli con add type ethernet con-name <name> ifname <iface_name>
Ustawienie adresu IP dla połączenia
nmcli con add type ethernet con-name enp0s3 ifname enp0s3 \ ip4 192.168.88.210/24 gw4 192.168.88.1 ipv4.dns "8.8.8.8 8.8.4.4"
Dodanie kolejnego adresu IP dla połączenia
nmcli con mod enp0s3 +ipv4.address 192.168.6.210/24
Import połączenia OpenVPN z pliku
nmcli con import type openvpn file <path_to_ovpn_file>
Podniesienie (włączenie) kablowego interfejsu sieciowego
nmcli con up <name>
Np. uruchomienie połączenia OpenVPN o nazwie Z-VPN
nmcli con up Z-VPN
Zmiana adresu IP
nmcli con mod enps03 ipv4.addresses 192.168.2.20/24 nmcli connection modify ae6db6d2-1bcf-313d-a9c2-abd45494446a ipv4.address 192.168.1.2/24
Zmiana konfiguracji
Najpierw poszukamy UUID połączenia
sudo nmcli connection show NAME UUID TYPE DEVICE enp0s3 ae6db6d2-1bcf-313d-a9c2-abd45494446a ethernet enp0s3 Wired connection 1 db77a63d-adfd-39f7-8c73-130375406085 ethernet enp0s8
Zmieniamy parametry połczenia
sudo nmcli connection modify ae6db6d2-1bcf-313d-a9c2-abd45494446a ipv4.address 192.168.1.2/24 sudo nmcli connection modify ae6db6d2-1bcf-313d-a9c2-abd45494446a ipv4.gateway 192.168.1.1 sudo nmcli connection modify ae6db6d2-1bcf-313d-a9c2-abd45494446a ipv4.dns 1.1.1.1 sudo nmcli connection modify ae6db6d2-1bcf-313d-a9c2-abd45494446a ipv4.method manual
Teraz należy wykonać restart systemu lub restart ustawień sieciowych.
Restart sieci
Jest to dość ryzykowna operacja zwłaszcza jeśli pracujemy zdalnie, lepiej w miarę możliwości utworzyć dodatkowy interfejs sieciowy i go skonfigurować.
Restart składa się z dwóch poleceń jeśli nie zawrzemy ich jako kolejne operacje możemy stracić połączenie sieciowe.
Teoretycznie można użyć składni &&
jednak jeśli wyłączenie sieci się nie powiedzie
lub trochę się powiedzie :) to jesteśmy w czarnej dupie. Lepiej użyć konstrukcji
z użyciem ;
. Idealinie byłoby to zrobić z konta root
bez angażowania sudo
.
sudo nmcli networking off ; sudo nmcli networking on
Inny sposób, najpierw znaleziemy odpowiednie połączenie, które chcemy zrestartować:
sudo nmcli connection show NAME UUID TYPE DEVICE enp0s3 ae6db6d2-1bcf-313d-a9c2-abd45494446a ethernet enp0s3 Wired connection 1 db77a63d-adfd-39f7-8c73-130375406085 ethernet enp0s8
Jak widać są tu dwa połączenia powiedzmy że nas interesuje restart urządzenia enp0s3
sudo nmcli connection down ae6db6d2-1bcf-313d-a9c2-abd45494446a ; sudo nmcli connection up ae6db6d2-1bcf-313d-a9c2-abd45494446a
Lub jeśli chcemy nanieść tylko zmiany możemy skorzystać z dwóch komend
Komenda up
nmcli con up eno1
Komenda reapply
nmcli device reapply eno1
Zmiana nazwy połączenia
nmcli connection modify "Wired connection 1" connection.interface-name "external-2" nmcli connection modify "Wired connection 1" connection.id "external-2"
Wyłączenie IPv6
IPv6 należy wyłączyć dla każdego połączenia osobno
nmcli connection modify "Wired connection 1" ipv6.method "disabled"
Wyświetlenie pola autoconnect we wszystkich połączeniach
nmcli -f name,autoconnect connection NAME AUTOCONNECT red-5g tak red-new tak vpn tak
Modifikacja pola autoconnect
nmcli connection mod 5b9af44e-e775-4c67-8a26-8e195ed72bba connection.autoconnect yes
Date: 2024-06-04-12:19:07 |