archlinux arm 树莓派设置网络连接与无线网络连接

到手两个树莓派
其中一个装了arch
但是因为家里网络环境只有无线网络
arch默认的无线却没有wpa加密的支持包
于是便有了此文
下面是整理的内容

相关工具命令:

1
2
3
4
5
6
7
8
9

查看网络设备
**ip
link**
查看网络地址
**ifconfig**
查看系统服务状态
**systemctl**

使用netctl工具的手动网络配置方法
来自:https://raspberrypi.stackexchange.com/questions/7987/wifi-configuration-on-arch-linux-arm

在/etc/netctl/examples/目录下有netctl网络连接工具配置文件的范例
从范例创建一个新的网络连接配置(以普通的wpa加密的无线网络连接为例)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
从wireless-wpa范例文件创建一个权限为640的配置文件 
这样的权限配置可以防止配置文件中的密码泄露

install -m640 /etc/netctl/examples/wireless-wpa /etc/netctl/wireless-home

编辑这个文件
将其中的MyNetwork和WirelessKey替换为SSID和密码
保存文件
启动配置文件

netctl start wireless-home

启动后可以ping一下进行检测
没问题之后设置该配置文件开机自启动

netctl enable wireless-home

其实netctl操作的是systemctl服务中的netctl服务
启动配置文件时真正做的事情是以配置文件启动服务
netctl start xxx

相当于
systemctl start netctl@xxx

所以当出现问题时会显示要求使用如下命令查看故障原因
systemctl status netctl@xxx

然后.如果在上面启动配置文件时遇到错误
查看服务的status时发现如下信息就可以做对应的解决方案
如果说wpa-s…什么什么的一个东西没有安装
是因为你使用的是wpa加密的无线网络
但是没有安装那个支持wpa的库
需要安装后再试
如果说这个配置文件“already up”
说明对应的设备端口已经在使用中
使用如下命令停用该设备再启用配置文件即可
ip link set 设备名(比如eth0) down
参见:https://wiki.archlinux.org/index.php/Netctl#Troubleshooting
https://wiki.archlinux.org/index.php/Network\_configuration


另:如果使用有线网络的DHCP自动分配
插上网线再启动dhcpcd服务即可
另外:在配置静态IP是会遇到如下格式的IP
192.168.1.21/24
这是CIDR表示法,把ip地址和子网掩码合并到一起,可以一个ip表示一个ip簇
参见https://en.wikipedia.org/wiki/Classless\_Inter-Domain\_Routing#CIDR\_notation

常用的255.255.255.0等价于24