laptop 安装 proxmox 的 wifi 问题及解决方法
目录
背景#
家里淘汰的联想小新2021pro 笔记本,cpu 是amd r5 5600h,16GB内存,512GB nvme硬盘。准备安装 proxmox 作为 homelab 的一个节点。
proxmox 使用的最新版本Proxmox VE 9.0, 对应的 os 为 Debian13 - Trixie。
安装过程比较顺利,系统也能正常启动。但是发现只有无线网卡可用,默认不启用 wifi,需要自己手工配置 wifi 连接。
解决方法#
我想要连接网络安装wpasupplicant,但是 proxmox 默认没有安装这个包。需要先连接有线网络,更新 apt 源,然后安装wpasupplicant。
没有有线网络的情况下,可以通过手机 usb 共享网络连接。
通过手机 usb 共享网络连接#
手机连接 laptop 的 type-c 接口,然后打开手机的tethering选项。
在 proxmox 中,可以通过ip a命令查看到 usb 网络接口,一般是enx...开头的。
如果想使用
ifconfig命令,需要先安装net-tools包。现代的 linux 发行版推荐使用ip命令。
启用 usb 网络接口:
ip link set dev enx... up
这里如果使用
ifup命令,可能会报错dhclient not found,因为 proxmox 默认没有安装isc-dhcp-client包。
通过 dhcp 获取 ip 地址:
dhcpcd enx...
默认没有安装
dhclient,所以使用dhcpcd命令。
这时候,可以通过ip a命令查看到 usb 网络接口已经获取到 ip 地址(类似inet 192.168.x.x/...)。
测试网络连接:
ping google.com
安装 wpasupplicant#
更新 apt 源:
apt update
安装wpasupplicant包:
apt install wpasupplicant
配置 wifi 连接#
wpa_passphrase "Your_SSID" "Your_Password" | sudo tee /etc/wpa_supplicant.conf
作为服务器,我需要固定 ip,所以修改/etc/network/interfaces文件,添加如下内容:
auto wlp1s0
iface wlp1s0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8 8.8.4.4
wpa-conf /etc/wpa_supplicant.conf
启动 wpa_supplicant 来连接 wifi:
sudo ip link set wlp1s0 up
# 让 wpa_supplicant 自动选择驱动
# 这个命令只负责 Wi-Fi 连接和认证,不会自动获取 IP 地址!
wpa_supplicant -B -i wlp1s0 -c /etc/wpa_supplicant.conf
# 通过 dhcpcd 获取 IP 地址
dhcpcd wlp1s0
验证 wifi 连接状态:
ip link show wlp1s0
测试无线网卡的网络连接:
# 目前有线和无线网卡都连接上了,可以指定使用无线网卡测试网络连接
ping -I wlp1s0 8.8.8.8
Rfkill 问题#
ip link set wlp1s0 up报错RTNETLINK answers: Operation not possible due to RF-Kill,说明无线网卡被rfkill禁用了。
proxmox 默认没有安装rfkill包,需要先安装:
apt install rfkill
查看无线网卡的 rfkill 状态:
rfkill list
我看到的无线网卡状态是Soft blocked: yes,说明是软件禁用的。直接通过命令解禁无线网卡即可。
解禁无线网卡:
rfkill unblock wifi
总结#
虽然 proxmox 默认网络配置是只支持有线网络的, 但通过手机 usb 共享网络连接,可以临时为 proxmox 提供网络环境,从而安装wpasupplicant包。然后配置 wifi 连接,就可以让 proxmox 通过无线网卡连接网络。