Как подключиться к Wi-Fi из терминала Linux с помощью команды Nmcli?
Если вы являетесь пользователем Linux и хотите подключиться к сети Wi-Fi с терминала. Хотя это может показаться пугающим, на самом деле это простой процесс с использованием команды Nmcli. В этой статье я простым и понятным способом познакомлю вас с этапами подключения Wi-Fi с терминала Linux с помощью команд Nmcli. Итак, начнем!
Во-первых, если мы хотим проверить имя нашего сетевого устройства, мы можем просто сделать это, выполнив следующую команду:
$ iw dev
Вы получите такой результат, выполнив команду −
phy#0
Interface wlan0
ifindex 3
wdev 0x1
addr 12:34:56:78:9a:bc
ssid MyWiFiNetwork
type managed
channel 6 (2437 MHz), width: 20 MHz, center1: 2437 MHz
txpower 20.00 dBm
В данном случае имя — wlan0. Пожалуйста, подумайте, что вы получаете.
А затем мы проверим статус нашего сетевого устройства, подключено оно к Wi-Fi или нет. Для этого выполните команду ниже —
iw wlan0 link
Вы получите статус вашего устройства следующим образом:
Not connected.
Прежде чем мы углубимся в это, важно отметить, что не все дистрибутивы Linux поставляются с предустановленной в системе командой Nmcli. Если он не установлен в вашей системе, вы можете установить его с помощью менеджера пакетов. Например, в системах на базе Ubuntu или Debian вы можете установить Nmcli, выполнив в терминале следующую команду −пролет>
sudo apt-get install network-manager
Когда вы запустите приведенную выше команду для установки nmcli, вы получите вывод терминала, похожий на этот:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libnma0 libteamdctl0 network-manager-config-connectivity-ubuntu
network-manager-gnome
Suggested packages:
policykit-1-gnome
The following NEW packages will be installed:
libnma0 libteamdctl0 network-manager network-manager-config-connectivity-ubuntu
network-manager-gnome
0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded.
Need to get 2,793 kB of archives.
After this operation, 11.1 MB of additional disk space will be used.
Do you want to continue? [Y/n]
После установки Nmcli вы можете использовать его для подключения к сетям Wi-Fi. Внимательно следуйте этим инструкциям!!
Шаг 1. Поиск сетей Wi-Fi
Прежде чем подключиться к сети Wi-Fi, вам необходимо узнать ее имя (SSID). Вы можете использовать команду Nmcli для сканирования доступных сетей Wi-Fi, выполнив в терминале следующую команду −
nmcli device wifi list
Запустив эту команду, вы получите вывод, который выглядит следующим образом:
IN-USE SSID MODE CHAN RATE SIGNAL BARS SECURITY
MyWiFiNetwork Infra 6 54 Mbit/s 80 ▂▄▆_ WPA2
OtherWiFiNetwork Infra 11 54 Mbit/s 70 ▂▄__ WPA1 WPA2
PublicWiFi Infra 1 54 Mbit/s 50 ▂▄__ --
В этом выводе перечислены все сети Wi-Fi, которые может обнаружить ваш компьютер, а также их SSID (имя сети), режим (инфраструктура или одноранговый), канал, скорость, уровень сигнала, количество полосок и тип безопасности. В этом примере ваш компьютер в настоящее время подключен к сети под названием «MyWiFiNetwork» с безопасностью WPA2, при этом также обнаружены две другие сети: «OtherWiFiNetwork» с безопасностью WPA1/WPA2 и «PublicWiFi» без безопасности.
ИЛИ
В качестве альтернативы, если вы не хотите использовать команду nmcli для сканирования сети WI-FI, вы можете сделать то же самое с помощью sudo. Для этого команда будет такой −
sudo iw wlan0 scan
Выполнив эту команду, вы получите следующий результат:
BSS 00:11:22:33:44:55 (on wlan0)
freq: 2462
beacon interval: 100 TUs
capability: ESS Privacy ShortPreamble ShortSlotTime (0x0431)
signal: -56.00 dBm
last seen: 204 ms ago
SSID: example_network
DS Parameter set: channel 11
RSN: * Version: 1
* Group cipher: CCMP
* Pairwise ciphers: CCMP
* Authentication suites: PSK
* Capabilities: 16-PTKSA-RC 1-GTKSA-RC (0x000c)
HT capabilities:
Capabilities: 0x11ac
HT20/HT40
SM Power Save disabled
RX Greenfield
RX HT20 SGI
RX HT40 SGI
TX STBC
RX STBC 1-stream
Max AMSDU length: 3839 bytes
No DSSS/CCK HT40
HT operation:
Primary channel: 11
Secondary channel offset: no secondary
HT40: disabled
SSID Length: 14
SSID: example_network
BSS 66:77:88:99:aa:bb (on wlan0)
freq: 2412
beacon interval: 100 TUs
capability: ESS Privacy ShortPreamble ShortSlotTime (0x0431)
signal: -72.00 dBm
last seen: 456 ms ago
SSID: another_network
DS Parameter set: channel 1
HT capabilities:
Capabilities: 0x11ac
HT20/HT40
SM Power Save disabled
RX Greenfield
RX HT20 SGI
RX HT40 SGI
TX STBC
RX STBC 1-stream
Max AMSDU length: 3839 bytes
No DSSS/CCK HT40
HT operation:
Primary channel: 1
Secondary channel offset: no secondary
HT40: disabled
SSID Length: 15
SSID: another_network
Важно отметить, что показанный здесь вывод является лишь примером, и вывод, который вы видите в своей системе, может отличаться в зависимости от вашего конкретного оборудования Wi-Fi и конфигурации системы.
Шаг 2. Подключение к сети Wi-Fi
Если у вас есть SSID сети Wi-Fi, к которой вы хотите подключиться, вы можете использовать команду Nmcli для подключения к ней. Запустите следующую команду в терминале –
nmcli device wifi connect <SSID>
вы получите следующий результат, выполнив эту команду
$ nmcli device wifi connect MyWiFiNetwork
Device 'wlan0' successfully activated with 'd0:53:49:67:8a:16'.
В этом случае мы устанавливаем соединение с сетью Wi-Fi, идентифицируемой SSID «MyWiFiNetwork». Для этого команда nmcli использует устройство wlan0 для подключения к сети. После успешного подключения к сети команда предоставляет обратную связь, подтверждающую, что устройство активировано, а также его уникальный MAC-адрес, который в данном случае — d0:53:49:67:8a:16. Имейте в виду, что точный результат, который вы видите, может отличаться в зависимости от вашей конкретной системы и настроек сети.
Шаг 3. Управление подключениями Wi-Fi
Подключившись к сети Wi-Fi с помощью Nmcli, вы можете управлять своими подключениями с помощью следующих команд −пролет>
Чтобы отключиться от текущей сети Wi-Fi, выполните следующую команду —
nmcli device disconnect
Вот результат —
Если вы ранее были подключены к сети, результат будет аналогичен следующему:
Device 'wlan0' successfully disconnected.
Если вы ранее не были подключены к сети, результат будет аналогичен следующему:
Error: No active connection or device found.
Этот вывод указывает на то, что не было активного сетевого подключения, от которого можно было бы отключиться, или что
-
Чтобы просмотреть список всех сетей Wi-Fi, к которым вы подключались, выполните следующую команду:
nmcli connection show
Вот результат —
NAME UUID TYPE DEVICE
Wired connection 1 12345678-9abc-def0-1234-56789abcdef0 ethernet enp0s25
Wi-Fi network 1 12345678-9abc-def0-1234-56789abcdef1 wifi wlp3s0
Wi-Fi network 2 12345678-9abc-def0-1234-56789abcdef2 wifi wlp3s0
Эта команда выводит список всех сохраненных сетевых подключений в вашей системе, а также их имя, UUID, тип и устройство. В этом примере имеется два сетевых подключения Wi-Fi и одно проводное подключение.
Чтобы удалить сохраненное соединение Wi-Fi, выполните следующую команду –
nmcli connection delete <connection-name>
вот пример вывода терминала для этой команды —
$ nmcli connection delete MyWifiConnection
Connection 'MyWifiConnection' (94e863e8-41dc-4e63-bb02-27cf8c1fcbe0) successfully deleted.
В этом примере мы удаляем соединение Wi-Fi с именем MyWifiConnection, и выходные данные терминала подтверждают, что соединение было успешно удалено. Вывод также включает идентификатор соединения (94e863e8-41dc-4e63-bb02-27cf8c1fcbe0) для соединения, которое было удалено.
Замените <имя-соединения> именем соединения Wi-Fi, которое вы хотите удалить.
Заключение
В заключение отметим, что использование команды Nmcli для подключения к сетям Wi-Fi из терминала Linux — это эффективный и целесообразный способ выхода в Интернет. Следуя инструкциям, изложенным в этой статье, вы сможете без особых усилий сканировать доступные сети Wi-Fi, выбирать нужную сеть и грамотно управлять своими Wi-Fi-соединениями.