Difference between revisions of "Netctl (Русский)"
(→Password encryption (256-bit PSK)) |
|||
(28 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 | + | Netctl это новый проект Arch, который заменяет [[netcfg]]. Netctl это будущее (и настоящее) управления сетями из командной строки Arch Linux. |
==Установка== | ==Установка== | ||
Пакет {{Pkg|netctl}} доступен в [[Official Repositories]]. Установка netctl заменит {{pkg|netcfg}}. | Пакет {{Pkg|netctl}} доступен в [[Official Repositories]]. Установка netctl заменит {{pkg|netcfg}}. | ||
− | == | + | ==Обязательно к прочтению== |
− | Для netctl доступны качественные man-страницы. Пользователям следует прочитать | + | Для 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>}} для более глубокого анализа причин неудачи. Выполните необходимую корректировку конфигурации и повторите попытку. | ||
− | === | + | ===Автоматические операции=== |
====Один профиль==== | ====Один профиль==== | ||
Если используется только один профиль, вы можете сделать его подключение автоматическим. После успешного запуска профиля выполните: | Если используется только один профиль, вы можете сделать его подключение автоматическим. После успешного запуска профиля выполните: | ||
# 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=}}, соответствующий юнит не активируется при загрузке.}} | ||
Если у вас уже есть профиль, активированный через {{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|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|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}} не работает здесь. |
− | * | + | *Удалите кавычки у значений переменных, для которых они не обязательны (в основном это дело вкуса). |
*Выполните {{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 остается доступным. | ||
− | === | + | ===Шифрование пароля (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 93: | Line 98: | ||
Далее вам будет необходимо отредактировать {{ic|/etc/netctl/wireless-wpa}}, используя ваш любимый текстовый редактор, и добавить ''Encrypted Pre-shared Key'', который был сгенерирован ранее с использованием wpa_passphrase, в переменную {{ic|'''Key'''}} этого профиля. | Далее вам будет необходимо отредактировать {{ic|/etc/netctl/wireless-wpa}}, используя ваш любимый текстовый редактор, и добавить ''Encrypted Pre-shared Key'', который был сгенерирован ранее с использованием wpa_passphrase, в переменную {{ic|'''Key'''}} этого профиля. | ||
− | + | Профиль {{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= | + | {{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, что означает, что этот метод хорош лишь для того, чтобы скрыть человеко-читаемый пароль, но он не предотвратит от подключения к сети кого-либо с правом на чтение этого файла.}} | ||
==Поддержка== | ==Поддержка== | ||
− | + | Официальная страница обсуждения: https://bbs.archlinux.org/viewtopic.php?id=157670 | |
==Советы== | ==Советы== | ||
− | + | По состоянию на апрель 2013 в {{ic|netctl}} нет альтернативы {{ic|netcfg current}}. Если вы использовали эту возможность для чего-то, вроде статус-бара тайлового оконного менеджера, теперь вы можете использовать следующее: | |
# netctl list | sed -n 's/^\* //p' | # netctl list | sed -n 's/^\* //p' | ||
− | + | или, если для подключения использовался {{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
zh-CN:Netctl 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.
Contents
Установка
Пакет 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, который будет автоматически запускать профиль при загрузке компьютера.
Несколько профилей
В то время как 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
Key=
, соответствующий юнит не активируется при загрузке.Если у вас уже есть профиль, активированный через 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
, учтите, что значения в секции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-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'