Настройка Wi-Fi через командную строку — важный навык для любого пользователя Linux. В Arch Linux это делается через wpa_supplicant и dhcpcd. Этот гайд поможет настроить Wi-Fi без графического интерфейса.
sudo pacman -S wpa_supplicant dhcpcd dialog
wpa_supplicant — для аутентификации в Wi-Fi сетяхdhcpcd — DHCP клиент для получения IP-адресаdialog — для интерактивных меню (опционально)Проверьте, какие сетевые интерфейсы доступны:
ip link
Или:
iwconfig
Wi-Fi адаптер обычно называется wlan0, wlp3s0 или wlp2s0.
sudo ip link set wlan0 up
Замените wlan0 на имя вашего адаптера.
sudo iwlist wlan0 scan | grep ESSID
Или через iw:
sudo iw dev wlan0 scan | grep SSID
Создайте конфигурационный файл:
wpa_passphrase "Название_сети" "Пароль" | sudo tee /etc/wpa_supplicant/wpa_supplicant.conf
Пример:
wpa_passphrase "MyWiFi" "mypassword123" | sudo tee /etc/wpa_supplicant/wpa_supplicant.conf
Создайте или отредактируйте файл:
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Добавьте:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=wheel
update_config=1
network={
ssid="Название_сети"
psk="Пароль"
}
Для скрытых сетей добавьте scan_ssid=1:
network={
ssid="Название_сети"
scan_ssid=1
psk="Пароль"
}
Запустите wpa_supplicant:
sudo wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
-B — запуск в фоновом режиме-i wlan0 — интерфейс-c — конфигурационный файлПолучите IP-адрес через dhcpcd:
sudo dhcpcd wlan0
Включите и запустите службы:
sudo systemctl enable wpa_supplicant@wlan0
sudo systemctl start wpa_supplicant@wlan0
sudo systemctl enable dhcpcd@wlan0
sudo systemctl start dhcpcd@wlan0
ip addr show wlan0
ping google.com
Создайте symlink:
sudo ln -s /usr/lib/systemd/system/wpa_supplicant@.service /etc/systemd/system/multi-user.target.wants/wpa_supplicant@wlan0.service
sudo ln -s /usr/lib/systemd/system/dhcpcd@.service /etc/systemd/system/multi-user.target.wants/dhcpcd@wlan0.service
Установите netctl:
sudo pacman -S netctl
Создайте профиль:
sudo cp /etc/netctl/examples/wireless-wpa /etc/netctl/mywifi
Отредактируйте профиль:
sudo nano /etc/netctl/mywifi
Description='My WiFi Network'
Interface=wlan0
Connection=wireless
Security=wpa
ESSID='Название_сети'
Key='Пароль'
IP=dhcp
Включите профиль:
sudo netctl enable mywifi
sudo netctl start mywifi
Проверьте логи:
sudo journalctl -xe
Убедитесь, что интерфейс включён:
sudo ip link set wlan0 up
Проверьте dhcpcd:
sudo dhcpcd -n wlan0
Если не помогает, перезапустите:
sudo systemctl restart dhcpcd@wlan0
Установите firmware:
sudo pacman -S linux-firmware
Перезагрузите систему.
Это распространённая проблема, когда сетевые интерфейсы меняют названия после перезагрузки, ломая скрипты и монтирование. Решения:
sudo nano /etc/udev/rules.d/70-persistent-net.rules
Добавьте:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="mac:адрес:интерфейса", NAME="wlan0"
sudo ln -s /dev/null /etc/systemd/network/99-default.link
Проверьте DNS:
cat /etc/resolv.conf
Добавьте DNS-серверы:
sudo nano /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4
Альтернатива wpa_supplicant — iwd (iwctl):
sudo pacman -S iwd
sudo systemctl enable iwd
sudo systemctl start iwd
Запустите iwctl:
sudo iwctl
Внутри iwctl:
device list
station wlan0 scan
station wlan0 get-networks
station wlan0 connect "Название_сети"
exit
# Проверка статуса Wi-Fi
sudo iw dev wlan0 link
# Показать уровень сигнала
sudo iw dev wlan0 link | grep signal
# Отключиться от сети
sudo ip link set wlan0 down
# Переподключиться
sudo ip link set wlan0 down
sudo ip link set wlan0 up
sudo wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
sudo dhcpcd wlan0
journalctlАвтор: ordanax.github.io
Telegram: @linux4at
MAX: Присоединиться
Комментарии