netctl (Русский)
zh-CN:Netctl Template:Article summary start Template:Article summary text Template:Article summary end Netctl это новый Arch проект, который заменяет netcfg. Netctl это будущее (и настоящее) управления сетями из командной строки Arch Linux.
Contents
Установка
Пакет netctl доступен в Official Repositories. Установка netctl заменит netcfg.
Required reading
Для netctl доступны качественные man-страницы. Пользователям следует прочитать эти man-страницы, прежде чем начать использовать netctl:
netctl и netcfg - конфликтующие пакеты. Есть вероятность потери соединения после установки netctl, ЕСЛИ ваши профили некорректно настроены.
Настройка
netctl
можно использовать для анализа и контроля за состоянием сервисов Systemd для менеджера сетевого профиля. Пользователи могут обратиться к примерам файлов конфигурации сетевых подключений. Примеры профилей расположены в /etc/netctl/examples/
. В общую конфигурацию включены:
- ethernet-dhcp
- ethernet-static
- wireless-wpa
- wireless-wpa-static
Чтобы использовать пример конфигурации просто скопируйте один из них из /etc/netctl/examples/
в /etc/netctl/
и отредактируйте необходимым образом:
# cp /etc/netctl/examples/wireless-wpa /etc/netctl/
Как только вы создали профиль, сделайте попытку установить соединение используя вновь созданный профиль, выполнив:
# netctl start <profile>
Если результат выполнения команды говорит о неудаче, выполните journalctl -xn
и netctl status <profile>
для более глубокого анализа причин неудачи. Выполните необходимую корректировку конфигурации и повторите попытку.
Automatic Operation
Один профиль
Если используется только один профиль вы можете сделать его подключение автоматическим. После успешного запуска профиля выполните:
# netctl enable <profile>
Эта команда создаст и активирует сервис systemd, который будет автоматически запускать профиль при загрузке компьютера.
Несколько профилей
Whereas with netcfg
there was net-auto-wireless.service
and net-auto-wired.service
, netctl
uses netctl-auto@<interface>.service
for wireless profiles, and netctl-ifplugd@<interface>.service
for wired profiles. In order to make the netctl-auto@<interface>.service
work for wireless interfaces, the package wpa_actiond is required to be installed. In order to make the netctl-ifplugd@<interface>.service
work for wired interfaces, the package ifplugd is required to be installed. Configure /etc/ifplugd/ifplugd.conf
accordingly.
Once your profiles are set and verified to be working, simply enable these services with
# systemctl enable netctl-auto@<interface>.service # systemctl enable netctl-ifplugd@<interface>.service
If you have previously enabled a profile through netctl
, run
# netctl disable <profile>
to prevent the profile from starting twice at boot, and possibly causing issues with wpa_supplicant.
netctl reenable <profile>
to apply the changes.Переход с Netcfg
netctl
conflicts with netcfg
so disable existing netcfg@<profile>
service before installing netctl
.netctl
uses /etc/netctl
to store its profiles, not /etc/network.d
(netcfg
's profile storage location).
In order to migrate from netcfg, at least the following is needed:
- Move network profile files to the new directory.
- Rename variables therein according to netctl.profile(5) (Most variable names have only UpperCamelCase i.e CONNECTION= becomes Connection=).
- For static IP configuration make sure the Address= variables have a netmask after the IP (e.g. Address=('192.168.1.23/24' '192.168.1.87/24') in the example profile).
- If you setup a wireless profile according in the
wireless-wpa-configsection
example, note that this overrideswpa_supplicant
options defined above the brackets. For a connection to a hidden wireless network, addscan_ssid=1
to the options in thewireless-wpa-configsection
;Hidden=yes
does not work there. - Unquote interface variables and other variables that don't strictly need quoting (this is mainly a style thing).
- Run
netctl enable <profile>
for every profile in the old NETWORKS array. 'last' doesn't work this way, see netctl.special(7). - Use
netctl list
/netctl start <profile>
instead of netcfg-menu. wifi-menu remains available.
Password encryption (256-bit PSK)
Users not wishing to have their passwords stored in plain text have the option of generating a 256-bit Encrypted PSK.
If you have not done so already, install wpa_actiond from the Official Repositories.
Next, generate your 256-bit Encrypted PSK using wpa_passphrase:
Usage: wpa_passphrase [ssid] [passphrase]
$ wpa_passphrase archlinux freenode
In a second terminal window copy the example file wireless-wpa
from /etc/netctl/examples
to /etc/netctl
.
# cp /etc/netctl/examples/wireless-wpa /etc/netctl/wireless-wpa
You will then need to edit /etc/netctl/wireless-wpa
using your favorite text editor and add the Encrypted Pre-shared Key that was generated earlier using wpa_passphrase, to the Key
variable of this profile.
Once completed your network profile wireless-wpa
containing a 256-bit Encrypted PSK should resemble:
/etc/netctl/wireless-wpa
Description='A simple WPA encrypted wireless connection using 256-bit Encrypted PSK' Interface=wlp2s2 Connection=wireless Security=wpa IP=dhcp ESSID=archlinux Key=\"64cf3ced850ecef39197bb7b7b301fc39437a6aa6c6a599d0534b16af578e04a
Key=
that are explained at the end of netctl.profile(5).Поддержка
Official announcement thread: https://bbs.archlinux.org/viewtopic.php?id=157670
Советы
As of April 2013 there is no netctl alternative to netcfg current
. If you relied on it for something, like a status bar for a tiling window manager, you can now use:
# netctl list | sed -n 's/^\* //p'
or, when netctl-auto
was used to connect:
# wpa_cli -i <interface> status | sed -n 's/^id_str=//p'