В общем, я бы хотел использовать iwconfigдля подключения к моей сети Wi-Fi, когда я не в X. Но я просто не вижу способа сделать это на странице руководства. Любая идея?
В общем, я бы хотел использовать iwconfigдля подключения к моей сети Wi-Fi, когда я не в X. Но я просто не вижу способа сделать это на странице руководства. Любая идея?
Ответы:
iw (list / config) может обрабатывать только WEP.
Вам нужен wpasupplicantпакет, который предоставляет wpa_supplicantкоманду, установите при необходимости через sudo apt-get install wpasupplicant.
Вы вводите свой SSID и пароль в /etc/wpa_supplicant.conf(требуется sudo).
Пример:
network={
ssid="ssid_name"
psk="password"
}
Предполагая, что ваш интерфейс wlan0, вы можете подключиться с:
sudo wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf -D wext
sudo dhclient wlan0
«wext» - это драйвер, который будет специфичным для каждой карты; обратитесь к wpa_supplicant -h. Примеры:
hostap (default) Host AP driver (Intersil Prism2/2.5/3). (this can also be used with Linuxant DriverLoader).
hermes Agere Systems Inc. driver (Hermes-I/Hermes-II).
madwifi MADWIFI 802.11 support (Atheros, etc.).
atmel ATMEL AT76C5XXx (USB, PCMCIA).
wext Linux wireless extensions (generic).
ndiswrapper Linux ndiswrapper.
broadcom Broadcom wl.o driver.
ipw Intel ipw2100/2200 driver.
wired wpa_supplicant wired Ethernet driver
roboswitch wpa_supplicant Broadcom switch driver
bsd BSD 802.11 support (Atheros, etc.).
ndis Windows NDIS driver.
wpa_supplicant -B -iwlan0 -c/etc/wpa_supplicant.conf -Dwext && dhclient wlan0 не подключен к беспроводной сети, хотя по умолчанию NetworkManager подключает меня к сети. Я хочу попробовать способ командной строки. Есть ли какая-то ошибка, которую я делаю?
root(системный администратор). Так что sudo wpa_supplicant -B -iwlan0 -c/etc/wpa_supplicant.conf -Dwext && sudo dhclient wlan0 или разделите их на две команды вокруг &&.
Эта ссылка показывает все это и прекрасно работает для меня: http://linux.icydog.net/wpa.php
Я копирую содержимое здесь, поэтому оно у нас есть на тот случай, если сайт отключится.
Командная строка WPA
Иногда вы будете в командной строке без доступа к сетевым инструментам GUI - но ваша точка доступа защищена с помощью WPA. Чем ты занимаешься?
Предполагая, что ваша беспроводная карта действительно работает (т.е. iwconfig может видеть ее и взаимодействовать с ней), использование wpa_supplicant на самом деле довольно просто. Установка wpa_supplicant
В большинстве дистрибутивов в настоящее время wpa_supplicant установлен по умолчанию. Если у вас есть команды wpa_passphrase и wpa_supplicant, тогда все готово. В противном случае вам нужно будет установить пакет, выполнив что-то вроде (для Ubuntu):
$ sudo apt-get install wpasupplicant
Или (для Fedora):
# yum install wpa_supplicant
Или какая-нибудь команда для вашего дистрибутива.
Генерация файла конфигурации
Теперь, когда wpa_supplicant установлен, мы создадим его файл конфигурации. Когда вы знаете SSID и пароль WPA, все, что вам нужно сделать, это запустить:
$ wpa_passphrase myrouter mypassphrase > wpa.conf
Конечно, замените «myrouter» на SSID вашего маршрутизатора, «mypassphrase» на вашу парольную фразу WPA и «wpa.conf» на любой файл, в котором вы хотите сохранить конфигурацию. Это имя файла не обязательно должно соответствовать определенному формату или иметь конкретное расширение.
В качестве альтернативы, чтобы не вводить фразу-пароль в командной строке (чтобы она не сохранялась в истории оболочки), вы можете указать только SSID в командной строке. wpa_passphrase будет ждать, пока вы наберете парольную фразу с последующим вводом:
$ wpa_passphrase myrouter > wpa.conf
mypassphrase
Вы должны получить файл, похожий на этот:
network={
ssid="myrouter"
#psk="mypassphrase"
psk=8ada1f8dbea59704ac379538b4d9191f6a72390581b4cd7a72864cea685b1a7f
}
На связи
Теперь мы фактически запустим wpa_supplicant для подключения к беспроводной сети. Во-первых, если ваш маршрутизатор передает свой SSID (они все делают по умолчанию), вы, вероятно, захотите убедиться, что ваша беспроводная карта действительно его видит:
$ iwlist scan
Возможно, вам придется запустить это как root, чтобы принудительно обновить.
Далее вам нужно знать три элемента информации:
wpa_supplicant --helpсписок различных драйверов, которые у него есть (в разделе «драйверы:»). По состоянию на 0.5.8, полезные варианты: wext, hostap, madwifi, atmel, ndiswrapper, и ipw(фш это только для старых ядер;> = 2.6.13 следует использовать wext). Если вы не видите конкретного соответствия для вашей карты, попробуйте wext, так как это своего рода универсальное решение.iwconfig. Он сообщит об отсутствии беспроводных расширений для не беспроводных устройств и отобразит некоторые данные для любых беспроводных устройств.Теперь, когда у вас есть эти данные, запустите (с правами root):
# wpa_supplicant -D[driver] -i[device] -c[/path/to/config]
Между параметрами и параметрами нет пробелов. Не включайте скобки, поскольку я только добавил их для ясности. Например, для моего ноутбука это выглядит так:
# wpa_supplicant -Dwext -ieth1 -c/root/wpa.conf
Вы также можете запустить его в фоновом режиме, используя -Bопцию, чтобы он не занимал вашу консоль.
Теперь вы связаны с сетью.
Начало онлайн
Чтобы действительно выйти в интернет, вам нужно как-то получить IP. Большинство людей просто хотят получить динамический IP-адрес от DHCP-сервера, возможно, встроенного в маршрутизатор. (Я не собираюсь рассказывать об установке статического IP-адреса и таблицы маршрутизации, потому что это само по себе чудовище.)
Чтобы получить аренду DHCP, сначала освободите все аренды, которые вы все еще держите (от имени root):
# dhclient -r
Затем попросите новую аренду (конечно, заменив eth1 именем вашего сетевого устройства, которое использовалось в предыдущем разделе):
# dhclient eth1
Теперь у вас есть IP, по крайней мере, в теории. Приятного серфинга!
В Debian и других дистрибутивах wpa_suplicant по умолчанию работает как сервис для управления сетями Wi-Fi. wpa_suplicant может обрабатываться разными клиентами / внешними интерфейсами, такими как графический интерфейс администратора сети. Это лучше объяснено в этой вики Debian .
wpa_cli - это клиент командной строки wpa_suplicant для управления сетями Wi-Fi.
Редактировать : я только что нашел этот пост, объясняющий, как использовать nmcli, и он намного лучше, чем wpa_cli, поскольку он совместим с менеджером сети GUI, их настройками и сохраненными сетями Wi-Fi.
Пример использования wpa_cli :
Проверьте, что у меня уже есть сетевой интерфейс с поддержкой Wi-Fi:
# iwconfig
wlan0 IEEE 802.11bgn ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=22 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:on
Проверьте, запущен ли процесс wpa_suplicant:
# ps -e | grep wpa
1881 ? 00:00:07 wpa_supplicant
Войдите в интерактивный режим клиента wpa:
# wpa_cli
Список доступных точек доступа:
> scan
> scan_results
... и вы получите что-то вроде этого:
bssid / frequency / signal level / flags / ssid
e0:60:66:7c:81:7f 2417 -66 [WPA2-PSK-CCMP][ESS] vodafone817E
e0:60:66:61:83:4b 2452 -76 [WPA2-PSK-CCMP][WPS][ESS] vodafone834A
f8:8e:85:c5:65:c2 2462 -76 [WPA-PSK-CCMP+TKIP][WPS][ESS] MOVISTAR_65C1
a8:d3:f7:46:0c:be 2472 -83 [WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][WPS][ESS] Orange-0CBC
...
Добавьте свой AP:
> add_network
> set_network 0 ssid "vodafone817E"
> set_network 0 psk "my-pass-phrase"
Выберите его как текущий:
> enable_network 0
Подключитесь к нему:
> reconnect
Проверьте статус:
> status
Выход из wpa_cli:
> quit
Из оболочки запросите у DHCP настройки IP и сети:
# dhclient -r
# dhclient wlan0
wpa_cliа потом пишешь wpa_client? На Kubuntu 18.10, wpa_clientкажется, не существует как команда
Сначала поднимите карту, если она не запущена:
ifconfig wlan0 up
Установите параметры в соответствии с вашей сетью
iwlist wlan0 scan
iwconfig wlan0 essid NETWORK_ID key WIRELESS_KEY
На самом деле есть способ сделать это с помощью NetworkManager, если у вас установлен checkboxпакет.
sudo /usr/share/checkbox/create_connection SSID --security=wpa -key=WPA-KEY
(Кредит: ошибка 923836 , которая появилась в моих поисках по теме.)
Все ответы, предлагающие wpa_supplicant, неверны. Да, он может подключить вас к сети WPA, но в конечном итоге это плохое решение, потому что его будет очень сложно поддерживать и он не будет хорошо работать с проводным соединением. Прочитайте этот ответ и сделайте свою жизнь проще, используя Network Manager из командной строки. Я потратил впустую часы, пытаясь настроить wpa_supplicant, затем попробовал nmcli, и он "просто работал".
Вы можете использовать VSWM - Very Simple Wireless Manager. Вы помещаете свои известные точки доступа в простой файл cfg (/etc/vswm.cfg) и при запуске vswmсканируете доступные сети и подключаете свою карту с первым, который появляется в /etc/vswm.cfg.
VSWM доступен по адресу https://github.com/dmelo/vswm . Вот как выглядит файл конфигурации vswm.cfg:
[global]
dev = wlan0
dns = ["4.2.2.1","8.8.8.8"]
[wlan0-0]
ssid = Network1
psk = netpassword
protocol = WPA
net = dhcp
[wlan0-1]
ssid = Network2
protocol = WEP
net = static
address = 192.168.0.15/24
Под капотом он использует стандартные инструменты командной строки: iwlist, wpa_supplicant, iwconfig, dhclient ... Только это автоматизирует работу.
У меня были проблемы с использованием wpa_supplicantнапрямую, чтобы войти в беспроводную сеть. Мой идентификатор сети и пароль генерировали ошибки, когда я использовал wpa_supplicant.confфайл в wpa_supplicantкомандной строке, например
sudo wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf -B
Я смог обойти это wpa_cli. Последовательность команд, которую я должен был использовать, поскольку я использую драйвер Windows с Linux ndiswrapper, выглядит следующим образом:
sudo modprobe ndiswrapper
sudo iwconfig wlan0 essid "<My Network ID>" mode managed
sudo wpa_cli identity "<My Network ID>" password "<My password>"
Я настроил сеть, добавив ее в раздел беспроводных сетей в графическом интерфейсе, чтобы я мог щелкнуть значок проводной или беспроводной сети и выбрать поставщика услуг беспроводной связи (который иногда требовался для завершения входа в систему).
Версия nmcliкомандной строки стандартного приложения сетевого менеджера в Ubuntu.
Некоторые из преимуществ заключаются в том, что он использует конфигурацию, уже имеющуюся у вас в графическом интерфейсе, и ему не требуется root-доступ.
Вы можете запустить, nmcliчтобы показать доступные варианты.
Пример подключения к Wi-Fi с именем MYESSID:
nmcli c up MYESSID