В основному, я хотів би використовувати iwconfig
для підключення до своєї Wi-Fi мережі, коли я не перебуваю всередині X. Але я просто не бачу способу зробити це на сторінці man. Будь-яка ідея?
В основному, я хотів би використовувати iwconfig
для підключення до своєї Wi-Fi мережі, коли я не перебуваю всередині X. Але я просто не бачу способу зробити це на сторінці man. Будь-яка ідея?
Відповіді:
iw
(список / конфігурація) може працювати лише з 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 може оброблятися різними клієнтами / передніми сторонами, такими як GUI мережевого менеджера. Це краще пояснено в цій вікі для debian .
wpa_cli - це командний рядок клієнта wpa_suplicant для управління мережами Wi-Fi.
Редагувати : Я щойно знайшов цю публікацію, в якій пояснюється, як користуватися nmcli, і це набагато краще, ніж wpa_cli, оскільки він сумісний з Менеджером GUI Network і їх налаштуваннями та збереженими мережами 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, але це погане рішення в довгостроковій перспективі, оскільки це буде дуже важко підтримувати і не буде грати добре з дротовим з'єднанням. Прочитайте цю відповідь і полегшіть своє життя, використовуючи Менеджер мережі з командного рядка. Я витрачав години, намагаючись налаштувати wpa_supplicant, потім спробував nmcli, і він "просто працював".
Ви можете використовувати VSWM - дуже простий бездротовий менеджер. Ви розміщуєте відомі AP-файли у простому файлі 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.
Однією з переваг є те, що він використовує конфігурацію, яку ви вже маєте з графічного інтерфейсу, і не потребує кореневого доступу.
Ви можете бігти, nmcli
щоб показати доступні варіанти.
Приклад підключення до wifi з назвою MYESSID:
nmcli c up MYESSID