HOOOS

PVE直通网卡后进不去后台?教你用虚拟网桥解决管理口冲突

0 31 折腾怪VM PVE软路由虚拟机
Apple

玩 All-in-One 或者是软路由双系统的小伙伴,大概率都遇到过这个“名场面”:

在 Proxmox VE(PVE)后台,兴奋地把物理网卡(比如板载的 Intel i226-V)顺手配置了 PCIe 直通给 OpenWrt/iStoreOS。满心期待地点击保存、重启——

然后,PVE 彻底失联了。

网页后台打不开,SSH 连不上,感觉整个系统直接“变砖”。

为什么直通网卡后,PVE 管理界面会失联?

理解底层逻辑,解决起来就非常简单。

PVE 默认的管理口是绑定在 vmbr0 这个虚拟网桥上的,而 vmbr0 在初始化时,会绑定一个物理网口(比如 eth0enp3s0)。

当你把这个物理网口直通给软路由虚拟机(VM)后,该网卡的控制权就完全移交给了虚拟机,PVE 宿主机直接失去了对这个物理网口的操作权限。既然物理通道被掐断了,你当然无法再通过原来的 IP 访问到 PVE 的后台。

核心解决思路:构建“虚拟内部通道”

我们不需要为了管理 PVE 而单独浪费一个物理网口。正确的拓扑结构应该是:

  1. 软路由:直接掌控直通的物理网卡(比如直通两个网口,一万一千)。
  2. PVE 宿主机:不需要绑定任何物理网口。我们建立一个纯虚拟的网桥(不绑定任何物理网卡)。
  3. 连接介质:给软路由 VM 添加一张虚拟网卡(VirtIO 模式),桥接到这个纯虚拟网桥上。
  4. 通信逻辑: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 网页后台(此时如果能临时连上):

  1. 找到你的软路由虚拟机(比如 ID 为 100)。
  2. 点击 硬件 -> 添加 -> 网络设备
  3. 桥接选择 vmbr0,网卡模型选择 VirtIO (半虚拟化)

第五步:在软路由系统中,将虚拟网卡加入 LAN 口桥接

进入你的软路由系统后台(比如 OpenWrt 的 192.168.100.1):

  1. 导航到 网络 -> 接口 -> LAN
  2. 在“物理设置”或“桥接端口”中,除了勾选你直通的物理 LAN 口外,务必把刚刚虚拟出来的那个网卡(通常显示为 eth0 或 eth1,视系统内部识别而定)也勾选上
  3. 保存并应用配置。

最终效果验证

完成上述配置后,数据流向就变成了这样:

【你的电脑】 ──(网线)──> 【直通物理LAN口】 ──> 【软路由系统】 ──(虚拟网卡)──> 【虚拟网桥 vmbr0】 ──> 【PVE 宿主机 (192.168.100.2)】

这时候,你无论是接入家里的 Wi-Fi,还是通过网线插在软路由直通出来的物理 LAN 口上,不仅可以正常上网,而且只要在浏览器输入 https://192.168.100.2:8006,就能顺畅无阻地打开 PVE 的管理后台了。

这种“物理直通 + 虚拟网桥内联”的架构,是目前 All-in-One 软路由最科学、最节省物理网口的配置方案。如果你正在折腾相关设备,强烈建议按照这个思路规划你的网络拓扑。

点评评价

captcha
健康