Поиск по сайту:

Как подключиться к 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-соединениями.

Статьи по данной тематике: