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, который будет автоматически запускать профиль при загрузке компьютера.
Несколько профилей
В то время как netcfg
использовал net-auto-wireless.service
и net-auto-wired.service
, netctl
использует netctl-auto@<interface>.service
для беспроводных соединений и netctl-ifplugd@<interface>.service
для проводных соединений. Для того, чтобы netctl-auto@<interface>.service
работал с беспроводными соединениями необходимо установить пакет wpa_actiond. Для того, чтобы netctl-ifplugd@<interface>.service
работал с проводными соединениями необходимо установить пакет ifplugd. Настройте /etc/ifplugd/ifplugd.conf
соответствующим образом.
После того как ваши профили установлены и, судя по всему, работают, просто активируйте соответствующие сервисы, выполнив:
# systemctl enable netctl-auto@<interface>.service # systemctl enable netctl-ifplugd@<interface>.service
Если у вас уже есть профиль, активированный через netctl
, выполните
# netctl disable <profile>
чтобы предотвратить двойное включение профиля при загрузке и возможные неполадки с wpa_supplicant.
netctl reenable <profile>
, чтобы применить изменения.Переход с Netcfg
netctl
конфликтует с netcfg
, поэтому отключите существующие netcfg@<profile>
сервисы перед установкой netctl
.Профили netctl
находятся в /etc/netctl
, а не в каталоге /etc/network.d
(который использовал netcfg
)
Чтобы перейти с netcfg, необходимо выполнить по крайней мере следующие шаги:
- Переместите файлы профилей сетевых подключений в новую директорию.
- Переименуйте переменные в них в соответствии с netctl.profile(5) (Большинство имен переменных всего лишь изменят стиль на UpperCamelCase, например CONNECTION= становится Connection=)
- Для соединений со статическим IP удостоверьтесь в том, что переменная Address= имеет маску подсети после IP (например Address=('192.168.1.23/24' '192.168.1.87/24') в примере профиля)
- Если вы установили беспроводное соединение в соответствии с примером
wireless-wpa-configsection
, учтите, что это перепишетwpa_supplicant
options defined above the brackets. Для подключение к скрытой беспроводной сети добавьтеscan_ssid=1
к параметрам вwireless-wpa-configsection
;Hidden=yes
не работает здесь. - Unquote interface variables and other variables that don't strictly need quoting (в основном это дело вкуса).
- Выполните
netctl enable <profile>
для каждого профиля в старом массиве NETWORK. Он не работает в этом случае, смотрите netctl.special(7). - Используйте
netctl list
/netctl start <profile>
вместо netcfg-menu. wifi-menu остается доступным.
Password encryption (256-bit PSK)
У пользователей, не желающих, чтобы их пароль хранился в простом тексте, есть возможность использовать 256-bit Encrypted PSK.
Если это еще не сделано установите wpa_actiond из Official Repositories.
Далее, сгенерируйте ваш 256-bit Encrypted PSK используя wpa_passphrase:
Usage: wpa_passphrase [ssid] [passphrase]
$ wpa_passphrase archlinux freenode
Во втором окне терминала скопируйте файл примера wireless-wpa
из /etc/netctl/examples
в /etc/netctl
.
# cp /etc/netctl/examples/wireless-wpa /etc/netctl/wireless-wpa
Далее вам будет необходимо отредактировать /etc/netctl/wireless-wpa
, используя ваш любимый текстовый редактор, и добавить Encrypted Pre-shared Key, который был сгенерирован ранее с использованием wpa_passphrase, в переменную Key
этого профиля.
Профиль wireless-wpa
, включающий 256-bit Encrypted PSK будет выглядеть примерно так:
/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=
, которые описаны в конце netctl.profile(5).Поддержка
Официальная страница обсуждения: https://bbs.archlinux.org/viewtopic.php?id=157670
Советы
По состоянию на апрель 2013 в netctl
нет альтернативы netcfg current
. Если вы использовали эту возможность для чего-то, вроде статус-бара тайлового оконного менеджера, теперь вы можете использовать следующее:
# netctl list | sed -n 's/^\* //p'
или, если для подключения использовался netctl-auto
:
# wpa_cli -i <interface> status | sed -n 's/^id_str=//p'