Как подключить Wi-Fi через терминал Linux: 3 проверенных метода

Подключение к Wi-Fi через терминал в Linux может показаться сложной задачей для новичков, но на практике это один из самых надёжных способов настройки сети — особенно когда графический интерфейс недоступен или работает некорректно. В отличие от Windows или macOS, где настройка сети обычно сводится к нескольким кликам, в Linux терминал предлагает гибкость и контроль на низком уровне. Здесь нет универсального решения: методы различаются в зависимости от дистрибутива, версии ядра и даже модели Wi-Fi-адаптера.

В этой статье мы разберём три основных подхода: использование NetworkManager (самый универсальный способ), настройку через wpa_supplicant (для систем без NetworkManager) и низкоуровневые команды iwconfig/iw (для опытных пользователей). Каждый метод имеет свои преимущества: например, nmcli подходит для большинства современных дистрибутивов, тогда как wpa_supplicant может спасти ситуацию на минималистичных системах вроде Arch Linux без графической оболочки. А если вам нужно подключиться к скрытой сети или настроить статический IP — без терминала не обойтись.

Прежде чем приступить, убедитесь, что ваш Wi-Fi-адаптер распознан системой. Для этого выполните команду ip a или iwconfig — в выводе должен отобразиться беспроводной интерфейс (обычно wlan0, wlp3s0 или подобный). Если его нет, возможно, требуется установить драйвер (например, для адаптеров Broadcom или Realtek).

📊 Какой дистрибутив Linux вы используете?
Ubuntu/Debian
Arch Linux
Fedora
OpenSUSE
Другой

1. Подключение через NetworkManager (nmcli)

NetworkManager — это стандартный менеджер сетей в большинстве дистрибутивов (Ubuntu, Fedora, Mint и др.). Его утилита командной строки nmcli позволяет управлять подключениями без графического интерфейса. Преимущество метода: поддержка WPA2/3, скрытых сетей и автоматическое получение IP через DHCP.

Чтобы увидеть список доступных сетей, введите:

nmcli dev wifi list

Если команда не работает, сначала активируйте Wi-Fi-адаптер:

nmcli radio wifi on

Для подключения к открытой сети (без пароля):

nmcli dev wifi connect "Имя_сети"

Для защищённой сети (WPA2-PSK):

nmcli dev wifi connect "Имя_сети" password "ваш_пароль"
  • 🔍 Сканирование сетей: Если список пуст, обновите его командой nmcli dev wifi rescan.
  • 🔒 Скрытые сети: Для подключения к скрытой сети добавьте флаг --hidden yes.
  • 📡 Приоритет сети: Чтобы система подключалась к этой сети автоматически, используйте nmcli con mod "Имя_сети" connection.autoconnect yes.
⚠️ Внимание: Если после подключения интернет не работает, проверьте, не блокирует ли фаервол (ufw или firewalld) трафик. Также убедитесь, что в сети включён DHCP — иначе придётся настраивать IP вручную.

Проверьте имя Wi-Fi интерфейса (nmcli dev status)

Убедитесь, что Wi-Fi включён (nmcli radio wifi on)

Запомните точное имя сети (регистр важен!)

Подготовьте пароль (для WPA2/3)

-->

2. Настройка через wpa_supplicant (для систем без NetworkManager)

wpa_supplicant — это демон для управления беспроводными подключениями, который работает на низком уровне. Он незаменим в минималистичных дистрибутивах (например, Arch Linux без NetworkManager) или на серверах. В отличие от nmcli, здесь требуется ручное редактирование конфигурационного файла.

Сначала создайте конфигурационный файл (например, /etc/wpa_supplicant/wpa_supplicant.conf) и добавьте в него данные сети:

network={

ssid="Имя_сети"

psk="ваш_пароль"

key_mgmt=WPA-PSK

}

Для подключения выполните:

wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf

Затем получите IP-адрес через DHCP:

