netctl (Русский)

From ArchWiki
Revision as of 14:42, 9 May 2013 by Rmuratov (Talk | contribs) (Сюжет)

Jump to: navigation, search

Summary help replacing me
Руководство по настройке сети с помощью netctl и скриптам сетевых профилей.

Netctl это новый Arch проект, который заменяет netcfg. Netctl это будущее (и настоящее) управления сетями из командной строки Arch Linux.

Установка

Пакет netctl доступен в Official Repositories. Установка netctl заменит netcfg.

Required reading

На написание качественных 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

Один профиль

If you are using only one profile, once that profile is started successfully, it can be enabled using

# netctl enable <profile> 

This will create and enable a systemd service that will start when the computer boots.

Несколько профилей

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.

Note: If there is ever a need to alter a currently enabled profile, execute netctl reenable <profile> to apply the changes.

Переход с 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=('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 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:

/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
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'