Ubuntu: как подключиться к WiFi из консоли

Работа с операционной системой Ubuntu часто требует взаимодействия с командной строкой, особенно когда графический интерфейс недоступен или система работает на сервере без монитора. Подключение к беспроводной сети является первичной задачей, без которой дальнейшая настройка системы, установка пакетов или удаленное управление становятся невозможными. В отличие от десктопных версий, серверные сборки часто лишены графической оболочки NetworkManager по умолчанию, что заставляет администратора использовать текстовые утилиты.

Существует несколько проверенных методов для установления соединения, каждый из которых имеет свои преимущества в зависимости от версии дистрибутива и предпочтений пользователя. Современные версии Ubuntu, начиная с 17.10, используют Netplan как стандартный инструмент конфигурации сети, в то время как более старые методы, такие как /etc/network/interfaces, уходят в прошлое. Однако для временных подключений или диагностики отлично подходят утилиты nmcli и nmtui, которые позволяют управлять сетью динамически без перезагрузки сервисов.

В этом руководстве мы детально разберем алгоритмы действий для различных сценариев, уделив особое внимание синтаксису команд и возможным ошибкам. Вы научитесь не только подключаться к открытым и защищенным сетям, но и правильно настраивать статические IP-адреса, если того требует инфраструктура. Важно понимать, что имя конфигурационного файла в Netplan всегда заканчивается на.yaml, и малейшая ошибка в отступах может привести к неработоспособности сетевого стека.

Идентификация беспроводного интерфейса

Первым шагом передими манипуляциями с сетью является обнаружение имени вашего беспроводного адаптера в системе. Linux присваивает интерфейсам имена, которые могут отличаться от привычных wlan0, особенно на современном оборудовании с предсказуемыми именами интерфейсов. Для получения списка всех сетевых устройств используйте команду ip link или более детальную iw dev, которая покажет именно Wi-Fi адаптеры.

В выводе команды вы увидите имена вроде enp3s0 (для проводных) и wlp2s0 (для беспроводных). Если команда iw не найдена, пакет wireless-tools или iw необходимо будет установить через проводное соединение или с использованием USB-моделя. Отсутствие беспроводного интерфейса в списке часто свидетельствует об отсутствии драйверов или выключенном физическом переключателе на ноутбуке.

⚠️ Внимание: Если интерфейс отображается как DOWN, это не всегда означает ошибку. Часто интерфейс просто deactivated, и его нужно поднять командой sudo ip link set dev имя_интерфейса up перед сканированием сетей.

Для быстрой проверки состояния можно воспользоваться утилитой nmcli, если пакет NetworkManager установлен. Она предоставит сводную информацию о доступных устройствах и их текущем статусе подключения. В списке устройств ищите строку, где тип указан как wifi, а состояние может быть disconnected или connected.

📊 Какой метод настройки сети вы предпочитаете?
Ручной через Netplan (yaml)
Утилиты nmcli/nmtui
Графический интерфейс
Автоматический DHCP

Использование утилиты nmcli для быстрого подключения

Наиболее универсальным и часто используемым инструментом в Ubuntu является nmcli (Network Manager Command Line Interface). Эта утилита позволяет управлять сетевыми соединениями"на лету", не требуя перезагрузки системы или рестарта сетевых служб. Для подключения к известной сети с паролем используется команда коннекта, где указываются имя сети (SSID) и ключ безопасности.

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

nmcli dev wifi connect"Имя_Сети" password"Ваш_Пароль"

После успешного выполнения команды система попытается получить IP-адрес через DHCP и настроить DNS. Если подключение прошло успешно, вы увидите сообщение"Connection successfully activated". В случае ошибки стоит проверить правильность пароля и уровень сигнала, так как nmcli чувствителен к качеству соединения в момент рукопожатия.

☑️ Проверка перед подключением через nmcli

Выполнено: 0 / 4

Настройка Netplan для статических конфигураций

В серверных версиях Ubuntu стандартом де-факто стала утилита Netplan, которая читает конфигурацию из YAML-файлов, расположенных в директории /etc/netplan/. Этот метод идеален для создания постоянных настроек, которые должны сохраняться после перезагрузки сервера. Файлы конфигурации обычно называются 00-installer-config.yaml или 50-cloud-init.yaml.

Структура YAML файла строго требует соблюдения отступов (обычно 2 или 4 пробела), так как использование табов запрещено. В конфигурации необходимо указать рендерер (обычно networkd для серверов), имя интерфейса и параметры IP. Для статического IP-адреса структура будет отличаться от DHCP-клиента.

network:

version: 2

renderer: networkd

ethernets:

wlp2s0:

dhcp4: false

addresses:

- 192.168.1.50/24

routes:

- to: default