dhclient wlan0
Параметр в wpa_supplicant Описание Пример значения
ssid Имя Wi-Fi сети "MyWiFi"
psk Пароль (для WPA-PSK) "12345678"
key_mgmt Тип аутентификации WPA-PSK или SAE (для WPA3)
priority Приоритет сети (если их несколько) 5

Если сеть использует WPA3, замените key_mgmt=WPA-PSK на key_mgmt=SAE. Для открытых сетей удалите строки с psk и key_mgmt, оставив только ssid.

⚠️ Внимание: Файл wpa_supplicant.conf содержит пароль в открытом виде. Установите права доступа 600, чтобы его не могли прочитать другие пользователи: chmod 600 /etc/wpa_supplicant/wpa_supplicant.conf.
Как подключиться к сети сEnterprise-авторизацией (802.1X)?

Для сетей с авторизацией через RADIUS (например, в университетах или офисах) добавьте в конфиг блок:

network={

ssid="CorpWiFi"

key_mgmt=WPA-EAP

eap=PEAP

identity="ваш_логин"

password="ваш_пароль"

phase2="auth=MSCHAPV2"

}

Здесь eap может быть PEAP, TTLS или TLS (в зависимости от требований сети).

3. Низкоуровневые команды: iwconfig и iw

Утилиты iwconfig (устаревшая) и iw (современная альтернатива) позволяют управлять Wi-Fi-адаптером напрямую. Этот метод подходит для диагностики или когда другие способы не работают. Однако он требует ручной настройки IP и не поддерживает WPA/WPA2 "из коробки" — для шифрования всё равно потребуется wpa_supplicant.

Сначала проверьте состояние адаптера:

iw dev

или (для устаревших систем):

iwconfig

Чтобы подключиться к открытой сети:

iw dev wlan0 connect "Имя_сети"

Для защищённых сетей сначала создайте конфиг для wpa_supplicant (как в предыдущем разделе), затем подключитесь:

wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf

dhclient wlan0

  • 🔄 Смена канала: Если сеть не видна, попробуйте вручную указать канал: iw dev wlan0 set channel 6.
  • 📶 Проверка сигнала: Узнайте уровень сигнала командой iw dev wlan0 link.
  • 🔧 Отладка: Для диагностики используйте dmesg | grep wlan или journalctl -u wpa_supplicant.

4. Настройка статического IP-адреса

По умолчанию Linux получает IP-адрес автоматически через DHCP. Но если требуется задать статический IP (например, для сервера или специфичных сетевых правил), это можно сделать через терминал.

Для систем с NetworkManager:

nmcli con mod "Имя_сети" ipv4.addresses 192.168.1.100/24

nmcli con mod "Имя_сети" ipv4.gateway 192.168.1.1

nmcli con mod "Имя_сети" ipv4.dns "8.8.8.8,8.8.4.4"

nmcli con mod "Имя_сети" ipv4.method manual

nmcli con up "Имя_сети"

Для систем с wpa_supplicant отредактируйте /etc/network/interfaces (Debian/Ubuntu):

auto wlan0

iface wlan0 inet static

address 192.168.1.100

netmask 255.255.255.0

gateway 192.168.1.1

dns-nameservers 8.8.8.8 8.8.4.4

wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

После изменений перезапустите сеть:

systemctl restart networking
⚠️ Внимание: При использовании статического IP убедитесь, что выбранный адрес не конфликтует с другими устройствами в сети (например, не попадает в пул DHCP роутера). Обычно безопасны адреса в диапазоне 192.168.1.100–192.168.1.200.

5. Диагностика проблем с подключением

Если Wi-Fi не подключается, начните с проверки состояния адаптера:

ip link show wlan0

Убедитесь, что интерфейс в состоянии UP. Если нет, активируйте его:

ip link set wlan0 up

Проверьте, видит ли система сети:

