Настройка 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. Просмотреть список можно командой

ifconfig -a

Настройка WiFi из командной строки

Если устройство в системе найдено, можно переходить к настройке сети. Для начала просмотрим список доступных локальных сетей:

# iwlist scanning

На экран будет выведен список доступных сетей в виде записей такого вида:

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-клиент:

dhclient wlan0

После получения адреса Интернет может быть недоступен. Необходимо командой route проверить таблицы роутинга. Если шлюз по умолчанию отсутствует, то надо добавить его командой

route add default gateway 

Если адрес указан верно, то вы сможете получить доступ к Интернету. Но обычно DHCP-клиент получает шлюз по умолчанию автоматически

Изменение конфигурационных файлов

Теперь нам необходимо задать в конфигурационных файлах параметры беспроводной сети — название и ключ.

Записываем в файл /etc/network/interfaces следующее:

auto wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

После этого поднимаем сетевой интерфейс:

# ifconfig wlan0 up

или

# ifup wlan0

Вот и всё. Жду ваших комментариев

[wysija_form id=»2″]

Настройка WiFi из командной строки: 9 комментариев

  1. Юрий

    Здравствуйте!
    Проследовал по вашей инструкции вплоть до команды:
    wpa_supplicant -B -iwlan0 -Dwext -c/etc/wpa_supplicant/wpa_supplicant.conf
    и получаю в ответ:
    ioctl [siocsiwencodeext] invalid argument два раза.
    Как такое может быть? Я так понимаю, что дело в конфигурационном файле, но он же создавался автоматически при помощи wpa_passphrase.
    Направьте, пожалуйста, мои стопы.

    1. mnorin Автор записи

      Интерфейс wlan0 при этом поднялся? Видно ли устройство в системе?
      Возможно, вместо -Dwext нужно указать другое значение. Например, –Dnl80211

  2. максим

    как минимум пробелы в командной строке потерял и что такое пароль не рассказал.
    но у меня всё равно не подлючается? ошибка авторизации? пойду рыть в другое место.

    1. Maxim Norin Автор записи

      Подключается ли у вас или нет — вам виднее, я не могу ответить на этот вопрос. По поводу того, ошибка ли это авторизации, ничего сказать не могу, надо хотя бы видеть текст сообщения об ошибке.

  3. a

    Максим, на будущее, если человек пишет много символов вопросов — это он просто клавишу с запятой жмет, не думая. Это не вопросы.

    1. Maxim Norin Автор записи

      Хм. Спасибо. Об этом я как-то не подумал

  4. Владимир

    После первой и второй команды в вашей статье терминал выдал один и тот же ответ open ‘/var/lib/dpkg/status’ : No such file or directory
    Что делать где эти файлы взять? как их в линукс запихнуть? На том же ноуте win7 с wifi работал нормально.
    Можно ли эти файлы написать самому? Где копать? Скажите пожалуйста.

    1. Maxim Norin Автор записи

      Этот файл не надо нигде брать, и создавать тоже не надо, он уже должен быть. Можете уточнить операционную систему и версию?

  5. Михаил

    Спасибо, ваша инструкция помогла!

Обсуждение закрыто.