via: 192.168.1.1

nameservers:

addresses: [8.8.8.8, 1.1.1.1]

После редактирования файла необходимо применить изменения командой sudo netplan apply. Если синтаксис нарушен, система выдаст ошибку и не применит конфигурацию, что защитит от потери доступа к серверу. Для проверки конфигурации перед применением используйте команду sudo netplan try, которая откатит изменения через 120 секунд, если вы не подтвердите их.

⚠️ Внимание: Интерфейсы в Netplan могут называться иначе, чем в команде ifconfig. Используйте ip link для точного определения имени интерфейса (например, enp0s3 вместо eth0).

Альтернативный метод через wpa_supplicant

В минималистичных сборках Linux или при проблемах с NetworkManager можно использовать напрямую wpa_supplicant. Этот метод более низкоуровневый и требует создания конфигурационного файла с хешем пароля или открытым текстом пароля. Сначала необходимо создать файл конфигурации, например, /etc/wpa_supplicant/wpa_supplicant.conf.

В этот файл добавляется блок network с параметрами SSID и PSK (пароль). Для генерации безопасного хеша пароля можно использовать утилиту wpa_passphrase, которая предотвратит хранение пароля в открытом виде. Команда выглядит как wpa_passphrase"SSID""пароль" >> /etc/wpa_supplicant/wpa_supplicant.conf.

Запуск процесса подключения осуществляется фоновым запуском демона с указанием интерфейса и пути к конфигурации. После этого необходимо поднять интерфейс и запустить DHCP-клиент для получения IP-адреса. Этот метод часто используется в скриптах автоматизации или в очень старых версиях дистрибутивов.

sudo wpa_supplicant -B -i wlp2s0 -c /etc/wpa_supplicant/wpa_supplicant.conf

sudo dhclient wlp2s0

Генерация хеша пароля

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

Диагностика и решение проблем с драйверами

Частой проблемой в Ubuntu является отсутствие проприетарных драйверов для беспроводных карт, особенно Broadcom и некоторых моделей Realtek. Если интерфейс не появляется или не может сканировать сети, необходимо проверить статус драйверов командой lspci -k или lsmod. Отсутствие модуля ядра указывает на необходимость установки пакетов firmware.

Для установки драйверов часто требуется временное подключение через Ethernet кабель или USB-модем (Android/iOS), так как репозитории находятся в интернете. Пакеты обычно называются firmware-b43-installer, firmware-misc-nonfree или аналогично в зависимости от вендора чипсета. После установки может потребоваться перезагрузка или ручная загрузка модуля через modprobe.

Также стоит проверить, не заблокирован ли беспроводной интерфейс программно или аппаратно. Утилита rfkill показывает статус блокировок. Если Soft blocked: yes, разблокировать можно командой sudo rfkill unblock wifi. Hard blocked указывает на физический переключатель или сочетание клавиш Fn.

Таблица сравнения методов подключения

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

Метод Тип конфигурации Сложность Перезагрузка
Инструмент Назначение Уровень Требуется
nmcli Динамическая / Временная Низкая Нет
Netplan Статическая / Постоянная Средняя Желательно
nmtui Интерактивная / Визуальная Низкая Нет
wpa_supplicant Низкоуровневая / Ручная Высокая Нет

Для большинства пользователей серверов оптимальным выбором является связка nmcli для быстрой настройки и Netplan для финальной фиксации настроек в конфигурационных файлах. Это обеспечивает гибкость управления и надежность при перезагрузках. Не забывайте проверять логи системы (/var/log/syslog или journalctl) при возникновении циклических переподключений.

Почему не работает Wi-Fi после обновления ядра?

Обновление ядра Linux может привести к тому, что проприетарные модули драйверов (DKMS) не будут собраны автоматически для новой версии. В этом случае необходимо переустановить пакеты драйверов или явно запустить sudo dkms autoinstall. Также стоит проверить, загружается ли правильный модуль ядра, используя команду lsmod | grep wifi.

Как сохранить пароли Wi-Fi в Ubuntu?

При использовании NetworkManager пароли сохраняются в зашифрованном виде в директории /etc/NetworkManager/system-connections/. Файлы имеют права доступа только для root. Если вы используете wpa_supplicant, пароли хранятся в открытом тексте в конфигурационном файле, если не был использован хеш.

Можно ли подключить Ubuntu к скрытой сети (Hidden SSID)?

Да, это возможно. В nmcli добавьте параметр hidden yes к команде подключения: nmcli con add type wifi ifname wlp2s0 con-name"MyHidden" ssid"HiddenName" wifi-sec.key-mgmt wpa-psk wifi-sec.psk"password" hidden yes. В Netplan также можно указать ssid, даже если сеть не транслирует имя.