PVE 软路由教程:OpenWrt 全功能部署指南,实现 2.5G 网口与无线网卡双直通(MT7612U 无线网卡)

PVE 软路由教程:OpenWrt 全功能部署指南,实现 2.5G 网口与无线网卡双直通(MT7612U 无线网卡)
Hans汉斯在现代 Homelab 的构建中,如何高效利用 x86 小主机强大的算力资源是一个核心课题。许多技术爱好者在使用 Proxmox VE (PVE) 完成了基础的虚拟化存储部署后,下一个目标通常是接管网络枢纽——构建软路由。
相比于传统的 ARM 架构硬路由,基于 x86 架构的软路由(如 OpenWrt)拥有降维打击般的处理器性能,能够轻松承载千兆甚至万兆的 NAT 转发,并支持极其丰富的底层网络插件(如精细化路由调度、网络层流量过滤、本地 DNS 缓存等)。
本教程将从底层网络拓扑逻辑出发,演示如何在 PVE 中部署高度定制化的 OpenWrt(ImmortalWrt 分支),并通过 IOMMU 硬件直通技术,将物理 2.5G 网口与 MT7612U USB 无线网卡的控制权彻底交由虚拟路由器接管,打造一台极低延迟、高性能的家庭全功能网关。
一、 核心逻辑:网络拓扑与方案选择
根据硬件环境与使用需求,建议在开始前明确以下两种拓扑逻辑:
1. 旁路由模式(智能网关)
图 1:旁路由模式(智能网关)网络架构拓扑图
- 网络逻辑:利用 PVE 的虚拟桥接 vmbr0 接入主路由 LAN 侧
- IP 分配:手动分配静态 IP(如 192.168.1.10),作为内网的“流量调度中心”
- 核心优势:不破坏原有网络结构,通过手动修改终端网关实现跨境加速,具备极高的灵活性
2. 二级路由模式(物理隔离)
图 2:二级路由模式(物理隔离)网络架构拓扑图
- 网络逻辑:通过虚拟 WAN 口向上级申请 IP,向下构建独立的 192.168.10.1 子网
- 核心优势:实现内外网物理隔离,拥有完整的 DHCP 寻址主权,性能损耗最小
二、 准备工作
1. 固件下载:前往 ImmortalWrt 官网,搜索 x86_64
- 建议下载:
COMBINED-EFI (SQUASHFS-COMBINED-EFI.IMG.GZ(适合 UEFI 引导,自带恢复出厂功能)
2. 硬件准备:
USB 无线网卡:采用 MediaTek MT7612U 芯片,支持 2.4G/5G 双频,在 OpenWrt 环境下兼容性良好
物理安装:将网卡插入小主机 USB 3.0 接口
PVE验证USB网卡:在 PVE Shell 中
输入 lsusb,确认出现了这一行:
ID 0e8d:7612 MediaTek Inc
3. 开启 IOMMU 硬件直通:
- 确保 PVE 已开启硬件直通功能。验证命令:
1 | dmesg | grep -e DMAR -e IOMMU |
确认输出中包含这两行内容:
[ 0.046511] DMAR: IOMMU enabled
[ 0.126564] DMAR-IR: Enabled IRQ remapping in x2apic mode
如果你还没开启IOMMU直通,请先看我之前发布的这期:PVE 基础部署教程
三、 固件上传与虚拟机创建
1. 上传固件
将下载的 .img.gz 解压得到 .img 文件,重命名为
immortalwrt.img进入 PVE 后台,点击 local(pve) -> ISO 镜像 -> 上传,将固件传上去
2. 创建虚拟机
点击右上角 创建虚拟机,按以下参数设置:
- 常规:名称填
OpenWrt,记住 VM ID(例如 103) - 操作系统:选择
不使用任何介质 - 系统:机型
选 Q35,BIOS选 OVMF (UEFI),**取消勾选预注册密钥 - 磁盘:删除默认生成的 scsi0 磁盘(我们要用注入的方式)
- CPU:核心
选 2 或 4,类别必须选host(性能最强) - 网络:模型
选 VirtIO,取消勾选防火墙
四、 固件注入与初始化
1. 命令行注入磁盘
进入 PVE 节点的 Shell 控制台,输入以下命令(将 101 换成你的 VM ID):
1 | qm importdisk 101 /var/lib/vz/template/iso/immortalwrt.img local-lvm |
看到 Successfully 后
2. 设置软路由硬盘&调整启动引导
回到虚拟机的 硬件 菜单
找到
未使用的磁盘 0,双击,总线选 SATA,点击添加点击
选项->引导顺序,勾选 sata0 并拖到第一位
五、模式实操:旁路由部署
1. 修改网卡配置:
启动虚拟机,点击 控制台。看到进度停止后按回车
输入命令:
1
vi /etc/config/network
按 i 键,将 ipaddr 192.168.1.1 改为 192.168.1.20(确保不与主路由冲突)。按 Esc,输入 :wq保存。输入
/etc/init.d/network restart重启网络。
2. 硬件直通:网口直通给 OpenWrt
关机 虚拟机。
点击 硬件 -> 添加 -> PCI 设备 -> 选择物理网口(避开 ETH0 管理口),勾选所有功能”和“ROM-Bar
点击 硬件 -> 添加 -> USB 设备 -> 选择 MT7612U 网卡。
3. OpenWrt 网络配置
设置管理员密码
LAN 口设置
- 点击 网络 -> 接口 -> lan -> 编辑
- 常规设置 -> IPv4 网关 -> 填写主路由 IP 地址
- 高级设置 -> 使用自定义的 DNS 服务器 -> 填写主路由 IP 地址
- DHCP 服务器-> 常规设置 -> 忽略此接口 -> 点击勾选
br-lan 设置:
- 点击 网络 -> 接口 -> 设备 -> br-lan 配置 -> 网桥端口 -> 勾选 eth1、eth2、eth3
4. 无线网卡驱动安装&配置
由于是纯净版固件,我们需要手动补齐无线驱动。
安装 TTYD 终端与主题
- 进入 系统 -> 软件包,更新列表后:
- 搜索并安装
luci-theme-argon(高颜值主题)。 - 搜索并安装
luci-i18n-ttyd-zh-cn(网页版命令行)。
无线网卡安装(MT762U)
- 打开 系统 -> 终端,依次输入:
- 更新源并安装驱动
1
2opkg update
opkg install kmod-mt76x2u补齐 MT7612U 必须的固件文件
1
2mkdir -p /lib/firmware/mediatek
wget -O /lib/firmware/mediatek/mt7612u.bin https://git.openwrt.org/?p=openwrt/openwrt.git;a=blob_plain;f=package/firmware/linux-firmware/mediatek/mt7612u.bin;hb=HEAD生成配置并重启
1
2
3
4
5rm -f /etc/config/wireless
wifi config
opkg remove wpad-basic-wolfssl
opkg install wpad-mesh-wolfssl
reboot
5. Wi-Fi设置
回到 网络 -> 无线,看到 radio1:
点击 编辑,将频段选为 5G,信道选 149(或 36),宽度选 80MHz
在
无线安全-> 加密模式选择WPA2-psk-> 设置你的 WiFi 密码点击
高级设置->无线信号覆盖密度-> 点击选择非常高
六、进阶:二级路由模式切换
如需让 OpenWrt 接管整个网络,请执行以下调整:
1. 新建 WAN 接口:
- 点击
网络-> 接口 ->添加新接口- 名称输入
WAN - 协议选择
DHCP 客户端 设备选项eth0` 接口
- 名称输入
2. WAN配置:
点击
网络-> 接口 ->WAN->编辑常规设置
保存默认高级设置
保存默认防火墙设置
选择Wan口DHCP服务器
保持默认
3. LAN口配置
- 点击 网络 -> 接口 -> lan -> 编辑
- 常规设置
- IPv4地址:
修改为 192.168.10.1 - IPv4 网关:
直接删除清空
- IPv4地址:
- 高级设置
- 使用自定义的 DNS 服务器:
直接删除清空
- 使用自定义的 DNS 服务器:
- **DHCP 服务器
- 常规设置:忽略此接口
取消勾选
- 常规设置:忽略此接口
4. br-lan 设置:
- 点击 网络 -> 接口 -> 设备 -> br-lan 配置
- 网桥端口** ->
eth0取消勾选
- 网桥端口** ->
5. 访问新的管理地址:192.168.10.1 进入管理后台
通过上述一系列基于 Linux 内核与虚拟化环境的底层调试,我们成功在 PVE 环境中剥离出了一个独立的网络处理面。硬件直通技术的引入,不仅完美解决了传统虚拟桥接模式下 CPU 软中断过高的问题,更彻底榨干了小主机的 IO 性能极限。
将底层的网络架构掌握在自己手中,这是折腾 Homelab 最迷人的乐趣所在。如果在操作过程中遇到内核驱动无法挂载或 PCI 地址漂移的问题,欢迎在评论区贴出报错日志,我们一同探讨解决之道。










