ArchLinux 无线网络设定
启动网络管理服务
下面流程都是使用 systemd-networkd
提供的 DHCP 客户端和服务端,使用下面命令启动 systemd-networkd
服务:
systemctl start systemd-networkd
设定 systemd-networkd
服务开机自启动:
systemctl enable systemd-networkd
连接到无线网络
安装
wpa_supplicant
软件包使用下面命令生成配置文件,里面的 wifi 名称、密码、网卡名称替换成机器实际参数。
wpa_passphrase [WIFI_NAME] [WIFI_PWD] > /etc/wpa_supplicant/wpa_supplicant-[IFC_NAME].conf
添加一个
systemd-networkd
网卡配置文件/etc/systemd/network/[IFC_NAME].network
,添加下面内容:[Match] Name=[IFC_NAME] [Network] DHCP=yes IPForward=yes IPMasquerade=ipv4 IPv6AcceptRA=yes DNS=1.1.1.1 [DHCPv6] ForceDHCPv6PDOtherInformation=yes [DHCP] UseDNS=false
启动
systemctl start wpa_supplicant@[IFC_NAME].service
,同样里面的[IFC_NAME]
替换成实际网卡名称。上面过程如果没有错误,那么这个时候已经连接到无线网络了。
设定开机自动连接:
systemctl enable wpa_supplicant@[IFC_NAME].service
开启热点网络
- 安装软件包
hostapd
- 修改配置文件
/etc/hostapd/hostapd.conf
,主要修改下面内容:
参数 | 说明 |
---|---|
interface | 绑定无线网卡 |
ssid | 无线热点名称 |
hw_mode | 工作模式 |
channel | 无线网络频道 |
wpa_passphrase | 无线网络密码 |
还有一些其他参数,自己依据实际需求修改。比较见鬼的是,我的设备是 intel 网卡,不支持开启 5G 热点(可以连接到 5G WIFI),貌似大多数 intel 网卡都是这个样子,在 Linux 下驱动没法开启热点。
同样添加一个配置文件
/etc/systemd/network/wlan0.network
,添加下面内容:[Match] Name=[IFC_NAME] [Network] Address=192.168.0.1/24 DHCPServer=yes IPForward=yes [DHCPServer] PoolOffset=100 PoolSize=20 EmitDNS=yes DNS=192.168.0.1
上面配置文件也是需要启动
systemd-networkd
服务才会生效,由systemd-networkd
提供地址分配,如果不需要自动分配 IP 也可以手动配置 IP 地址,不过比较麻烦而已。启动服务,如果没有问题已经可以看到刚刚配置的热点。
systemctl start hostapd.service
设定开机自启:
systemctl enable hostapd.service
除了上面内容之外,需要转发流量的话,还需要开启内核流量转发参数,设定路由等操作。