netctl (简体中文)

From ArchWiki
Revision as of 03:37, 11 April 2013 by Fengchao (Talk | contribs) (Migrating from netcfg)

Jump to: navigation, search

Summary help replacing me
用netctl和网络配置脚本设置网络的指南。

Netctl 是 Arch Linux 中基于命令行的网络管理器,它是 Arch 的新项目,会替换掉 netcfg

安装

netctl 软件包已经进入[core]. 安装 netctl 会替换掉无人维护的netcfg

建议阅读

开发者为了完善 man 文档投入了大量的精力,建议用户使用前阅读如下文档:

  • netctl
  • netctl.profile
  • netctl.special

配置

netctl 可以用来检查和控制 systemd 网络配置管理服务的状态。软件提供了一些配置文件的示例以供参考。这些示例位于/etc/netctl/examples/,包括:

  • ethernet-dhcp
  • ethernet-static
  • wireless-wpa
  • wireless-wpa-static

要使用示例配置,将他们从/etc/netctl/examples/<profile>复制到/etc/netctl/<profile>然后进行修改:

# cp /etc/netctl/examples/wireless-wpa /etc/netctl/my-wireless-wpa

创建完配置后,通过如下方法建立连接:

# netctl start <profile>

如果命令出错,可以使用 journalctl -xnnetctl status <profile> 检查出错原因。修正重新设置。

配置成功启动后,可以用 netctl enable <profile> 启用. 此命令会建立正确的软链接供netctl-auto@.service使用。

注意: 需要启用netctl-auto@<interface>.service才能在系统启动时自动配置无线连接。

如果需要修改当前启用的配置,请执行

# netctl reenable <profile>

从 netcfg 迁移的方法

netctl 使用 /etc/netctl 保存配置,而不是 /etc/network.d (netcfg保存配置的位置).

从 netcfg 迁移,请执行:

  • 将老的网络配置移动到新目录
  • 根据 netctl.profile(5) 修改变量名称(主要是大小写变化,例如 CONNECTION= 变成 Connection=).
  • 接口变量和其他变量不再需要引号(这仅仅是风格变化).
  • 为每一个配置执行netctl enable <profile> 'last' 工作方式有变化,参阅 netctl.special(7).
  • 使用 netctl list / netctl start <profile> 替换 netcfg-menu. wifi-menu 依然保留。

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 [core] repository using pacman

 # pacman -S wpa_actiond

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)

Support

Official announcement thread: https://bbs.archlinux.org/viewtopic.php?id=157670

Tips and Tricks

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|grep \*|sed 's/\*//'|sed 's/\ //'