Подключение к интернету в Arch Linux
Для быстрого подключения интернета в 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 сетевые службы могут быть не активированы по умолчанию.
- Обновите систему:
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
- Включите 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
```
- Подключение через 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`.