Подключение к 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).
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 RTL8188EU — rtl8188eu-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+