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

UnixForum





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

Управление WiFi из командной строки

Оригинал: How to manage a WiFi connection from the command line
Автор: Adrien Brochard
Дата публикации: 14 августа 2014 года
Перевод: А. Кривошей
Дата перевода: декабрь 2014 г.

Когда вы устанавливаете на свой компьютер новый дистрибутив Linux, всегда рекомендуется сначала подключать его к интернету с помощью проводной сети. Для этого есть две веские причины: во-первых, для вашего беспроводного адаптера может не найтись подходящего драйвера в составе дистрибутива, во-вторых, если вы устанавливаете систему без графического интерфейса, настройка Wi Fi в командной строке многих пугает. Я всегда стараюсь избежать общения c Wi Fi в командной строке. Однако в мире Linux нет места страху. Если вы не знаете чего-либо, это отличная причина для того, чтобы изучить этот предмет. Поэтому я переборол себя и решил освоить управление Wi Fi в командной строке Linux.

Конечно, существует несколько способов подключения по Wi Fi в командной строке. Однако для целей этого поста я постараюсь применить основной способ: тот, который использует только программы и утилиты, включенные в набор "пакетов по умолчанию" любого дистрибутива. Очевидно, что преимущество этого способа заключается в том, что его можно воспроизвести потенциально на любом компьютере с любым Linux. Недостаток его в том, что он достаточно сложен.

Итак, во-первых предполагается, что у вас загружены корректные драйверы для вашей беспроводной сетевой карты. Без этого ничего не получится.
Затем вы можете проверить, какие сетевые интерфейсы поддерживают беспроводные соединения, с помощью команды:

$ iwconfig

iwconfig

Как правило, беспроводный интерфейс называется wlan0. Конечно, встречаются исключения, но для целей этого руководства я буду использовать общепринятое обозначение.
На всякий случай проверьте, что интерфейс включен:

$ sudo ip link set wlan0 up

Когда вы знаете, что ваш интерфейс работает, вы можете поискать доступные беспроводные сети с помощью команды:

$ sudo iw dev wlan0 scan | less

поиск доступных сетей

Из вывода вы сможете узнать название сети (SSID), уровень сигнала и тип используемой защиты (то есть WEP, WPA/WPA2). Здесь может быть два варианта. Самый простой и легкий, если сеть не защищена. В этом случае вы можете сразу подключиться к ней:

$ sudo iw dev wlan0 connect [network SSID]

Если в сети используется шифрование WEP, все также достаточно просто:

$ sudo iw dev wlan0 connect [network SSID] key 0:[WEP key]

Но если в сети используются протоколы WPA или WPA2, дело осложняется. В этом случае вам необходимо воспользоваться утилитой wpa_supplicant, которая не всегда предустановлена в системе. Вам необходимо открыть файл /etc/wpa_supplicant/wpa_supplicant.conf и добавить в него следующие строки:

network={
ssid="[network ssid]"
psk="[the passphrase]"
priority=1
}

Я рекомендую добавлять их в конец файла и убедиться, что другие конфигурации закомментированы. Будьте внимательны, так как и ssid и пароль чувствительны к регистру. Вы можете вместо ssid ввести имя точки доступа, а wpa_supplicant заменит его на соответствующий ssid.

После завершения настройки запустите в фоне эту команду:

$ sudo wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf

Теперь вам необходимо получить IP-адрес с помощью команды:

$ sudo dhcpcd wlan0

Если все сделано правильно, вы должны получить новый IP-адрес по DHCP, и процесс будет выполняться в фоне. Вы всегда можете проверить наличие соединения с помощью команды:

$ iwconfig

iwconfig

В заключение, я думаю что освоение этого способа стоит затраченных усилий. Вы никогда не можете быть уверены в том, что вам всегда будет доступен графический интерфейс или проводное соединение, поэтому важно быть готовым к таким ситуациям. Как уже говорилось ранее, имеется множество способов (Network Manager, wicd, netcfg, wifi) управлять беспроводным соединением. Я выбрал самый общий способ, хотя в определенных случаях и утилиты, которые я использовал, могут быть недоступны, и вам потребуется сначала скачать их. С другой стороны, имеются намного более продвинутые программы, которые определенно не включаются в набор пакетов по умолчанию, но сильно упрощают процесс настройки. В любом случае, неплохо изучить основы.