подключить Wi-Fi используя терминал Linux с помощью команды Nmcli

В системах *nux существует несколько средств командной строки для управления беспроводным сетевым интерфейсом. Некоторые из них могут использоваться для простого просмотра состояния интерфейса беспроводной сети (будь то «up» или «down«), таких как iw, iwlist, ip, ifconfig и другие.

Некоторые из них используются для подключения к беспроводной сети. Одним из них является nmcli, инструмент командной строки, используемый для создания, отображения, редактирования, удаления, включения и отключения сетевых подключений, а также контроля и отображения состояния сетевого устройства.

Проверка имени вашего сетевого устройства осуществляется с помощью следующей команды:

	 		
$ iw dev
phy#0
Interface wlp1s0
ifindex 3
wdev 0x1
addr 38:b1:db:7c:78:c7
type managed

Из вывода этой команды мы видим, что имя/интерфейс устройства — wlp1s0.

Затем проверяем состояние подключения устройства Wi-Fi, используя следующую команду:

			
iw wlp2s0 link
Not connected.

На выводе выше видно, что устройство не подключено к какой-либо сети. Выполните следующую команду для сканирования доступных сетей Wi-Fi.

				
sudo iw wlp2s0 scan
command failed: Network is down (-100)

Учитывая вывод вышеуказанной команды, сетевое устройство/интерфейс выключено «DOWN«, но можем включить его «UP» с помощью команды ip:

$ sudo ip link set wlp1s0 up

Вывод следующей ошибки означает, что ваш Wi-Fi заблокирован непосредственно на ПК:

				
RTNETLINK answers: Operation not possible due to RF-kill

Чтобы исправить эту ошибку, необходимо выполнить следующую команду:

		
$ echo "blacklist hp_wmi" | sudo tee /etc/modprobe.d/hp.conf
$ sudo rfkill unblock all

Затем попробуйте снова включить сетевое устройство, и на этот раз все должно сработать:

$ sudo ip link set wlp1s0 up

Если вы знаете ESSID сети Wi-Fi, к которой хотите подключиться, перейдите к следующему шагу, в противном случае выполните следующую команду, чтобы снова проверить доступные сети Wi-Fi:

	
$ sudo iw wlp1s0 scan

И, наконец, подключитесь к сети wi-fi, используя следующую команду: Hackernet ( сетевой SSID Wi-Fi) и localhost22 (пароль/предварительно открытый ключ).

	
$ nmcli dev wifi connect Hackernet password localhost22

После выполнения вышеприведенной команды проверьте подключение, выполнив ping на внешнюю машину и проанализируйте её вывод:

	
$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=48 time=61.7 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=48 time=61.5 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=48 time=61.6 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=48 time=61.3 ms
64 bytes from 8.8.8.8: icmp_seq=5 ttl=48 time=63.9 ms
^C
--- 8.8.8.8 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 61.338/62.047/63.928/0.950 ms