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

From ArchWiki
Jump to: navigation, search
(Один профиль)
(41 intermediate revisions by the same user not shown)
Line 6: Line 6:
 
[[zh-CN:Netctl]]
 
[[zh-CN:Netctl]]
 
{{Article summary start}}
 
{{Article summary start}}
{{Article summary text|Руководство по настройке сети с помощью netctl и скриптам сетевых профилей.}}
+
{{Article summary text|Руководство по настройке сети с помощью netctl и скриптов сетевых профилей.}}
 +
{{Article summary heading|Resources}}
 +
{{Article summary wiki|Bridge with netctl}}
 
{{Article summary end}}
 
{{Article summary end}}
Netctl это новый Arch проект, который заменяет [[netcfg]]. Netctl это будущее (и настоящее) управления сетями из командной строки Arch Linux.
+
Netctl это новый проект Arch, который заменяет [[netcfg]]. Netctl это будущее (и настоящее) управления сетями из командной строки Arch Linux.
  
 
==Установка==
 
==Установка==
 
Пакет {{Pkg|netctl}} доступен в [[Official Repositories]]. Установка netctl заменит {{pkg|netcfg}}.
 
Пакет {{Pkg|netctl}} доступен в [[Official Repositories]]. Установка netctl заменит {{pkg|netcfg}}.
  
==Required reading==
+
==Обязательно к прочтению==
Для netctl доступны качественные man-страницы. Пользователям следует прочитать эти man-страницы, прежде чем начать использовать netctl:
+
Для netctl доступны качественные man-страницы. Пользователям следует прочитать следующие man-страницы, прежде чем начать использовать netctl:
 
