方案总览
推荐两种可行方案,按需选择:
表格
方案 A:PVE 主机直连 WiFi + NAT 路由(推荐)
一、准备工作
确认 PVE 主机有无线网卡并已驱动(执行
iw dev查看 WiFi 接口,如wlp3s0)安装 WiFi 工具:
bash
运行
apt update && apt install -y wpasupplicant wireless-tools
二、配置 PVE 开机自动连接 WiFi
1. 创建 WiFi 配置文件
bash
运行
nano /etc/wpa_supplicant/wpa_supplicant-wlp3s0.conf
添加以下内容(替换为你的 WiFi 信息):
plaintext
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=CN # 替换为你的国家代码
network={
ssid="你的WiFi名称" # 如"MyHomeWiFi"
psk="你的WiFi密码" # 如"mypassword123"
key_mgmt=WPA-PSK # 加密方式,常见WPA-PSK/WPA2-PSK
}
设置权限:
bash
运行
chmod 600 /etc/wpa_supplicant/wpa_supplicant-wlp3s0.conf
2. 配置网络接口文件
编辑 PVE 网络配置:
bash
运行
nano /etc/network/interfaces
添加 / 修改如下内容(关键部分已加粗):
plaintext
# 物理WiFi接口(手动模式)
auto wlp3s0
iface wlp3s0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant-wlp3s0.conf
# 虚拟机网桥(静态IP,作为虚拟机网关)
auto vmbr0
iface vmbr0 inet static
address 192.168.100.1/24 # ★PVE主机内网IP★
bridge-ports none # ★不绑定物理端口★
bridge-stp off
bridge-fd 0
# 开启IP转发(关键)
post-up echo 1 > /proc/sys/net/ipv4/ip_forward
# NAT规则:将虚拟机流量转发到WiFi接口
post-up iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o wlp3s0 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -s 192.168.100.0/24 -o wlp3s0 -j MASQUERADE
3. 启用 WiFi 服务并设置开机自启
bash
运行
# 启用wpa_supplicant服务
systemctl enable wpa_supplicant@wlp3s0.service
systemctl start wpa_supplicant@wlp3s0.service
# 重启网络服务(或直接重启PVE更稳妥)
systemctl restart networking
三、虚拟机网络配置(所有 Linux 系统)
登录 PVE Web UI(https:// 你的 PVE_IP:8006)
对每个 Linux 虚拟机:
进入硬件 → 添加 → 网络设备
选择桥接模式:
vmbr0模型选择:VirtIO(性能最优)
取消勾选防火墙(避免干扰)
启动虚拟机,配置网络(两种方式):
自动获取(推荐):确保 DHCP 客户端已启动(多数 Linux 默认开启)
手动配置:
bash
运行
# 编辑网卡配置(以Ubuntu为例) nano /etc/netplan/00-installer-config.yaml内容:
yaml
network: ethernets: ens18: # 虚拟机网卡名(可能不同) addresses: [192.168.100.100/24] # 虚拟机IP gateway4: 192.168.100.1 # PVE主机vmbr0地址 nameservers: addresses: [8.8.8.8, 114.114.114.114] version: 2应用配置:
netplan apply
四、验证与排错
PVE 主机 WiFi 连接验证:
bash
运行
ip a show wlp3s0 # 应有IP地址 ping -c 3 baidu.com # 测试外网连通性虚拟机联网验证:
bash
运行
ping -c 3 192.168.100.1 # 测试到PVE网关 ping -c 3 baidu.com # 测试外网常见问题:
WiFi 连接失败:检查配置文件权限、密码、加密方式
虚拟机无法上网:确认
ip_forward已开启(cat /proc/sys/net/ipv4/ip_forward返回 1)重启后失效:检查服务是否设置自启(
systemctl is-enabled wpa_supplicant@wlp3s0)
方案 B:ISTOREOS 软路由 WiFi + 桥接模式
一、配置 ISTOREOS 连接 WiFi
确保 ISTOREOS 虚拟机有两个虚拟网卡:
网卡 1:连接 PVE 的
vmbr0(LAN 侧)网卡 2:直通物理无线网卡(推荐)或连接 PVE 的 WiFi 接口
登录 ISTOREOS Web UI(默认 192.168.1.1)
配置 WiFi:
进入网络 → 无线 → 扫描
选择你的 WiFi 并连接,输入密码
将 WiFi 接口设为WAN 口
二、PVE 网络配置(桥接模式)
编辑 PVE 网络文件:
bash
运行
nano /etc/network/interfaces配置:
plaintext
# 物理有线网卡(手动模式,用于桥接) auto eno1 iface eno1 inet manual # 虚拟机网桥(连接ISTOREOS LAN口) auto vmbr0 iface vmbr0 inet static address 192.168.1.2/24 # PVE主机IP(与ISTOREOS同网段) gateway 192.168.1.1 # ISTOREOS地址(默认网关) bridge-ports eno1 # 绑定有线网卡 bridge-stp off bridge-fd 0重启网络:
systemctl restart networking
三、虚拟机网络设置
所有 Linux 虚拟机网络设备选择桥接至
vmbr0虚拟机网络配置:
IP:192.168.1.xxx/24(与 ISTOREOS 同网段)
网关:192.168.1.1(ISTOREOS 地址)
DNS:8.8.8.8 或 114.114.114.114
开机自动连接 WiFi 关键配置(两种方案通用)
确保 PVE 开机自动连接 WiFi 的核心配置:
wpa_supplicant 服务自启(方案 A 必须):
bash
运行
systemctl enable wpa_supplicant@wlp3s0.service网络接口自动启动:配置文件中
auto开头的接口会开机自动激活测试开机行为:
bash
运行
reboot # 重启PVE # 重启后检查 ip a show wlp3s0 # WiFi接口应有IP ping baidu.com # 外网连通
最终验证步骤
重启 PVE 主机
检查 PVE 主机 WiFi 连接状态和 IP
启动所有 Linux 虚拟机
在每个虚拟机执行:
bash
运行
ping -c 3 网关IP # 如192.168.100.1或192.168.1.1 ping -c 3 baidu.com # 外网测试所有虚拟机都能 ping 通外网,配置成功!