Подключение к интернету в Arch Linux

Иван Корнев·28.04.2026·4 мин

Для быстрого подключения интернета в Arch Linux проще всего использовать NetworkManager. Установите его командой sudo pacman -S networkmanager, запустите сервис sudo systemctl enable --now NetworkManager и подключитесь к Wi-Fi через nmcli device wifi connect "SSID" password "пароль" или к Ethernet кабелем (подключение произойдет автоматически).

Если вы предпочитаете минималистичный подход без лишних демонов, используйте встроенные инструменты: systemd-networkd для Ethernet и iwd или wpa_supplicant для Wi-Fi. Ниже приведены подробные инструкции для обоих сценариев.

Важно: Перед настройкой убедитесь, что ваше сетевое оборудование определяется системой. Выполните ip link или lspci (для PCI-устройств) / lsusb (для USB-адаптеров), чтобы увидеть название интерфейса (например, enp3s0 для Ethernet или wlan0/wlp2s0 для Wi-Fi).

Подготовка системы

В «чистой» установке Arch Linux сетевые службы могут быть не активированы по умолчанию.

  1. Обновите систему:
    sudo pacman -Syu
    ```
2.  **Проверьте наличие драйверов:**
    Для большинства современных чипов (Intel, Atheros) драйверы встроены в ядро (`linux-firmware`). Если у вас специфичный адаптер (например, некоторые Realtek или Broadcom), может потребоваться установка дополнительных пакетов из AUR или репозиториев.
    
```bash
    sudo pacman -S linux-firmware
    ```

## Способ 1: Использование NetworkManager (Рекомендуемый)

Это самый универсальный способ, подходящий как для новичков, так и для опытных пользователей. Он поддерживает Ethernet, Wi-Fi, VPN и мобильный интернет, а также имеет удобные утилиты управления.

### Установка и запуск


```bash
sudo pacman -S networkmanager
sudo systemctl enable --now NetworkManager

Если вы используете графическую среду (GNOME, KDE, XFCE), установите также апплет для трея, например network-manager-applet или plasma-nm, чтобы управлять сетью через интерфейс.

Настройка Ethernet

Обычно достаточно просто подключить кабель. NetworkManager автоматически запросит IP-адрес через DHCP. Проверить статус можно командой:

nmcli general status

