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

From ArchWiki
Jump to: navigation, search
(Поддержка)
m (Link to English instead of its self.)
(27 intermediate revisions by one other user not shown)
Line 2: Line 2:
 
[[Category:Networking (Русский)]]
 
[[Category:Networking (Русский)]]
 
[[fr:Netctl]]
 
[[fr:Netctl]]
 +
[[en:Netctl]]
 
[[es:Netctl]]
 
[[es:Netctl]]
[[ru:Netctl]]
 
 
[[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-сервером устанавливается только если интерфейс подсоединен и запущен во время загрузки (или когда запускается сервис). Чтобы настроить автоматическое подключение, установленное на проводном соединении, смотрите [[#Несколько профилей]].}}
  
 
====Несколько профилей====
 
====Несколько профилей====
Line 49: Line 53:
 
После того как ваши профили установлены и, судя по всему, работают, просто активируйте соответствующие сервисы, выполнив:
 
После того как ваши профили установлены и, судя по всему, работают, просто активируйте соответствующие сервисы, выполнив:
 
  # 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;}}, соответствующий юнит не активируется при загрузке.}}
  
 
Если у вас уже есть профиль, активированный через {{ic|netctl}}, выполните
 
Если у вас уже есть профиль, активированный через {{ic|netctl}}, выполните
Line 60: Line 65:
 
{{Warning|{{ic|netctl}} конфликтует с {{ic|netcfg}}, поэтому отключите существующие {{ic|netcfg@<profile>}} сервисы перед установкой {{ic|netctl}}.}}
 
{{Warning|{{ic|netctl}} конфликтует с {{ic|netcfg}}, поэтому отключите существующие {{ic|netcfg@<profile>}} сервисы перед установкой {{ic|netctl}}.}}
  
Профили {{ic|netctl}} находятся в {{ic|/etc/netctl}}, а ''не'' в каталоге {{ic|/etc/network.d}} (который использовал {{ic|netcfg}})
+
Профили {{ic|netctl}} находятся в {{ic|/etc/netctl}}, а ''не'' в каталоге {{ic|/etc/network.d}}, который использовал {{ic|netcfg}}.
  
 
Чтобы перейти с netcfg, необходимо выполнить по крайней мере следующие шаги:
 
Чтобы перейти с netcfg, необходимо выполнить по крайней мере следующие шаги:
Line 66: Line 71:
 
*Переименуйте переменные в них в соответствии с netctl.profile(5) (Большинство имен переменных всего лишь изменят стиль на UpperCamelCase, например CONNECTION= становится Connection=)
 
*Переименуйте переменные в них в соответствии с netctl.profile(5) (Большинство имен переменных всего лишь изменят стиль на UpperCamelCase, например CONNECTION= становится Connection=)
 
*Для соединений со статическим IP удостоверьтесь в том, что переменная Address= имеет маску подсети после IP (например Address=('192.168.1.23<b>/24</b>' '192.168.1.87<b>/24</b>') в примере профиля)
 
*Для соединений со статическим IP удостоверьтесь в том, что переменная Address= имеет маску подсети после IP (например Address=('192.168.1.23<b>/24</b>' '192.168.1.87<b>/24</b>') в примере профиля)
*Если вы установили беспроводное соединение в соответствии с примером {{ic|wireless-wpa-configsection}}, учтите, что это перепишет {{ic|wpa_supplicant}} options defined above the brackets. Для подключение к скрытой беспроводной сети добавьте {{ic|scan_ssid<nowiki>=1</nowiki>}} к  параметрам в {{ic|wireless-wpa-configsection}}; {{ic|Hidden<nowiki>=</nowiki>yes}} не работает здесь.
+
*Если вы установили беспроводное соединение в соответствии с примером {{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 (в основном это дело вкуса).
+
*Удалите кавычки у значений переменных, для которых они не обязательны (в основном это дело вкуса).
 
*Выполните {{ic|netctl enable <profile>}} для каждого профиля в старом массиве NETWORK. Он не работает в этом случае, смотрите netctl.special(7).
 
*Выполните {{ic|netctl enable <profile>}} для каждого профиля в старом массиве NETWORK. Он не работает в этом случае, смотрите netctl.special(7).
 
*Используйте {{ic|netctl list}} / {{ic|netctl start <profile>}} вместо netcfg-menu. wifi-menu остается доступным.
 
*Используйте {{ic|netctl list}} / {{ic|netctl start <profile>}} вместо netcfg-menu. wifi-menu остается доступным.
  
===Password encryption (256-bit PSK)===
+
===Шифрование пароля (256-битный Pre-Shared Key)===
  
 
У пользователей, ''не'' желающих, чтобы их пароль хранился в ''простом тексте'', есть возможность использовать 256-bit Encrypted PSK.
 
У пользователей, ''не'' желающих, чтобы их пароль хранился в ''простом тексте'', есть возможность использовать 256-bit Encrypted PSK.
  
Если это еще не сделано [[pacman|установите]] {{pkg|wpa_actiond}} из [[Official Repositories]].
+
Если это еще не сделано, [[pacman|установите]] {{pkg|wpa_actiond}} из [[Official Repositories]].
  
 
Далее, сгенерируйте ваш 256-bit Encrypted PSK используя [[WPA_supplicant#Configuration_file|wpa_passphrase]]:
 
Далее, сгенерируйте ваш 256-bit Encrypted PSK используя [[WPA_supplicant#Configuration_file|wpa_passphrase]]:
Line 104: Line 109:
 
}}
 
}}
 
{{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=Убедитесь, что использованы '''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, что означает, что этот метод хорош лишь для того, чтобы скрыть человеко-читаемый пароль, но он не предотвратит от подключения к сети кого-либо с правом на чтение этого файла.}}
  
 
==Поддержка==
 
==Поддержка==
Line 109: Line 115:
  
 
==Советы==
 
==Советы==
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 13:26, 29 July 2013

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary end 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'