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

From ArchWiki
Jump to: navigation, search
Line 7: Line 7:
 
{{Article summary start}}
 
{{Article summary start}}
 
{{Article summary text|Руководство по настройке сети с помощью netctl и скриптов сетевых профилей.}}
 
{{Article summary text|Руководство по настройке сети с помощью netctl и скриптов сетевых профилей.}}
{{Article summary heading|Resources}}
+
{{Article summary heading|Resource}}
 
{{Article summary wiki|Bridge with netctl}}
 
{{Article summary wiki|Bridge with netctl}}
 
{{Article summary end}}
 
{{Article summary end}}

Revision as of 12:39, 11 June 2013

Summary help replacing me
Руководство по настройке сети с помощью netctl и скриптов сетевых профилей.
Resource
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'