Настройка Wi-Fi

  1. Включите Wi-Fi модуль:
    nmcli radio wifi on
    ```
2.  **Просканируйте доступные сети:**
    
```bash
    nmcli device wifi list
    ```
3.  **Подключитесь к сети:**
    Замените `SSID` на имя вашей сети, а `PASSWORD` на пароль.
    
```bash
    nmcli device wifi connect "SSID" password "PASSWORD"
    ```

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

## Способ 2: Минимализм (systemd-networkd + iwd/wpa_supplicant)

Этот метод не требует установки сторонних менеджеров сетей и использует только системные компоненты. Идеально для серверов или легких сборок.

### Настройка Ethernet через systemd-networkd

1.  **Включите сервисы:**
    
```bash
    sudo systemctl enable --now systemd-networkd systemd-resolved
    ```
2.  **Создайте конфигурационный файл:**
    Создайте файл `/etc/systemd/network/20-wired.network` (имя может быть любым, главное расширение `.network`).
    
```ini
    [Match]
    Name=en* # Или конкретное имя интерфейса, например enp3s0

    [Network]
    DHCP=yes
    ```
3.  **Перезапустите сервис:**
    
```bash
    sudo systemctl restart systemd-networkd
    ```

### Настройка Wi-Fi через iwd (современный стандарт)

`iwd` (iNet Wireless Daemon) — это современный демон от Intel, который заменяет устаревший `wpa_supplicant`. Он легче и быстрее.

1.  **Установите и включите iwd:**
    
```bash
    sudo pacman -S iwd
    sudo systemctl enable --now iwd
    ```
Перед включением `iwd` обязательно остановите и замаскируйте `wpa_supplicant`, если он был установлен, так как они конфликтуют за управление интерфейсом.
    sudo systemctl stop wpa_supplicant
    sudo systemctl mask wpa_supplicant
    ```
  1. Подключение через iwctl (интерактивная консоль): Запустите утилиту:
    iwctl
    ```
    Внутри консоли выполните следующие команды:
    
```bash
    # Просмотр устройств
    device list

    # Сканирование сетей (замените wlan0 на ваш интерфейс)
    station wlan0 scan

    # Просмотр найденных сетей
    station wlan0 get-networks

    # Подключение
    station wlan0 connect "SSID"
    # Система запросит пароль
    ```
    Выйдите из консоли комбинацией `Ctrl+D`.

3.  **Настройка DHCP:**
    `iwd` сам по себе не получает IP-адрес. Убедитесь, что `systemd-networkd` настроен на обработку беспроводных интерфейсов.
    Создайте файл `/etc/systemd/network/25-wireless.network`:
    
```ini
    [Match]
    Name=wl*

    [Network]
    DHCP=yes
    ```
    Перезапустите `systemd-networkd`.

### Альтернатива: wpa_supplicant (классический метод)

Если `iwd` не работает с вашим адаптером, вернитесь к `wpa_supplicant`.

1.  **Генерация конфигурации:**
    
```bash
    wpa_passphrase "SSID" "PASSWORD" | sudo tee /etc/wpa_supplicant/wpa_supplicant-wlan0.conf
    ```
2.  **Запуск демона:**
    
```bash
    sudo systemctl enable --now wpa_supplicant@wlan0
    ```
3.  **Получение IP:**
    Используйте `dhcpcd` или `systemd-networkd` (как описано выше для Ethernet), чтобы получить адрес после аутентификации.

## Диагностика проблем

Если интернет не работает, проверьте следующие пункты:

<div class="table-container"><table style="border-collapse: collapse; width: 100%; margin: 16px 0;"><thead><tr><th style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; background: #f9fafb; font-weight: 600;">Проблема</th><th style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; background: #f9fafb; font-weight: 600;">Решение</th></tr></thead><tbody><tr><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;"><strong>Интерфейс не виден</strong></td><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;">Проверьте <code style="background-color: rgba(0,0,0,0.05); padding: 2px 4px; border-radius: 3px; font-family: monospace; font-size: 0.9em;">rfkill list</code>. Если статус <code style="background-color: rgba(0,0,0,0.05); padding: 2px 4px; border-radius: 3px; font-family: monospace; font-size: 0.9em;">blocked</code>, разблокируйте: <code style="background-color: rgba(0,0,0,0.05); padding: 2px 4px; border-radius: 3px; font-family: monospace; font-size: 0.9em;">rfkill unblock wifi</code>.</td></tr><tr><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;"><strong>Нет IP-адреса</strong></td><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;">Проверьте вывод <code style="background-color: rgba(0,0,0,0.05); padding: 2px 4px; border-radius: 3px; font-family: monospace; font-size: 0.9em;">ip addr</code>. Если адреса нет, перезапустите DHCP-клиент (<code style="background-color: rgba(0,0,0,0.05); padding: 2px 4px; border-radius: 3px; font-family: monospace; font-size: 0.9em;">systemctl restart systemd-networkd</code> или <code style="background-color: rgba(0,0,0,0.05); padding: 2px 4px; border-radius: 3px; font-family: monospace; font-size: 0.9em;">dhcpcd</code>).</td></tr><tr><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;"><strong>Пинг идет, сайты не открываются</strong></td><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;">Проблема с DNS. Проверьте <code style="background-color: rgba(0,0,0,0.05); padding: 2px 4px; border-radius: 3px; font-family: monospace; font-size: 0.9em;">/etc/resolv.conf</code>. В случае <code style="background-color: rgba(0,0,0,0.05); padding: 2px 4px; border-radius: 3px; font-family: monospace; font-size: 0.9em;">systemd-resolved</code> создайте симлинк: <code style="background-color: rgba(0,0,0,0.05); padding: 2px 4px; border-radius: 3px; font-family: monospace; font-size: 0.9em;">ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf</code>.</td></tr><tr><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;"><strong>Wi-Fi не подключается</strong></td><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;">Проверьте правильность пароля. Посмотрите логи: <code style="background-color: rgba(0,0,0,0.05); padding: 2px 4px; border-radius: 3px; font-family: monospace; font-size: 0.9em;">journalctl -u iwd -f</code> или <code style="background-color: rgba(0,0,0,0.05); padding: 2px 4px; border-radius: 3px; font-family: monospace; font-size: 0.9em;">journalctl -u NetworkManager -f</code>.</td></tr></tbody></table></div>


## Частые ошибки

1.  **Конфликт сетевых менеджеров.**
    Никогда не запускайте одновременно `NetworkManager`, `systemd-networkd` и `dhcpcd` на одном интерфейсе. Это приведет к нестабильной работе. Выберите один инструмент.
2.  **Отсутствие linux-firmware.**
    Без этого пакета многие Wi-Fi адаптеры будут видны в системе, но не смогут инициализироваться. Всегда устанавливайте его.
3.  **Блокировка rfkill.**
    Иногда Wi-Fi отключается аппаратной кнопкой на ноутбуке или программно. Команда `rfkill unblock all` снимает все блокировки.

## FAQ

**Вопрос: Как сделать так, чтобы Wi-Fi подключался автоматически после перезагрузки?**
Ответ: И `NetworkManager`, и `iwd` + `systemd-networkd` сохраняют настройки подключения. Если вы успешно подключились один раз, повторная авторизация не потребуется.

**Вопрос: Что делать, если скрытая сеть (Hidden SSID)?**
Ответ: В `nmcli`: `nmcli device wifi connect "SSID" password "PASS" hidden yes`. В `iwd`: нужно создать конфигурационный файл вручную в `/var/lib/iwd/SSID.psk`.

**Вопрос: Как проверить скорость интернета из терминала?**
Ответ: Установите утилиту `speedtest-cli` (`sudo pacman -S speedtest-cli`) и запустите команду `speedtest`.