*[https://github.com/joukewitteveen/netctl/blob/master/docs/netctl.1.txt netctl]
 
*[https://github.com/joukewitteveen/netctl/blob/master/docs/netctl.1.txt netctl]
 
*[https://github.com/joukewitteveen/netctl/blob/master/docs/netctl.profile.5.txt netctl.profile]
 
*[https://github.com/joukewitteveen/netctl/blob/master/docs/netctl.profile.5.txt netctl.profile]
Line 38: Line 40:
 
Если результат выполнения команды говорит о неудаче, выполните {{ic|journalctl -xn}} и {{ic|netctl status <profile>}} для более глубокого анализа причин неудачи. Выполните необходимую корректировку конфигурации и повторите попытку.
 
Если результат выполнения команды говорит о неудаче, выполните {{ic|journalctl -xn}} и {{ic|netctl status <profile>}} для более глубокого анализа причин неудачи. Выполните необходимую корректировку конфигурации и повторите попытку.
  
===Automatic Operation===
+
===Автоматические операции===
 
====Один профиль====
 
====Один профиль====
 
Если используется только один профиль, вы можете сделать его подключение автоматическим. После успешного запуска профиля выполните:
 
Если используется только один профиль, вы можете сделать его подключение автоматическим. После успешного запуска профиля выполните:
 
  # netctl enable <profile>  
 
  # netctl enable <profile>  
 
Эта команда создаст и активирует сервис [[systemd]], который будет автоматически запускать профиль при загрузке компьютера.
 
Эта команда создаст и активирует сервис [[systemd]], который будет автоматически запускать профиль при загрузке компьютера.
 +
 +
{{Note|Соединение с dhcp-сервером устанавливается только если интерфейс подсоединен и запущен во время загрузки (или когда запускается сервис). Чтобы настроить автоматическое подключение, установленное на проводном соединении, смотрите [[#Несколько профилей]].}}
  
 
====Несколько профилей====
 
====Несколько профилей====
Whereas with {{ic|netcfg}} there was {{ic|net-auto-wireless.service}} and {{ic|net-auto-wired.service}}, {{ic|netctl}} uses {{ic|netctl-auto@<interface>.service}} for wireless profiles, and {{ic|netctl-ifplugd@<interface>.service}} for wired profiles. In order to make the {{ic|netctl-auto@<interface>.service}} work for wireless interfaces, the package {{pkg|wpa_actiond}} is required to be installed. In order to make the {{ic|netctl-ifplugd@<interface>.service}} work for wired interfaces, the package {{pkg|ifplugd}} is required to be installed. Configure {{ic|/etc/ifplugd/ifplugd.conf}} accordingly.
+
В то время как {{ic|netcfg}} использовал {{ic|net-auto-wireless.service}} и {{ic|net-auto-wired.service}}, {{ic|netctl}} использует {{ic|netctl-auto@<interface>.service}} для беспроводных соединений и {{ic|netctl-ifplugd@<interface>.service}} для проводных соединений. Для того, чтобы {{ic|netctl-auto@<interface>.service}} работал с беспроводными соединениями необходимо установить пакет {{pkg|wpa_actiond}}. Для того, чтобы {{ic|netctl-ifplugd@<interface>.service}} работал с проводными соединениями необходимо установить пакет {{pkg|ifplugd}}. Настройте {{ic|/etc/ifplugd/ifplugd.conf}} соответствующим образом.
  
Once your profiles are set and verified to be working, simply enable these services with
+
После того как ваши профили установлены и, судя по всему, работают, просто активируйте соответствующие сервисы, выполнив:
 
  # systemctl enable netctl-auto@<interface>.service  
 
  # systemctl enable netctl-auto@<interface>.service  
  # systemctl enable netctl-ifplugd@<interface>.service
+
  # systemctl enable netctl-ifplugd@<interface>.service
 +
{{Note|Если какой-либо из профилей содержит ошибку, например пустую переменную {{ic|Key&#61;}}, соответствующий юнит не активируется при загрузке.}}
  
If you have previously enabled a profile through {{ic|netctl}}, run
+
Если у вас уже есть профиль, активированный через {{ic|netctl}}, выполните
  # netctl disable <profile>  
+
  # netctl disable <profile>
to prevent the profile from starting twice at boot, and possibly causing issues with wpa_supplicant.
+
чтобы предотвратить двойное включение профиля при загрузке и возможные неполадки с wpa_supplicant.
  
{{Note|If there is ever a need to alter a currently enabled profile, execute {{ic|netctl reenable <profile>}} to apply the changes.}}
+
{{Note|Если необходимо изменить уже существующий профиль, выполните {{ic|netctl reenable <profile>}}, чтобы применить изменения.}}
  
 
===Переход с Netcfg===
 
===Переход с Netcfg===
{{Warning|{{ic|netctl}} conflicts with {{ic|netcfg}} so disable existing {{ic|netcfg@<profile>}} service before installing {{ic|netctl}}.}}
+
{{Warning|{{ic|netctl}} конфликтует с {{ic|netcfg}}, поэтому отключите существующие {{ic|netcfg@<profile>}} сервисы перед установкой {{ic|netctl}}.}}
  
{{ic|netctl}} uses {{ic|/etc/netctl}} to store its profiles, ''not'' {{ic|/etc/network.d}} ({{ic|netcfg}}'s profile storage location).
+
Профили {{ic|netctl}} находятся в {{ic|/etc/netctl}}, а ''не'' в каталоге {{ic|/etc/network.d}}, который использовал {{ic|netcfg}}.
  
In order to migrate from netcfg, at least the following is needed:
+
Чтобы перейти с netcfg, необходимо выполнить по крайней мере следующие шаги:
*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=).
+
*Переименуйте переменные в них в соответствии с netctl.profile(5) (Большинство имен переменных всего лишь изменят стиль на UpperCamelCase, например CONNECTION= становится Connection=)
*For static IP configuration make sure the Address= variables have a netmask after the IP (e.g. Address=('192.168.1.23<b>/24</b>' '192.168.1.87<b>/24</b>') in the example profile).
+
*Для соединений со статическим IP удостоверьтесь в том, что переменная Address= имеет маску подсети после IP (например Address=('192.168.1.23<b>/24</b>' '192.168.1.87<b>/24</b>') в примере профиля)
*If you setup a wireless profile according in the {{ic|wireless-wpa-configsection}} example, note that this overrides {{ic|wpa_supplicant}} options defined above the brackets. For a connection to a hidden wireless network, add {{ic|scan_ssid<nowiki>=1</nowiki>}} to the options in the {{ic|wireless-wpa-configsection}}; {{ic|Hidden<nowiki>=</nowiki>yes}} does not work there.  
+
*Если вы установили беспроводное соединение в соответствии с примером {{ic|wireless-wpa-configsection}}, учтите, что значения в секции {{ic|1=WPAConfigSection=}} переопределят соответствующие опции {{ic|wpa_supplicant}} в {{ic|/etc/wpa_supplicant/wpa_supplicant.conf}}. Для подключения к скрытой беспроводной сети добавьте {{ic|scan_ssid<nowiki>=1</nowiki>}} к  параметрам в {{ic|wireless-wpa-configsection}}; {{ic|Hidden<nowiki>=</nowiki>yes}} не работает здесь.
*Unquote interface variables and other variables that don't strictly need quoting (this is mainly a style thing).
+
*Удалите кавычки у значений переменных, для которых они не обязательны (в основном это дело вкуса).
*Run {{ic|netctl enable <profile>}} for every profile in the old NETWORKS array. 'last' doesn't work this way, see netctl.special(7).
+
*Выполните {{ic|netctl enable <profile>}} для каждого профиля в старом массиве NETWORK. Он не работает в этом случае, смотрите netctl.special(7).
*Use {{ic|netctl list}} / {{ic|netctl start <profile>}} instead of netcfg-menu. wifi-menu remains available.
+
*Используйте {{ic|netctl list}} / {{ic|netctl start <profile>}} вместо netcfg-menu. wifi-menu остается доступным.
  
===Password encryption (256-bit PSK)===
+
===Шифрование пароля (256-битный Pre-Shared Key)===
  
Users ''not'' wishing to have their passwords stored in ''plain text'' have the option of generating a 256-bit Encrypted PSK.
+
У пользователей, ''не'' желающих, чтобы их пароль хранился в ''простом тексте'', есть возможность использовать 256-bit Encrypted PSK.
  
If you have not done so already, [[pacman|install]] {{pkg|wpa_actiond}} from the [[Official Repositories]].
+
Если это еще не сделано, [[pacman|установите]] {{pkg|wpa_actiond}} из [[Official Repositories]].
  
Next, generate your 256-bit Encrypted PSK using [[WPA_supplicant#Configuration_file|wpa_passphrase]]:
+
Далее, сгенерируйте ваш 256-bit Encrypted PSK используя [[WPA_supplicant#Configuration_file|wpa_passphrase]]:
 
{{hc|Usage: wpa_passphrase [ssid] [passphrase]|
 
{{hc|Usage: wpa_passphrase [ssid] [passphrase]|
 
2=$ wpa_passphrase archlinux freenode|
 
2=$ wpa_passphrase archlinux freenode|
Line 88: Line 93:
 
}}
 
}}
  
In a second terminal window copy the example file {{ic|wireless-wpa}} from {{ic|/etc/netctl/examples}} to {{ic|/etc/netctl}}.
+
Во втором окне терминала скопируйте файл примера {{ic|wireless-wpa}} из {{ic|/etc/netctl/examples}} в {{ic|/etc/netctl}}.
 
  # cp /etc/netctl/examples/wireless-wpa /etc/netctl/wireless-wpa
 
  # cp /etc/netctl/examples/wireless-wpa /etc/netctl/wireless-wpa
  
You will then need to edit {{ic|/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 {{ic|'''Key'''}} variable of this profile.
+
Далее вам будет необходимо отредактировать {{ic|/etc/netctl/wireless-wpa}}, используя ваш любимый текстовый редактор, и добавить ''Encrypted Pre-shared Key'', который был сгенерирован ранее с использованием wpa_passphrase, в переменную {{ic|'''Key'''}} этого профиля.
  
Once completed your network profile {{ic|wireless-wpa}} containing a 256-bit Encrypted PSK should resemble:
+
Профиль {{ic|wireless-wpa}}, включающий 256-bit Encrypted PSK будет выглядеть примерно так:
 
{{hc|/etc/netctl/wireless-wpa|2=
 
{{hc|/etc/netctl/wireless-wpa|2=
 
Description='A simple WPA encrypted wireless connection using 256-bit Encrypted PSK'
 
Description='A simple WPA encrypted wireless connection using 256-bit Encrypted PSK'
Line 103: Line 108:
 
Key=\"64cf3ced850ecef39197bb7b7b301fc39437a6aa6c6a599d0534b16af578e04a
 
Key=\"64cf3ced850ecef39197bb7b7b301fc39437a6aa6c6a599d0534b16af578e04a
 
}}
 
}}
{{Note|1=Make sure to use the '''special non-quoted rules''' for {{ic|1=Key=}} that are explained at the end of [https://github.com/joukewitteveen/netctl/blob/master/docs/netctl.profile.5.txt netctl.profile(5)].}}
+
{{Note|1=Убедитесь, что использованы '''special non-quoted rules''' для {{ic|1=Key=}}, которые описаны в конце [https://github.com/joukewitteveen/netctl/blob/master/docs/netctl.profile.5.txt netctl.profile(5)].}}
 +
{{Note|1=Ключа, который вы помещаете в конфигурацию профиля, будет вполне достаточно для подключения к сети WPA-PSK, что означает, что этот метод хорош лишь для того, чтобы скрыть человеко-читаемый пароль, но он не предотвратит от подключения к сети кого-либо с правом на чтение этого файла.}}
  
 
==Поддержка==
 
==Поддержка==
Official announcement thread: https://bbs.archlinux.org/viewtopic.php?id=157670
+
Официальная страница обсуждения: https://bbs.archlinux.org/viewtopic.php?id=157670
  
 
==Советы==
 
==Советы==
As of April 2013 there is no netctl alternative to {{ic|netcfg current}}. If you relied on it for something, like a status bar for a tiling window manager, you can now use:
+
По состоянию на апрель 2013 в {{ic|netctl}} нет альтернативы {{ic|netcfg current}}. Если вы использовали эту возможность для чего-то, вроде статус-бара тайлового оконного менеджера, теперь вы можете использовать следующее:
 
  # netctl list | sed -n 's/^\* //p'
 
  # netctl list | sed -n 's/^\* //p'
or, when {{ic|netctl-auto}} was used to connect:
+
или, если для подключения использовался {{ic|netctl-auto}}:
 
  # wpa_cli -i <interface> status | sed -n 's/^id_str=//p'
 
  # wpa_cli -i <interface> status | sed -n 's/^id_str=//p'

Revision as of 12:39, 11 June 2013

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

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

Установка

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

Обязательно к прочтению

Для 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> для более глубокого анализа причин неудачи. Выполните необходимую корректировку конфигурации и повторите попытку.

Автоматические операции

Один профиль

Если используется только один профиль, вы можете сделать его подключение автоматическим. После успешного запуска профиля выполните:

# netctl enable <profile> 

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

Note: Соединение с dhcp-сервером устанавливается только если интерфейс подсоединен и запущен во время загрузки (или когда запускается сервис). Чтобы настроить автоматическое подключение, установленное на проводном соединении, смотрите #Несколько профилей.

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

В то время как 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
Note: Если какой-либо из профилей содержит ошибку, например пустую переменную Key=, соответствующий юнит не активируется при загрузке.

Если у вас уже есть профиль, активированный через netctl, выполните

# netctl disable <profile>

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

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

Переход с Netcfg

Warning: 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, учтите, что значения в секции WPAConfigSection= переопределят соответствующие опции wpa_supplicant в /etc/wpa_supplicant/wpa_supplicant.conf. Для подключения к скрытой беспроводной сети добавьте scan_ssid=1 к параметрам в wireless-wpa-configsection; Hidden=yes не работает здесь.
  • Удалите кавычки у значений переменных, для которых они не обязательны (в основном это дело вкуса).
  • Выполните netctl enable <profile> для каждого профиля в старом массиве NETWORK. Он не работает в этом случае, смотрите netctl.special(7).
  • Используйте netctl list / netctl start <profile> вместо netcfg-menu. wifi-menu остается доступным.

Шифрование пароля (256-битный Pre-Shared Key)

У пользователей, не желающих, чтобы их пароль хранился в простом тексте, есть возможность использовать 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
Note: Убедитесь, что использованы special non-quoted rules для Key=, которые описаны в конце netctl.profile(5).
Note: Ключа, который вы помещаете в конфигурацию профиля, будет вполне достаточно для подключения к сети WPA-PSK, что означает, что этот метод хорош лишь для того, чтобы скрыть человеко-читаемый пароль, но он не предотвратит от подключения к сети кого-либо с правом на чтение этого файла.

Поддержка

Официальная страница обсуждения: 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'