- MNorin.com
- Блог про Linux, Bash и другие информационные технологии
- Настройка WiFi из командной строки
- Установка необходимых пакетов
- Проверка беспроводного контроллера
- Настройка WiFi из командной строки
- Изменение конфигурационных файлов
- Похожие посты:
- Настройка WiFi из командной строки : 9 комментариев
- Configure WiFi Connections
- Establish a Wireless Connection
- Connect to a Hidden Network
- Further Information
- 📑 Как настроить wifi из командной строки в Ubuntu
MNorin.com
Блог про Linux, Bash и другие информационные технологии
Настройка WiFi из командной строки
Если вы пользуетесь какой-либо операционной системой на базе ядра linux, то скорее всего уже видели графические приложения для подключения к беспроводными сетям. Но если графического приложения еще нет, и для установки его требуется наличие сети, а для получения доступа к Интернету необходимо подключиться к беспроводной точке, то выход тогда только один — настройка WiFi из командной строки. Или еще пример — настроить сервер по ssh, чтобы он мог работать с беспроводным контроллером.
Установка необходимых пакетов
В первую очередь необходимо проверить, установлены ли пакет wpasupplicant и wireless-tools. Эти пакеты позволят вам подключаться к беспроводным сетям с WPA и WPA2 аутентификацией. В Debian и Ubuntu это делается командами
dpkg -l | grep wpasupplicant dpkg -l | grep wireless-tools
Если пакеты не установлены, то, возможно, поднять беспроводную сеть не получится, если у вас нет другого носителя. Пакеты устанавливаются следующей командой:
apt-get install wpasupplicant wireless-tools
Кроме того, может понадобиться поставить микрокод (firmware) для устройства, установив соответствующий производителю пакет. Микрокод также называют прошивкой, но это не совсем правильно. Микрокод загружается в устройство перед началом работы с ним, а прошивка в устройстве находится постоянно. Для Intel это может быть, например, пакет firmware-iwlwifi из репозитория non-free. Микрокод часто лежит именно в этой ветке репозиториев. Либо это может быть пакет firmware-realtek, либо firmware-linux-free.
Проверка беспроводного контроллера
Перед тем, как пытаться подключаться, нужно убедиться, что система видит WiFi-контроллер и правильно его распознает, для просмотра списка устройств можно использовать команду lspci, в ее выводе должна быть строчка наподобие этой:
03:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8188CE 802.11b/g/n WiFi Adapter (rev 01)
А в списке интерфейсов должен присутствовать соответствующий сетевой интерфейс, обычно это wlan0. Просмотреть список можно командой
Настройка WiFi из командной строки
Если устройство в системе найдено, можно переходить к настройке сети. Для начала просмотрим список доступных локальных сетей:
На экран будет выведен список доступных сетей в виде записей такого вида:
Cell 04 - Address: 64:70:02:A4:D5:4E Channel:2 Frequency:2.417 GHz (Channel 2) Quality=55/70 Signal level=-55 dBm Encryption key:on ESSID:"wireless-net" Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s 9 Mb/s; 12 Mb/s; 18 Mb/s Bit Rates:24 Mb/s; 36 Mb/s; 48 Mb/s; 54 Mb/s Mode:Master Extra:tsf=000000efaa1c94dc Extra: Last beacon: 260ms ago IE: Unknown: 0005616E67656C IE: Unknown: 010882848B960C121824 IE: Unknown: 030102 IE: Unknown: 2A0100 IE: IEEE 802.11i/WPA2 Version 1 Group Cipher : CCMP Pairwise Ciphers (1) : CCMP Authentication Suites (1) : PSK IE: Unknown: 32043048606C IE: Unknown: 2D1AEF1103FFFF0000000000000000000000000000000406E6E70D00 IE: Unknown: 331AEF1103FFFF0000000000000000000000000000000406E6E70D00 IE: Unknown: 3D1602051100000000000000000000000000000000000000 IE: Unknown: 341602051100000000000000000000000000000000000000 IE: Unknown: DD180050F2020101830003A4000027A4000042435E0062322F00 IE: Unknown: DD0900037F01010000FF7F IE: Unknown: DD990050F204104A0001101044000102103B00010310470010000102030405060708090A0B0C0D0E0F1021000754502D4C494E4B10230009544C2D57523834314E10240003382E3010420003312E301054000800060050F204000110110019576972656C65737320526F7574657220544C2D57523834314E100800020086103C000101104900140024E26002000101600000020001600100020001
Из этой информации нам понадобится поле «ESSID», представляющее название точки доступа, в данном случае «wireless-net», а также строчки «IEEE 802.11i/WPA2 Version 1» и «Authentication Suites (1) : PSK». Эти два значения дают нам понимание того, что используется WPA2-PSK аутентификация.
Создаем файл /etc/wpa_supplicant/wpa_supplicant.conf:
wpa_passphrase wireless-net password > /etc/wpa_supplicant/wpa_supplicant.conf
wpa_supplicant -B -iwlan0 -Dwext -c/etc/wpa_supplicant/wpa_supplicant.conf
После этого, если адрес не получен автоматически, вызываем DHCP-клиент:
После получения адреса Интернет может быть недоступен. Необходимо командой route проверить таблицы роутинга. Если шлюз по умолчанию отсутствует, то надо добавить его командой
route add default gateway
Если адрес указан верно, то вы сможете получить доступ к Интернету. Но обычно DHCP-клиент получает шлюз по умолчанию автоматически
Изменение конфигурационных файлов
Теперь нам необходимо задать в конфигурационных файлах параметры беспроводной сети — название и ключ.
Записываем в файл /etc/network/interfaces следующее:
auto wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
После этого поднимаем сетевой интерфейс:
Вот и всё. Жду ваших комментариев
Похожие посты:
Настройка WiFi из командной строки : 9 комментариев
- Юрий01.12.2014 в 19:16 Здравствуйте!
Проследовал по вашей инструкции вплоть до команды:
wpa_supplicant -B -iwlan0 -Dwext -c/etc/wpa_supplicant/wpa_supplicant.conf
и получаю в ответ:
ioctl [siocsiwencodeext] invalid argument два раза.
Как такое может быть? Я так понимаю, что дело в конфигурационном файле, но он же создавался автоматически при помощи wpa_passphrase.
Направьте, пожалуйста, мои стопы.
- mnorin Автор записи 01.12.2014 в 23:04 Интерфейс wlan0 при этом поднялся? Видно ли устройство в системе?
Возможно, вместо -Dwext нужно указать другое значение. Например, –Dnl80211
- Maxim Norin Автор записи 10.07.2017 в 23:20 Подключается ли у вас или нет — вам виднее, я не могу ответить на этот вопрос. По поводу того, ошибка ли это авторизации, ничего сказать не могу, надо хотя бы видеть текст сообщения об ошибке.
- Maxim Norin Автор записи 06.02.2019 в 06:32 Этот файл не надо нигде брать, и создавать тоже не надо, он уже должен быть. Можете уточнить операционную систему и версию?
Configure WiFi Connections
This section explains how to establish a WiFi connection. It covers creating and modifying connections as well as directly connecting.
Establish a Wireless Connection
This section will show how to establish a wifi connection to the wireless network. Note that directly connecting will implicitly create a connection (that can be seen with “nmcli c”). The naming of such will follow “SSID N” pattern, where N is a number.
First, determine the name of the WiFi interface:
$ nmcli d DEVICE TYPE STATE CONNECTION . wlan0 wifi disconnected --
Make sure the WiFi radio is on (which is its default state):
Then, list the available WiFi networks:
$ nmcli d wifi list * SSID MODE CHAN RATE SIGNAL BARS SECURITY . my_wifi Infra 5 54 Mbit/s 89 ▂▄▆█ WPA2
As an example, to connect to the access point ‘my_wifi’, you would use the following command:
$ nmcli d wifi connect my_wifi password
is the password for the connection which needs to have 8-63 characters or 64 hexadecimal characters to specify a full 256-bit key.
Connect to a Hidden Network
A hidden network is a normal wireless network that simply does not broadcast it’s SSID unless solicited. This means that its name cannot be searched and must be known from some other source.
Issue the following command to create a connection associated with a hidden network :
$ nmcli c add type wifi con-name ifname wlan0 ssid $ nmcli c modify wifi-sec.key-mgmt wpa-psk wifi-sec.psk
Now you can establish a connection by typing:
is an arbitrary name given to the connection and is the password to the network. It needs to have between 8-63 characters or 64 hexadecimal characters in order to specify a full 256-bit key.
Further Information
You will find further information and more detailed examples on following pages:
📑 Как настроить wifi из командной строки в Ubuntu
Иногда бывает нужно настроить wifi в Ubuntu сервере, т.е. из командной строки, без графической оболочки (без X-ов). В принципе ничего сложного здесь нет. Рассмотрим подробно весь этот процесс.
В первую очередь необходимо проверить, установлены ли пакет wpasupplicant и wireless-tools. Эти пакеты обеспечивают подключения к к wifi сетям и в частности c с WPA и WPA2 аутентификацией.
Напомним, что технология WPA (Wi-Fi® Protected Access) — это спецификация шифрования данных для беспроводной сети. Она обеспечивает защиту доступа к сети за счет использования протокола EAP (Extensible Authentication Protocol), а также механизм шифрования для защиты данных при передаче.
Технология WPA предназначена для использования с сервером проверки подлинности 802.1X, который распределяет различные ключи каждому пользователю, однако её чаще всего используют без сервера, в менее безопасном режиме «Pre-Shared Key (PSK)». Ключ PSK предназначен для домашних сетей и сетей небольших офисов, где для всех пользователей используется одинаковый пароль.
Протокол WPA-PSK также называется WPA-Personal. Протокол WPA-PSK позволяет беспроводному устройству Brother обмениваться данными с точками доступа при помощи способа шифрования TKIP или AES. Более продвинутый протокол WPA2-PSK позволяет беспроводному устройству обмениваться данными с точками доступа при помощи способа шифрования AES.
Итак проверяем, установлены ли пакеты wpasupplicant и wireless-tools:
$ sudo dpkg -l | grep wpasupplicant $ sudo dpkg -l | grep wireless-tools
Если на выходе не получаем ничего, то пакеты нужно установить:
$ sudo apt-get install wpasupplicant wireless-tools
Кроме того иногда необходимо установить firmware для устройства wifi. Обычно это firmware-realtek, либо firmware-linux-free.
Когда все установлено можно посмотреть список доступных wifi сетей:
Далее необходимо создать файл /etc/wpa_supplicant/wpa_supplicant.conf:
$ sudo touch /etc/wpa_supplicant/wpa_supplicant.conf
и записать туда информацию о сети (SSID) и пароль wpa2-psk:
wpa_passphrase wireless-name password > /etc/wpa_supplicant/wpa_supplicant.conf
wireless-name и password необходимо поменять на свой SSID и пароль.
Затем правим файл /etc/network/interfaces:
$ sudo nano /etc/network/interfaces
auto lo iface lo inet loopback auto wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
и лучше перегрузить компьютер. В этом примере все параметры сети — ip адрес, DNS и т.п. получаются по DHCP. Если необходимо использовать фиксированный IP адрес, то прописываем его явно:
auto lo iface lo inet loopback auto wlan0 iface wlan0 inet static address 192.168.10.7 netmask 255.255.255.0 dns-nameservers 8.8.8.8 gateway 192.168.10.1 wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Естественно все адреса нужно подставить свои. Всё. Должно работать. Если что-то не работает, то нужно разбираться с драйверами wifi карты/устройства. Но это тема другой статьи.
- Установка remmina из ppa в Ubuntu 22.04 или Mint 21
- Исправляем: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg)
- Что такое зомби-процесс в Linux?
- Хитрости командной строки Bash, которые помогут вам работать быстрее
- Команда mkdir в Linux — подробно и с примерами
- Список непечатаемых символов Linux, MacOS или Windows
- Запуск нескольких команд Linux одной составной командой
- Ошибка NO_PUBKEY. Как найти GPG-ключ и добавить его в базу apt системы Ubuntu
- Установка драйвера wifi Asus wl-167g v3 (rtl8192) для Ubuntu 16.04 и 18.04
- Как настроить wifi из командной строки в Ubuntu
- Изменение имени сетевого интерфейса в Ununtu/Mint
- Настройка автозапуска скриптов в Linux Ubuntu/Mint
- Nscd — служба, которая кэширует запросы службы имён
- Почему в меню загрузки ubuntu нет memtest86
- Ethtool — программа изменения параметров сетевой платы в Ubuntu/Mint
- Работа с сервисами в Ubuntu 16.04
- Установка сервера точного времени NTP в Ubuntu 16.04
- Как отключить IPV6 в Ubuntu/Mint
- Отключаем Network Manager в Linux Ubuntu (Mint)
- Изменение разрешения экрана и шрифтов в консоли Ubuntu
- Создание и подключение swap файла
- Ошибка при обновлении ядра
- Блокирование атак при помощи null route или blackhole
- Добавление нового sudo пользователя
- Блокирование ip адреса при помощи iptables
- fail2ban для защиты WordPress
- Ротация логов — logrotate
- Шрифты Windows в Linux системах
- Защита сервера — Fail2Ban
- Изменение пароля в Ubuntu/Mint
- Защита phpMyAdmin
- Русская locale в Ubuntu Server