Настройка 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 <пароль-к-сети> > /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 <IP-адрес-шлюза>

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

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

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

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

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

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

# ifconfig wlan0 up

или

# ifup wlan0

Вот и всё.

Licensed under GPL v2

Repo link: https://github.com/mnorin/mnorin.github.io