玩 All-in-One 或者是软路由双系统的小伙伴,大概率都遇到过这个“名场面”:
在 Proxmox VE(PVE)后台,兴奋地把物理网卡(比如板载的 Intel i226-V)顺手配置了 PCIe 直通给 OpenWrt/iStoreOS。满心期待地点击保存、重启——
然后,PVE 彻底失联了。
网页后台打不开,SSH 连不上,感觉整个系统直接“变砖”。
为什么直通网卡后,PVE 管理界面会失联?
理解底层逻辑,解决起来就非常简单。
PVE 默认的管理口是绑定在 vmbr0 这个虚拟网桥上的,而 vmbr0 在初始化时,会绑定一个物理网口(比如 eth0 或 enp3s0)。
当你把这个物理网口直通给软路由虚拟机(VM)后,该网卡的控制权就完全移交给了虚拟机,PVE 宿主机直接失去了对这个物理网口的操作权限。既然物理通道被掐断了,你当然无法再通过原来的 IP 访问到 PVE 的后台。
核心解决思路:构建“虚拟内部通道”
我们不需要为了管理 PVE 而单独浪费一个物理网口。正确的拓扑结构应该是:
- 软路由:直接掌控直通的物理网卡(比如直通两个网口,一万一千)。
- PVE 宿主机:不需要绑定任何物理网口。我们建立一个纯虚拟的网桥(不绑定任何物理网卡)。
- 连接介质:给软路由 VM 添加一张虚拟网卡(VirtIO 模式),桥接到这个纯虚拟网桥上。
- 通信逻辑:PVE 宿主机通过虚拟网桥,与软路由的 LAN 口进行内部通信。软路由再通过直通的物理 LAN 口,把这个流量转发到你家里的物理交换机或 AP 上。
这样,你不仅能省下一个珍贵的物理网口,还能实现全网设备的互联互通。
详细实操步骤(手把手救砖配置)
既然你现在已经进不去 Web 界面了,我们必须通过物理控制台来修正网络配置。
第一步:接上显示器和键盘,登录 PVE 命令行
找一根 HDMI/DP 线把 PVE 主机连接到显示器,插上键盘。
屏幕跑完码后,输入 root 和你的密码登录(密码输入时不会显示,输完直接回车)。
第二步:修改网络配置文件 /etc/network/interfaces
在终端输入以下命令,打开 PVE 的底层网络配置文件:
nano /etc/network/interfaces
你会看到类似下面的配置。注意看,此时的 vmbr0 里面可能还残留着 bridge-ports 后面跟着的物理网卡名称(比如 enp3s0),这就是导致冲突的根源。
我们要把它改成**“无物理绑定”的虚拟网桥**。请参考以下模板进行修改:
auto lo
iface lo inet loopback
# 物理网卡区:如果网卡已经直通,这里不要写任何关于该物理网卡的配置!
# 如果有旧的物理网卡定义,直接删掉或者用 # 注释掉
# 虚拟网桥:用于 PVE 宿主机与软路由虚拟机的内部通信
auto vmbr0
iface vmbr0 inet static
address 192.168.100.2/24 # PVE 的管理 IP(确保与你软路由 LAN 口在同一网段)
gateway 192.168.100.1 # 软路由的 LAN 口 IP(即未来的网关)
bridge-ports none # 关键:这里写 none,代表不绑定任何物理网口
bridge-stp off
bridge-fd 0
⚠️ 避坑提示:
address:建议设置成你计划中软路由 LAN 口同网段的一个固定 IP。例如软路由是192.168.100.1,PVE 就可以设为192.168.100.2。bridge-ports none:这一行是核心。表明vmbr0此时是一个纯粹的虚拟交换机。
修改完成后,按 Ctrl + O 保存,按回车确认,再按 Ctrl + X 退出编辑器。
第三步:重启网络服务
在命令行输入以下命令使配置生效:
systemctl restart networking
或者直接简单粗暴地重启整机:
reboot
第四步:在软路由虚拟机中“接通”虚拟网桥
此时 PVE 宿主机已经准备好虚实通道了,但软路由 VM 还不知道。我们需要把软路由和这个 vmbr0 牵上线。
如果此时你依然打不开 PVE 后台,可以先通过以下方法临时接入:
用一根网线,一头接电脑,另一头接 PVE 主机上没有被直通的剩余物理网口(如果有的话)。如果没有多余网口,只能先在 PVE 命令行中用
qm set命令将虚拟网卡挂载给软路由。
通常更直观的方法是,在 PVE 网页后台(此时如果能临时连上):
- 找到你的软路由虚拟机(比如 ID 为 100)。
- 点击 硬件 -> 添加 -> 网络设备。
- 桥接选择
vmbr0,网卡模型选择VirtIO (半虚拟化)。
第五步:在软路由系统中,将虚拟网卡加入 LAN 口桥接
进入你的软路由系统后台(比如 OpenWrt 的 192.168.100.1):
- 导航到 网络 -> 接口 -> LAN。
- 在“物理设置”或“桥接端口”中,除了勾选你直通的物理 LAN 口外,务必把刚刚虚拟出来的那个网卡(通常显示为 eth0 或 eth1,视系统内部识别而定)也勾选上。
- 保存并应用配置。
最终效果验证
完成上述配置后,数据流向就变成了这样:
【你的电脑】 ──(网线)──> 【直通物理LAN口】 ──> 【软路由系统】 ──(虚拟网卡)──> 【虚拟网桥 vmbr0】 ──> 【PVE 宿主机 (192.168.100.2)】
这时候,你无论是接入家里的 Wi-Fi,还是通过网线插在软路由直通出来的物理 LAN 口上,不仅可以正常上网,而且只要在浏览器输入 https://192.168.100.2:8006,就能顺畅无阻地打开 PVE 的管理后台了。
这种“物理直通 + 虚拟网桥内联”的架构,是目前 All-in-One 软路由最科学、最节省物理网口的配置方案。如果你正在折腾相关设备,强烈建议按照这个思路规划你的网络拓扑。