iw dev wlan0 scan | grep SSID

Общие причины проблем:

  • 🚫 Драйвер не загружен: Проверьте вывод lsmod | grep iwlwifi (для Intel) или lsmod | grep rtl8xxxu (для Realtek).
  • 🔌 Адаптер отключён: На некоторых ноутбуках Wi-Fi блокируется аппаратным переключателем или сочетанием клавиш (например, Fn+F2).
  • 🔒 Неправильный пароль: Убедитесь, что в конфиге wpa_supplicant пароль указан без кавычек (если они не часть пароля).

Для детальной диагностики запустите wpa_supplicant в режиме отладки:

wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf -d

6. Автоматизация подключения при запуске системы

Чтобы Wi-Fi подключался автоматически при загрузке, настройте автозапуск wpa_supplicant и dhclient через systemd.

Создайте сервисный файл /etc/systemd/system/wpa_supplicant@.service:

[Unit]

Description=WPA supplicant daemon

After=sys-subsystem-net-devices-%i.device

[Service]

Type=simple

ExecStart=/sbin/wpa_supplicant -c /etc/wpa_supplicant/wpa_supplicant.conf -i %i

Restart=always

RestartSec=5

[Install]

WantedBy=multi-user.target

Активируйте сервис:

systemctl enable wpa_supplicant@wlan0

systemctl start wpa_supplicant@wlan0

Для автоматического получения IP добавьте в /etc/network/interfaces строку:

up dhclient wlan0

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

systemctl status wpa_supplicant@wlan0

FAQ: Частые вопросы по подключению Wi-Fi в Linux

Мой Wi-Fi-адаптер не определяется. Что делать?

Сначала проверьте, виден ли адаптер в системе:

lspci | grep -i network

или для USB-адаптеров:

lsusb

Если адаптер не отображается, возможно, требуется установить драйвер. Для Broadcom используйте пакет broadcom-sta-dkms, для Realtek RTL8188EUrtl8188eu-dkms. После установки перезагрузите систему.

Как подключиться к Wi-Fi с captive portal (например, в отеле)?

Сначала подключитесь к сети как обычно (даже если интернет не работает). Затем откройте браузер в терминале с помощью elinks, lynx или w3m:

sudo apt install elinks

elinks http://example.com

Вы будете перенаправлены на страницу авторизации. Введите данные и сохраните куки. Альтернативно можно использовать curl для эмуляции логина (требуется анализ формы авторизации).

Можно ли сохранить пароль Wi-Fi в зашифрованном виде?

Да, wpa_supplicant поддерживает хранение пароля в зашифрованном формате. Сначала сгенерируйте хэш:

wpa_passphrase "Имя_сети" "ваш_пароль"

В выводе будет строка psk=... — скопируйте её в конфиг вместо открытого пароля. Однако помните, что хэш всё равно можно извлечь из файла, поэтому ограничивайте доступ к нему (chmod 600).

Как подключиться к 5 GHz сети, если адаптер её не видит?

Проблема может быть в ограничениях региональных настроек. Проверьте поддерживаемые каналы:

iw list | grep -A 10 "Frequencies"

Если 5 GHz отсутствует, установите правильный регион (например, US):

sudo iw reg set US

sudo systemctl restart NetworkManager

Учтите, что в некоторых странах (например, России) каналы 5 GHz имеют ограничения по мощности и требуют поддержки DFS.

Почему скорость Wi-Fi в Linux ниже, чем в Windows?

Это может быть связано с:

  • Устаревшим драйвером (проверьте версию ядра и обновите её).
  • Отсутствием поддержки 802.11n/ac (проверьте iw list | grep "Supported interface modes").
  • Энергосбережением (отключите его: iw dev wlan0 set power_save off).

Также попробуйте явно указать стандарт Wi-Fi:

sudo iw dev wlan0 set type managed

sudo iw dev wlan0 set channel 36 HT40+