最近一次更新arch之后发现强制从netcfg更新为netctl

据说是因为前者无人维护,后者的话加入了对systemd的支持。

今天捣鼓了一下没什么难点很简单。直接上配置文件类似这样

Description=’随便填写描述信息’

ESSID=’你的wifi名字’

Interface=网卡名字

Connection=wireless

Security=wpa

#IP=dhcp

IP=static

Address=’192.168.1.100/24’

DNS=(‘8.8.8.8’)

Gateway=’192.168.1.1’

Key=”fba9286e2781cd570be0672e3a3283d4ebjskajsuxj9

发现个问题。查看man之后说的dns配置为array但是不管我用什么格式去写还是不能配置多个dns。

比如这样DNS=(‘8.8.8.8’ ‘8.8.4.4’)

man中的说明为

DNS=()

An array of DNS nameservers. Simply specify the IP addresses of each of the DNS

nameservers.

在官方论坛上看到有人也有同样的问题。可能会在下个版本中修复吧。

上面的各项参数都一目了然,提一下key就是你的password。这里我用了256位的加密,所使用的软件为wpa_actiond带的wpa_passphrase生成256位加密 PSK,

需要注意的是:这里用加密的密码必须以开头,用明文的话就直接跟密码就好了。

Usage: wpa_passphrase [ssid] [passphrase]

最后netctl使用方法:

你可以用原生 netctl start xxx来启动一个配置文件

也可以加入开机启动 netctl enable xxx

可以用netctl stop xxx 或者netctl stop-all 来关闭链接

或者用systemctl来管理也更好就不赘述了

自动链接wifi

首先把需要的配置文件在netctl 中enable

再在systemctl 中打开netctl的自动连接

systemctl enable netctl-auto@wlan0.service

以及把网卡设置为自动开启

systemctl enable netctl-ifplugd@eth0.service