Настройка WiFi на Arch Linux с помощью netctl
.
В примере ниже выполняется настройка подключения к WiFi сети NetName_2.4Ghz, используя iw
и netctl
профайл на Arch Linux (не специфично для этой ОС, аналогично выполняется настройка на любой Linux-системе).
Помимо ручной настройки способо, описанным ниже – можно использовать wifi-menu
, который сгенерирует файл профиля в /etc/netctl
.
Устанавливаем iw
:
[simterm]
$ sudo pacman -S iw
[/simterm]
Находим интерфейсы, используя iw
(или обычным ifconfig
):
[simterm]
$ iw dev phy#0 Unnamed/non-netdev interface wdev 0x3 addr 10:f0:05:64:0a:74 type P2P-device txpower 0.00 dBm Interface wlp2s0 ifindex 3 wdev 0x1 addr 10:f0:05:64:0a:73 ssid NetName_2.4Ghz type managed channel 11 (2462 MHz), width: 20 MHz, center1: 2462 MHz txpower 22.00 dBm
[/simterm]
Находим список WiFi сетей:
[simterm]
$ sudo iw dev wlp2s0 scan | grep SSID SSID: VB_Dev_Test_2.4Ghz SSID: NetName_2.4Ghz ...
[/simterm]
Копируем netctl
профайл:
[simterm]
$ sudo cp /etc/netctl/examples/wireless-wpa /etc/netctl/setevoy-gen
[/simterm]
Создаём обфусцированный пароль (pre-shared-key):
[simterm]
$ wpa_passphrase NetName_2.4Ghz # reading passphrase from stdin pass network={ ssid="NetName_2.4Ghz" #psk="pass" psk=d09***9e6 }
[/simterm]
Редактируем /etc/netctl/setevoy-gen
, в Key задаём ключ:
Description='A simple WPA encrypted wireless connection' Interface=wlp2s0 Connection=wireless Security=wpa IP=dhcp ESSID='NetName_2.4Ghz' Key='d09***9e6'
Получаем список профилей:
[simterm]
$ netctl list * setevoy-gen
[/simterm]
Запускаем созданный профиль (если имеется активное подключение к сети – сначала выключаем его с помощью netctl stop profile-name
):
[simterm]
$ netctl start setevoy-gen ==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ==== Authentication is required to start 'netctl@setevoy\x2dgen.service'. Authenticating as: setevoy Password: ==== AUTHENTICATION COMPLETE ====
[/simterm]
Попингуем:
[simterm]
$ ping -c 1 8.8.8.8 PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 64 bytes from 8.8.8.8: icmp_seq=1 ttl=48 time=36.2 ms --- 8.8.8.8 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 36.274/36.274/36.274/0.000 ms
[/simterm]
Добавляем в автозапуск при старте системы:
[simterm]
$ sudo netctl enable setevoy-gen ln -s '/etc/systemd/system/netctl@setevoy\x2dgen.service' '/etc/systemd/system/multi-user.target.wants/netctl@setevoy\x2dgen.service'
[/simterm]
Если при старте профиля в логах выдаётся ошибка авторизации:
[simterm]
$ systemctl status "netctl@setevoy\\x2dhome.service" ● netctl@setevoy\x2dhome.service - Networking for netctl profile setevoy-home Loaded: loaded (/usr/lib/systemd/system/[email protected]; static; vendor preset: disabled) Active: failed (Result: exit-code) since Sat 2018-10-06 09:50:47 EEST; 6min ago Docs: man:netctl.profile(5) Main PID: 25465 (code=exited, status=1/FAILURE) Oct 06 09:50:31 setevoy-arch-home systemd[1]: Starting A simple WPA encrypted wireless connection... Oct 06 09:50:31 setevoy-arch-home network[25465]: Starting network profile 'setevoy-home'... Oct 06 09:50:46 setevoy-arch-home network[25465]: WPA association/authentication failed for interface 'wlp13s0' Oct 06 09:50:47 setevoy-arch-home network[25465]: Failed to bring the network up for profile 'setevoy-home' Oct 06 09:50:47 setevoy-arch-home systemd[1]: netctl@setevoy\x2dhome.service: Main process exited, code=exited, status=1/FAILURE Oct 06 09:50:47 setevoy-arch-home systemd[1]: netctl@setevoy\x2dhome.service: Failed with result 'exit-code'. Oct 06 09:50:47 setevoy-arch-home systemd[1]: Failed to start A simple WPA encrypted wireless connection.
[/simterm]
То можно поменять значение Key=
в файле профиля на пароль в открытом виде.
WiFi menu
Требует пакета dialog
:
[simterm]
$ sudo pacman -S dialog
[/simterm]
Вместо того, что бы создавать файл профиля и редактировать его вручную – можно использовать wifi-menu
:
Он сгенерирует файл с именем профиля в виде имя_интерфейса-имя_сети в /etc/ntectl
:
[simterm]
$ ls -l /etc/netctl/ total 24 drwxr-xr-x 2 root root 4096 Oct 3 18:39 examples drwxr-xr-x 2 root root 4096 Aug 7 21:11 hooks drwxr-xr-x 2 root root 4096 Aug 7 21:11 interfaces -rw-r--r-- 1 root root 439 Oct 6 09:48 setevoy-home -rw------- 1 root root 147 Oct 5 19:00 wlp13s0-HOME397 -rw------- 1 root root 145 Oct 3 18:56 wlp13s0-setevoy
[/simterm]
После чего останется только добавить его в автозагрузку через sudo netctl enable profile_name
.
Готово.