Настройка WPA-запроса Wi-Fi
Обновлено: 21.11.2024
Официально рекомендуемая операционная система для Raspberry Pi — Raspbian. На Raspbian вы можете очень легко настроить сети Wi-Fi с помощью wpa_supplicant. В этой статье я покажу вам, как настроить Wi-Fi на вашем одноплатном компьютере Raspberry Pi с установленным Raspbian. Я буду использовать Raspberry Pi 3 Model B для демонстрации. Но эта статья должна работать на любой другой версии Raspberry Pi с установленным Raspbian. Итак, приступим.
Если у вас нет монитора, а также кабеля Ethernet, который может автоматически назначать IP-адреса вашему Raspberry Pi через DHCP, вы можете подумать, что у вас нет способа подключить Raspberry Pi к вашему Wi-Fi сеть. Но не теряйте надежды. Есть люди, которые настраивают Raspberry Pi без головы (без монитора). Вы тоже можете. Сначала вставьте карту microSD в компьютер. Затем прошейте карту microSD с ОС Raspbian с помощью Etcher.
Затем извлеките карту microSD и снова вставьте ее в компьютер. Вы найдете загрузочный раздел, как показано на скриншоте ниже. Дважды щелкните по нему.
В этом каталоге вы увидите много файлов. Вам нужно будет создать еще 2 файла в этом каталоге.
Первый файл — ssh (без расширения). Вам не нужно ничего добавлять в этот файл. Файл ssh активирует службу SSH. Без включенного SSH вы не сможете удаленно подключиться к Raspberry Pi. Это будет бесполезно.
Второй файл — wpa_supplicant.conf
В этом файле вам нужно будет ввести необходимую конфигурацию для подключения к сети Wi-Fi. Просто создайте новый файл wpa_supplicant.conf и добавьте в него следующие строки. Обязательно внесите необходимые изменения в зависимости от вашей конфигурации. Наконец, сохраните файл.
country=US
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network = <
ssid = "WIFI_SSID"
scan_ssid = 1
psk = "WIFI_PASSWORD"
key_mgmt =WPA-PSK
>
ПРИМЕЧАНИЕ. Не забудьте изменить WIFI_SSID на SSID вашей сети Wi-Fi, а WIFI_PASSWORD — на пароль вашей сети Wi-Fi.
Теперь извлеките карту microSD из компьютера и вставьте ее в Raspberry Pi. Затем включите Raspberry Pi. Ваш Raspberry Pi должен быть подключен к сети Wi-Fi. Вы можете легко найти IP-адрес, назначенный вашему Raspberry Pi через ваш маршрутизатор Wi-Fi, с панели управления вашего маршрутизатора. У меня получилось 192.168.2.16.
Теперь ваш Raspberry Pi должен быть доступен удаленно через SSH. Имя пользователя по умолчанию — pi, а пароль — raspberry. Чтобы подключиться к Raspberry Pi с помощью SSH в первый раз, выполните следующую команду:
Теперь введите yes и нажмите .
Теперь введите пароль raspberry и нажмите .
Вы должны удаленно подключиться к Raspberry Pi.
Перенастройка конфигурации Wi-Fi на Raspberry Pi:
Если у вас уже есть подключение к сети и вы можете удаленно подключиться к Raspberry Pi через SSH или VNC и хотите изменить конфигурацию Wi-Fi, вам нужно всего лишь отредактировать файл конфигурации wpa_supplicant /etc/wpa_supplicant/wpa_supplicant. .conf
Сначала подключитесь к Raspberry Pi удаленно через SSH или VNC.
Затем отредактируйте файл конфигурации /etc/wpa_supplicant/wpa_supplicant.conf с помощью следующей команды:
Должен быть открыт файл конфигурации wpa_supplicant.conf, как показано на снимке экрана ниже.
Теперь измените параметры подключения к Wi-Fi по мере необходимости и снова сохраните файл, нажав + x, затем нажмите y, а затем . Теперь перезагрузите Raspberry Pi, изменения должны быть применены.
Добавление резервной сети Wi-Fi:
Вы можете добавить информацию о нескольких сетях Wi-Fi на Raspberry Pi. Таким образом, если какой-либо SSID Wi-Fi недоступен, Raspberry Pi попытается подключиться к следующему SSID Wi-Fi. В случае неудачи он попытается подключиться к следующему и так далее. Я думаю, что это замечательная функция wpa_supplicant.
Чтобы добавить резервную сеть Wi-Fi на Raspberry Pi, просто отредактируйте файл конфигурации /etc/wpa_supplicant/wpa_supplicant.conf с помощью следующей команды:
Теперь введите строки, отмеченные на снимке экрана ниже, в том порядке, в котором вы хотите, чтобы Raspberry Pi пытался подключиться к сети Wi-Fi.
Например, предположим, что у вас есть сети Wi-Fi с SSID CSE_LAB1 и HOME1 соответственно. Вы хотите подключиться к Wi-Fi SSID HOME1, когда находитесь дома. Но когда вы находитесь в университете, вы хотите подключиться к Wi-Fi SSID CSE_LAB1. Итак, здесь HOME1 — это ваш основной SSID Wi-Fi, а CSE_LAB1 — ваш дополнительный SSID Wi-Fi. Конфигурационный файл wpa_supplicant.conf в этом случае должен выглядеть следующим образом.
country=US
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network = <
ssid = "HOME1"
scan_ssid = 1
psk = "HOME1_PASS"
key_mgmt =WPA-PSK
>
network = <
ssid = "CSE_LAB1"
scan_ssid = 1
psk = "CSE_LAB1_PASSWORD"
key_mgmt =WPA-PSK
>
Не забудьте перезагрузить Raspberry Pi, чтобы изменения вступили в силу. Итак, вот как вы настраиваете Wi-Fi на своем одноплатном компьютере Raspberry Pi с помощью wpa_supplicant. Спасибо, что прочитали эту статью.
Учебник по настройке Wi-Fi в Linux с помощью wpa_supplicant. Примеры сканирования сетей, настройки сети, подключения к сети и сохранения конфигурации.
Приблизительное время чтения: 5 минут
Оглавление
Как настроить Wi-Fi с помощью wpa_supplicant?
Команда wpa_supplicant поддерживает настройку и администрирование беспроводных сетей в Linux. Сначала необходимо обнаружить беспроводной сетевой интерфейс с помощью команды ip. Затем можно запустить демон wpa_supplicant. Наконец, для подключения к демону и настройки интерфейса можно использовать такой клиент, как wpa_cli.
Как обнаружить сетевой интерфейс
Для настройки беспроводного подключения в Linux необходим сетевой интерфейс. Чтобы обнаружить сетевой интерфейс, используйте команду ip. Запуск ip a покажет все сетевые интерфейсы на машине.
Беспроводной интерфейс на этом компьютере — wlp3s0b1 . Обычно беспроводной интерфейс начинается с «w». Если беспроводной интерфейс отсутствует, а в машине есть карта беспроводной сети, возможно, драйвер для карты беспроводной связи не установлен.
Как использовать wpa_supplicant
Инструмент wpa_supplicant может настраивать сетевые интерфейсы и подключаться к беспроводным сетям. Он предназначен для запуска в качестве демона и другой команды для его подключения. Базовая конфигурация выглядит следующим образом.
В первой строке GROUP=wheel позволяет любому пользователю из группы wheel подключаться к управлению беспроводными соединениями. Чтобы ограничить беспроводное подключение учетной записью root, удалите это. Этот файл должен быть создан как root и сохранен в каталоге /etc/wpa_supplicant. Файл может называться как угодно, но в данном примере он называется example.conf . После создания этого файла wpa_supplicant можно запустить, выполнив следующую команду от имени пользователя root.
Опция -B запускает демон в фоновом режиме. Параметр -i указывает используемый сетевой интерфейс. Это имя интерфейса, обнаруженное с помощью команды ip. Параметр -c указывает используемый файл конфигурации.
Как взаимодействовать с wpa_supplicant с помощью wpa_cli
Команду wpa_cli можно использовать для взаимодействия с wpa_supplicant. Его можно использовать для запроса текущего состояния, изменения конфигурации, запуска событий и запроса интерактивного пользовательского ввода. Если в конфигурации wpa_supplicant установлена опция GROUP=wheel, команду могут запускать пользователи из группы wheel. В противном случае он должен быть запущен от имени пользователя root.
После запуска инструмент будет находиться в интерактивном режиме.
Как сканировать сети с помощью wpa_cli
Для сканирования сетей с помощью wpa_cli в интерактивном запросе сначала запустите сканирование .
После получения события CTRL-EVENT-SCAN-RESULTS запустите scan_results .
Результаты содержат пять столбцов и позволяют увидеть доступные сети. Столбец флагов особенно полезен для демонстрации модели безопасности сети.
Как подключиться к сети с помощью wpa_cli
Чтобы подключиться к сети с помощью wpa_cli, сначала добавьте новую сеть, а затем установите SSID и парольную фразу.
Значение ssid связано со значением ssid, обнаруженным во время сканирования. Значение psk — это предварительный общий ключ для беспроводной сети. После установки этих параметров сеть готова к использованию.
Сетевой интерфейс теперь включен, что можно увидеть с помощью ip a .
Подключение можно проверить, проверив связь с сервером в Интернете.
Если есть ответ, сеть Wi-Fi активна.
Как сохранить конфигурацию wpa_supplicant
Чтобы сохранить wpa_configuration с помощью wpa_cli, используйте save_config в интерактивной подсказке.
Изучение файла конфигурации показывает, что конфигурация сети была записана в файл.
Теперь, если машина перезагружена, wpa_supplicant можно запустить, как и раньше, и он подключится к беспроводной сети MYNETWORK.
Дополнительная литература
У вас есть новости или предложения по этой статье? Вы можете отредактировать его здесь и отправить мне запрос на вытягивание.
Последние публикации
Об авторе
Джордж Орнбо живет в Великобритании.
Он увлекается людьми, музыкой, едой и писательством. В предыдущей версии себя он писал книги по технологиям.
По сути, я хотел бы использовать iwconfig для подключения к моей сети Wi-Fi, когда я не в X. Но я просто не вижу способа сделать это на странице руководства. Есть идеи?
9 ответов 9
iw (list/config) может обрабатывать только WEP.
Вам нужен пакет wpasupplicant, который предоставляет команду wpa_supplicant, при необходимости установите через sudo apt-get install wpasupplicant.
Вы вводите свой SSID и пароль в файл /etc/wpa_supplicant.conf (требуется sudo).
Предположим, что ваш интерфейс wlan0, к которому вы можете подключиться:
"wext" — это драйвер, который будет специфичен для каждой карты; обратитесь к wpa_supplicant -h . Примеры:
хорошо, что iwlist/iwconfig может обрабатывать только WEP, но в моем случае wpa_supplicant -B -iwlan0 -c/etc/wpa_supplicant.conf -Dwext && dhclient wlan0 не подключался к беспроводной сети, хотя по умолчанию NetworkManager меня подключает к сети, я хочу попробовать способ командной строки, есть ли какая-то ошибка, которую я делаю?
@Rinzwind, да. Просмотр справочной страницы wpa_supplicant показывает, что драйвер может отличаться, поэтому ваша команда, скорее всего, не будет работать так, как указано буквально. Вы должны выбрать -D для вашего конкретного оборудования. Для меня это оказалось "nl80211".
Я копирую содержимое сюда, чтобы оно было у нас на случай, если этот сайт отключится.
Командная строка WPA
Иногда вы будете работать в командной строке без доступа к сетевым инструментам с графическим интерфейсом, но ваша точка доступа защищена с помощью WPA. Чем вы занимаетесь?
Предполагая, что ваша беспроводная карта действительно работает (т. е. iwconfig может ее видеть и взаимодействовать с ней), использовать wpa_supplicant на самом деле довольно просто. Установка wpa_supplicant
В настоящее время в большинстве дистрибутивов wpa_supplicant установлен по умолчанию. Если у вас есть команды wpa_passphrase и wpa_supplicant, то все готово. В противном случае вам нужно будет установить пакет, выполнив что-то вроде (для Ubuntu):
Или любая другая команда для вашего дистрибутива.
Создание файла конфигурации
Теперь, когда wpa_supplicant установлен, мы создадим его файл конфигурации. Как только вы узнаете SSID и парольную фразу WPA, все, что вам нужно сделать, это запустить:
Конечно, замените "myrouter" на SSID вашего маршрутизатора, "mypassphrase" на вашу парольную фразу WPA, а "wpa.conf" на любой файл, в котором вы хотите сохранить конфигурацию. Это имя файла не обязательно должно следовать за определенного формата или иметь определенное расширение.
В качестве альтернативы, чтобы избежать ввода парольной фразы в командной строке (чтобы она не сохранялась в истории оболочки), вы можете указать только SSID в командной строке. wpa_passphrase будет ждать, пока вы введете парольную фразу, а затем нажмите Enter:
В итоге у вас должен получиться такой файл:
Подключение
Теперь мы запустим wpa_supplicant для подключения к беспроводной сети. Во-первых, если ваш маршрутизатор транслирует свой SSID (все они делают это по умолчанию), вы, вероятно, захотите убедиться, что ваша беспроводная карта действительно его видит:
Возможно, вам придется запустить это как root, чтобы принудительно обновить.
Далее вам нужно знать три элемента информации:
Теперь, когда у вас есть эти данные, запустите (от имени root):
Между опциями и параметрами нет пробелов. Не включайте скобки, так как я добавил их только для ясности. Например, для моего ноутбука это выглядит так:
Вы также можете запустить его в фоновом режиме, используя параметр -B, чтобы он не занимал вашу консоль.
Теперь вы подключены к сети.
Выход в Интернет
Чтобы выйти в Интернет, вам нужно каким-то образом получить IP-адрес. Большинство людей просто захотят получить динамический IP-адрес от DHCP-сервера, возможно, встроенного в маршрутизатор. (Я не буду описывать установку статического IP-адреса и таблицы маршрутизации, потому что это само по себе чудовищно.)
Чтобы получить аренду DHCP, сначала освободите все аренды, которые вы все еще держите (как root):
Затем запросите новую аренду (конечно, заменив eth1 на имя вашего сетевого устройства, такое же, как вы использовали в предыдущем разделе):
Запрашивающая сторона – это сетевое устройство, которое хочет пройти аутентификацию для доступа к сетевым ресурсам, защищенным стандартным механизмом аутентификации IEEE 802.1X. Wpa_supplicant — это IEEE 802.Запрос 1X с поддержкой аутентификации WPA, WPA2 и WPA3. Клиентские станции используют wpa_supplicant для процесса согласования ключей. Wpa_supplicant также управляет роумингом и процессами ассоциации и аутентификации в беспроводных соединениях.
После прочтения этого руководства вы узнаете, как подключиться к Wi-Fi с помощью wpa_supplicant. После инструкций wpa_supplicant я добавил инструкции по подключению из терминала с использованием альтернатив NMCLI и NMTUI.
Подключение к Wi-Fi с помощью wpa_supplicant
Для начала установите wpa_supplicant, выполнив следующую команду в дистрибутивах Linux на базе Debian.
В дистрибутивах Linux на основе Red Hat вы можете установить wpa_supplicant, выполнив:
Вы можете сканировать доступные сети, запустив:
Как видите, существует сеть под названием LinuxHintessid, которую я буду использовать в этом руководстве.
После того как вы установили wpa_supplicant и определили Essid, к которому хотите подключиться, выполните следующую команду, чтобы добавить ssid и пароль точки доступа в настройки wpa_supplicant.
ПРИМЕЧАНИЕ. Замените LinuxHintessid на свой essid, а LinuxHintKey на свой фактический пароль. Вы можете использовать кавычки для имен сетей с пробелами.
Файл, в котором wpa_supplicants сохраняет учетные данные, называется /etc/wpa_supplicant.conf.
После добавления essid и пароля точки доступа вы можете подключиться к Wi-Fi, выполнив приведенную ниже команду, где -c указывает файл конфигурации, а -i указывает сетевой интерфейс.
Замените wlp3s0 на свой беспроводной интерфейс.
Если вы запустите команду iwconfig, вы увидите, что ваше устройство связано с точкой доступа.
Как видите, устройство связано, но ему не назначен IP-адрес. Чтобы получить IP-адрес и доступ в Интернет, вы можете использовать команду dhclient, как показано ниже.
ПРИМЕЧАНИЕ. Замените wlp3s0 на свою беспроводную карту.
После запуска dhclient вы должны быть подключены к Интернету через соответствующую точку доступа.
Вы также можете попробовать добавить IP-адрес вручную с помощью команды ifconfig, как показано ниже. Для этого вам нужно знать тип сети, к которой вы пытаетесь подключиться.
Подключение к скрытой сети с помощью Wpa_supplicant
Вы можете использовать wpa_supplicant для подключения к скрытым сетям. Для этого вам нужно отредактировать файл конфигурации /etc/wpa_supplicant.conf, прокомментировав ваши текущие строки и добавив следующие строки, затем выполните: wpa_supplicant -c /etc/wpa_supplicant.conf -i wlp3s0, а затем dhclient wlp3s0.
ПРИМЕЧАНИЕ. Замените PutEssidHere и PasswordHere вашим essid и паролем.
Подключение к незащищенной сети с помощью wpa_supplicant
На следующем снимке экрана показано, как настроить wpa_supplicant для подключения к незащищенной сети без пароля. Добавьте следующие строки в файл /etc/wpa_supplicant.conf.
Аутентификация Wep с использованием wpa_supplicant
Следующая конфигурация показывает, как настроить wpa_supplicant для подключения к маршрутизаторам с шифрованием wep. Чтобы подключиться с помощью wep, добавьте следующие строки в файл wpa_supplicant.conf.
Приведенные выше шаги описывают, как подключиться к Wi-Fi с помощью wpa_supplicant. Во всех случаях после редактирования конфигурационного файла нужно выполнить:
ПРИМЕЧАНИЕ. Замените wlp3s0 вашей картой Wi-Fi.
Wpa_supplicant также поддерживает Wi-Fi Protected Setup (WPS), RSN: кэширование PMKSA, предварительную аутентификацию и WPA с EAP («WPA-Enterprise»).
Следующие расширяемые протоколы аутентификации также поддерживаются wpa_supplicant:
Это все на wpa_supplicant.Ниже вы можете найти инструкции по двум альтернативам подключения к Wi-Fi с терминала: nmcli, интерфейс командной строки для Network Manager, и nmtui, интерактивный сетевой менеджер командной строки.
Подключение к Wi-Fi из командной строки с помощью nmcli:
Еще один способ подключиться к Wi-Fi из консоли — это команда NMCLI; интерфейс командной строки для Network Manager. NMCLI позволяет создавать, удалять, редактировать, включать и отключать соединения.
В следующем примере показано, как подключиться к сети LinuxHintessid, чей пароль — LinuxHintkey.
Параметр d wifi указывает беспроводное устройство. Connect LinuxHintessid определяет essid и пароль LinuxHintkey пароль.
Теперь вы подключены.
Примечание. Замените LinuxHintessid на ssid вашего маршрутизатора и ключ Linuxhintkey вместо вашего фактического пароля.
Как подключиться к Wi-Fi из терминала с помощью nmtui:
Nmtui — это еще один вариант подключения к Wi-Fi из командной строки. Это интерактивно. Для запуска выполните команду:
На главном экране выберите «Активировать соединение» и нажмите ENTER.
Nmtui отобразит доступные подключения, включая проводные и беспроводные сети. Выберите сеть, к которой хотите подключиться, и нажмите ENTER.
Nmtui запросит пароль точки доступа. Завершите его и нажмите ENTER, чтобы продолжить.
И вы будете на связи.
Вывод:
Как видите, у пользователей есть разные варианты подключения к Wi-Fi из командной строки. Все они просты в реализации и могут быть изучены пользователем любого уровня.
Wpa_supplicant — самый важный способ, потому что он универсальный, мультиплатформенный и доступен даже для встраиваемых и интегрированных систем и мобильных устройств.
Nmtui и Nmcli также являются отличными инструментами командной строки. Еще проще в использовании, чем wpa_supplicant, так как Nmtui полностью интуитивно понятен.
Я надеюсь, что это руководство было полезным для изучения того, как подключиться к Wi-Fi из командной строки. Продолжайте следовать Linux Hint, чтобы получить дополнительные советы и руководства по Linux.
Об авторе
Дэвид Адамс
Дэвид Адамс — системный администратор и писатель, специализирующийся на технологиях с открытым исходным кодом, программном обеспечении для обеспечения безопасности и компьютерных системах.
Читайте также: