Подключение к Wi-Fi WPA2 через терминал на сервере Ubuntu 16.04 с помощью WPA_Supplicant

В данном руководстве мы рассмотрим, как осуществить подключение к Wi-Fi сети через командную строку на сервере и настольной версии Ubuntu 16.04, применяя wpa_supplicant.

В современных домашних беспроводных сетях безопасность осуществляется с использованием WPA-PSK (предварительно общий ключ), в отличие от WPA-Enterprise, предназначенного для корпоративного использования. WPA-PSK также называется WPA-Personal. wpa_supplicant представляет собой реализацию компонента WPA supplicant. Суппликант в беспроводной локальной сети — это клиентское программное обеспечение, установленное на устройстве пользователя, которое должно пройти аутентификацию для доступа к сети.

Обратите внимание, что перед подключением к Wi-Fi необходимо установить программное обеспечение wpa_supplicant. Поэтому сначала следует подключиться к проводной сети Ethernet, и это нужно сделать всего один раз. Если этот способ вам не подходит, прошу прощения. Возможно, в будущем Ubuntu изменится.
Подключение к беспроводной сети в Ubuntu через командную строку.

Моя беспроводная карта имеет программное ограничение. Для её разблокировки введите следующую команду:

rfkill unblock wifi

Если вы работаете с десктопной версией Ubuntu, обязательно остановите Network Manager с помощью этой команды, иначе могут возникнуть проблемы с подключением при использовании wpa_supplicant.

sudo systemctl stop NetworkManager

Также требуется деактивировать автоматический запуск NetworkManager при загрузке, введя следующую команду.

sudo systemctl disable NetworkManager

Определите название вашего беспроводного интерфейса и имя сети Wi-Fi.

Используйте команду iwconfig, чтобы определить название вашего беспроводного интерфейса.

iwconfig

wlp3s0 — это название моего беспроводного интерфейса, хотя более известным является wlan0. Также заметно, что в данный момент он не подключён к ни одной сети.

Читайте также:  Freebsd копирование посекторно данных с битого диска

Подключение к терминалу Wi-Fi в Ubuntu.

Если ваш беспроводной интерфейс не виден, его, возможно, потребуется включить с помощью следующей команды.

sudo ifconfig wlp3s0 up

После этого выполните сканирование ближайших беспроводных сетей с помощью следующей команды, чтобы обнаружить название вашей сети. Не забудьте заменить wlp3s0 на имя вашего сетевого интерфейса. ESSID обозначает имя сети.

sudo iwlist wlp3s0 scan | grep ESSID

Подключение к Wi-Fi в Ubuntu 16.04 через командную строку.

Подключение к Wi-Fi сети с помощью wpa_supplicant.

Теперь необходимо установить wpa_supplicant на Ubuntu 16.04.

sudo apt install wpasupplicant

Следует создать файл с названием wpa_supplicant.conf с помощью утилиты wpa_passphrase. Этот файл конфигурации содержит информацию о всех сетях, к которым пользователь планирует подключить свой компьютер. Для его создания выполните следующую команду, заменив ESSID и пароль от Wi-Fi на свои данные.

wpa_passphrase your-ESSID your-passphrase | sudo tee /etc/wpa_supplicant.conf

wpa_passphrase

Учтите, что в приведённом выше скриншоте я об encил свой ESSID в двойные кавычки, так как он содержит пробелы.

Результат будет отправлен в tee, который сохранит его в файле /etc/wpa_supplicant.conf.После этого примените следующую команду, чтобы подключить вашу беспроводную карту к сети.

sudo wpa_supplicant - c /etc/wpa_supplicant.conf - i wlp3s0

По умолчанию wpa_supplicant запускается в интерактивном режиме. Когда соединение будет установлено, откройте новое окно терминала и введите команду.

iwconfig

Теперь вы заметите, что беспроводной интерфейс связан с точкой доступа.

как включить Wi-Fi в Ubuntu через терминал

Чтобы прервать текущий процесс wpa_supplicant и запустить его в фоновом режиме, нажмите CTRL+C и добавьте опцию — B.

sudo wpa_supplicant -B-c /etc/wpa_supplicant.conf - iwlp3s0

Несмотря на то что мы аутентифицированы и присоединены к Wi-Fi сети, IP-адрес пока не назначен. Для получения частного IP-адреса от DHCP-сервера выполните следующую команду:

sudo dhclient wlp3s0

Теперь ваш беспроводной интерфейс получил приватный IP-адрес, который можно отобразить с помощью:

ifconfig wlp3s0

подключение к терминалу Wi-Fi в Ubuntu 16.04

Теперь у вас есть возможность подключиться к сети. Чтобы освободить личный IP-адрес, выполните следующую команду.

Читайте также:  Наилучший способ обмена файлами между Android и Ubuntu Desktop

sudo dhclient wlp3s0 - r

Подключение к невидимой Wi-Fi сети.

