Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

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

Оригинал: How to Connect Wi-Fi from Linux Terminal Using Nmcli Command
Автор: Aaron Kili
Дата публикации: 12 апреля 2018 года
Перевод: А. Кривошей
Дата перевода: апрель 2018 г.

Есть несколько утилит командной строки для управления беспроводными сетевыми интерфейсами в системах 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.


Другие статьи о настройке Wi-Fi в Linux: