вторник, 22 сентября 2020 г.

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

Есть несколько утилит командной строки для управления беспроводными сетевыми интерфейсами в системах Linux. Некоторые из них, такие как iw, iwlist, ip, ifconfig и другие, могут использоваться только для просмотра состояния интерфейса беспроводной сети.

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

Начните с проверки имени вашего сетевого устройства с помощью приведенной ниже команды. Из вывода этой команды понятно, что имя устройства/интерфейс - wlp1s0.
$ iw dev

phy#0
	Interface wlp1s0
		ifindex 3
		wdev 0x1
		addr 38:b1:db:7c:78:c7
		type managed
Далее проверьте статус подключения 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 сети, а localhost22 - пароль.
$ nmcli dev wifi connect Hackernet password localhost22
Проверьте подключение, выполнив пинг на внешний хост, как показано ниже.
$ 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
Это все! Надеюсь, что эта статья помогла вам настроить Wi-Fi-сеть из командной строки Linux.

Комментариев нет:

Отправить комментарий