Если ваша беспроводная сеть не отображает SSID, добавьте следующую строку в файл /etc/wpa_supplicant.conf.

scan_ssid=1

network=

Автоматическое соединение при старте системы.

Для автоматического подключения к Wi-Fi при загрузке необходимо внести изменения в файл wpa_supplicant.service. Рекомендуется скопировать его из каталога /lib/systemd/system/ в /etc/systemd/system/, а затем произвести редактирование, чтобы новая версия wpa_supplicant не затерла изменения.

Чтобы использовать mDNS, нужно установить avahi-daemon — это открытая реализация mDNS/DNS-SD.

sudo apt install avahi-daemon

Активируйте услугу.

sudo systemctl start avahi-daemon

Активируйте автоматический запуск при старте системы.

sudo systemctl enable avahi-daemon

Avahi-daemon работает на порту UDP 5353, поэтому необходимо разрешить этот порт в брандмауэре. Если вы используете UFW, выполните следующую команду.

sudo ufw allow 5353/udp

Затем задайте уникальное имя хоста для вашего компьютера с Ubuntu, используя команду hostnamectl. Замените «ubuntubox» на желаемое имя хоста, убедившись, что оно не используется другими устройствами в вашей локальной сети.

sudo hostnamectl set-hostname ubuntubox

Теперь необходимо перезапустить avahi-daemon.

sudo systemctl restart avahi-daemon

Если вы выполните проверку статуса с использованием

systemctl status avahi-daemon

Вы сможете увидеть mDNS-имя устройства, оканчивающееся на. local.

avahi-daemon служба mDNS для задания имени хоста

На компьютере клиента также требуется установить программу mDNS/DNS-SD.

  • Пользователям Linux рекомендуется установить avahi-daemon.
  • Для пользователей Windows требуется активировать службу Bonjour, установив Bonjour Print Service или iTunes.
  • На macOS Bonjour установлен по умолчанию.

Вы теперь легко можете использовать сервисы, просто вводя имя хоста ubuntubox. local, без необходимости каждый раз проверять и вводить IP-адрес.

Разблокировка беспроводного интернета на Raspberry Pi

Операционная система Ubuntu ARM для Raspberry Pi по умолчанию отключает беспроводной интерфейс. Чтобы его активировать, выполните следующую команду:

Читайте также:  Как настроить DNS-сервер только для пересылки на Ubuntu и Debian

sudo rfkill unblock wifi

Для разблокировки его во время загрузки необходимо внести изменения в системный юнит wpa_supplicant.service.

sudo nano /etc/systemd/system/wpa_supplicant.service

Измените значение параметра ExecStart на следующее.

ExecStart=/bin/bash - c '/usr/sbin/rfkill unblock wifi && /sbin/wpa_supplicant - u - s - c /etc/wpa_supplicant.conf - i wlan0'

Сохраните файл и закройте его.

Если это не даст результата, вы можете скрыть юнит systemd-rfkill. socket.

sudo systemctl mask systemd-rfkill. socket

Создайте файл rc. local.

sudo nano /etc/rc. local

Включите указанные строки в данный файл.

#!/bin/bash /usr/sbin/rfkill unblock wifi exit 0

Сделайте его выполняемым.

sudo chmod +x /etc/rc. local

В моем тесте команда

rfkill unblock

, используемая в системном юните, не сработала, но успешно функционировала в файле

/etc/rc. local

. Это может быть обусловлено временными настройками. Команду

rfkill unblock

следует выполнять после команды

wpa_supplicant

.

Имейте в виду, что если у вас есть установленная среда рабочего стола, возможно, активен сетевой диспетчер, который может препятствовать подключению. Рекомендуется его отключить. Например, я использую легковесную среду LXQT на Raspberry Pi и мне требуется деактивировать службу connman.service.

sudo systemctl disable connman.service

Советуем для ознакомления

  • Использование Systemd в Linux: управление службами, уровнями загрузки и логами.

Несколько беспроводных сетей.

Конфигурационный файл /etc/wpa_supplicant.conf способен содержать информацию о нескольких сетях Wi-Fi. wpa_supplicant будет автоматически определять наиболее подходящую сеть, опираясь на последовательность блоков сетей в конфигурации, уровень безопасности и мощность сигнала.

Для подключения второй сети Wi-Fi выполните следующие шаги.

wpa_passphrase your-ESSID your-wifi-passphrase | sudo tee - a /etc/wpa_supplicant.conf

Не забудьте применить параметр — a к команде tee, чтобы внести новую сеть Wi-Fi в файл, сохраняя при этом все существующие данные.

Заключение

Надеюсь, данный урок оказал вам помощь в настройке Wi-Fi на сервере с Ubuntu 16.04 через командную строку. Если вам понравилась эта статья, не забудьте подписаться на нашу бесплатную рассылку новостей. Вы также можете следить за нами в Google+, Twitter или поставить лайк нашей странице на Facebook.