Difference between revisions of "Netctl (Русский)"

From ArchWiki
Jump to: navigation, search
(Несколько профилей)
(Несколько профилей)
Line 50: Line 50:
  # systemctl enable netctl-auto@<interface>.service  
  # systemctl enable netctl-auto@<interface>.service  
  # systemctl enable netctl-ifplugd@<interface>.service   
  # systemctl enable netctl-ifplugd@<interface>.service   
Если профиль, активированный через {{ic|netctl}}, выполните
Если профиль, активированный через {{ic|netctl}}, выполните

Revision as of 15:17, 9 May 2013

zh-CN:Netctl Template:Article summary start Template:Article summary text Template:Article summary end Netctl это новый Arch проект, который заменяет netcfg. Netctl это будущее (и настоящее) управления сетями из командной строки Arch Linux.


Пакет 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, выполните If you have previously enabled a profile through netctl, run

# netctl disable <profile>

чтобы предотвратить двойное включение профиля при загрузке и возможные неполадки с wpa_supplicant.

Note: Если необходимо изменить уже существующий профиль, выполните netctl reenable <profile>, чтобы применить изменения.

Переход с Netcfg

Warning: 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=('' '') in the example profile).
  • If you setup a wireless profile according in the wireless-wpa-configsection example, note that this overrides wpa_supplicant options defined above the brackets. For a connection to a hidden wireless network, add scan_ssid=1 to the options in the wireless-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:

Description='A simple WPA encrypted wireless connection using 256-bit Encrypted PSK'
Note: Make sure to use the special non-quoted rules for 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'