PVE 虚拟环境安装 OpenWrt 实战文档

·10 min read·pveopenwrtroutertech
[Ad · article-top · horizontal]

适用场景:在 Proxmox VE (PVE) 中创建 OpenWrt 软路由虚拟机,用作主路由或旁路由。
整理来源:Optimus-Xs Blog《在 PVE 虚拟环境中安装 OpenWRT 流程》,原文发表于 2022-03-02,更新于 2025-07-17。
本文为操作型整理版,加入了主路由模式下常见配置建议和排错检查点。


1. 整体拓扑建议

在 PVE 里安装 OpenWrt,本质是让 OpenWrt 虚拟机接管路由功能。常见拓扑如下:

光猫 / 上级网络
      |
   PVE 物理网口 eth1  ->  vmbr1  ->  OpenWrt WAN

OpenWrt LAN
      |
   vmbr0 / eth0
      |
交换机 / 下游电脑 / 手机 / AP

如果 OpenWrt 要作为主路由,核心原则是:

  • OpenWrt 的 LAN 地址就是下游设备的网关,例如 192.168.202.1/24
  • 下游设备通过 DHCP 获取 IP,网关应指向 192.168.202.1
  • OpenWrt 的 WAN 口负责连接光猫、上级路由或公网。
  • PVE 只是虚拟化平台,不应该和 OpenWrt 的 LAN/WAN 逻辑混乱在一起。

2. 安装 PVE

2.1 下载镜像

到 Proxmox VE 官方网站下载 ISO 镜像。

2.2 制作启动 U 盘

可以使用 Rufus、balenaEtcher、Ventoy 等工具写入 ISO。

2.3 安装 PVE

使用 U 盘启动服务器,按安装向导完成安装。

安装完成后,浏览器访问:

https://PVE_IP:8006

注意是 https,浏览器可能会提示证书不安全,选择继续访问即可。


3. 下载 OpenWrt 镜像

OpenWrt x86/64 镜像常见格式有:

.img
.img.gz
.qcow2
.vmdk

如果你下载的是 .img.gz,需要先解压为 .img

gzip -d openwrt-x86-64-generic-squashfs-combined.img.gz

建议使用 x86/64 版本,并优先选择适合虚拟机的镜像。


4. PVE 网卡与 Linux Bridge 规划

4.1 基本概念

PVE 里的 vmbr0vmbr1 可以理解为虚拟交换机。

例如:

PVE 物理网卡Linux Bridge用途
eth0 / enp1s0vmbr0LAN / 管理口
eth1 / enp2s0vmbr1WAN
eth2 / enp3s0vmbr2备用 LAN 或其他用途
eth3 / enp4s0vmbr3备用 LAN 或其他用途

实际网卡名可能是 eth0enp1s0eno1 等,以你的 PVE 页面或 ip addr 输出为准。

4.2 创建 Linux Bridge

在 PVE 后台:

节点 -> 系统 -> 网络 -> 创建 -> Linux Bridge

每个物理网口通常对应一个 bridge,例如:

vmbr0 -> 绑定 eth0
vmbr1 -> 绑定 eth1

如果应用配置时报错,可能是缺少 ifupdown2,可以在 PVE Shell 中执行:

apt update
apt install -y ifupdown2

5. 创建 OpenWrt 虚拟机

在 PVE 后台点击:

右上角 -> 创建虚拟机

建议配置如下:

项目建议
名称OpenWrt 或 Router
VM ID记下来,后面导入磁盘会用到,例如 100
操作系统不使用任何介质
系统默认即可
硬盘先默认创建,后面删除或分离
CPU2 核起步,性能充足可 4 核
内存512MB 起步,建议 1GB 或 2GB
网络模型VirtIO 半虚拟化
启动自启建议开启

6. 导入 OpenWrt 镜像到虚拟机

6.1 上传镜像

可以把 OpenWrt 的 .img 文件上传到 PVE:

local -> ISO 镜像 -> 上传

上传后,镜像路径通常类似:

/var/lib/vz/template/iso/openwrt-x86-64.img

6.2 删除默认磁盘

进入 OpenWrt 虚拟机:

硬件 -> 硬盘 -> 分离
硬件 -> 未使用的磁盘 -> 删除
硬件 -> CD/DVD 驱动器 -> 删除

6.3 导入镜像

在 PVE Shell 中执行:

qm importdisk 100 /var/lib/vz/template/iso/openwrt-x86-64.img local-lvm

说明:

  • 100 是你的虚拟机 VM ID。
  • /var/lib/vz/template/iso/openwrt-x86-64.img 是镜像路径。
  • local-lvm 是目标存储名称,按你的 PVE 实际存储名称修改。

导入完成后,PVE 硬件页面会出现一个“未使用的磁盘”。

6.4 挂载导入的磁盘

进入虚拟机硬件页面:

未使用的磁盘 -> 编辑/添加 -> 作为 SATA 或 VirtIO 磁盘挂载

然后进入:

选项 -> 引导顺序

把刚刚挂载的 OpenWrt 磁盘放到第一位。


7. 添加 OpenWrt 网卡

在虚拟机硬件页面添加网卡:

硬件 -> 添加 -> 网络设备

建议:

OpenWrt 网口PVE Bridge用途
net0vmbr0LAN
net1vmbr1WAN

模型选择:

VirtIO 半虚拟化

如果你有多个 LAN 口,可以继续添加 vmbr2vmbr3


8. 启动 OpenWrt

启动虚拟机后,打开控制台。

如果正常启动,会进入 OpenWrt 命令行。

可以查看网卡:

ip addr

也可以查看 OpenWrt 网络配置:

cat /etc/config/network

9. 主路由模式下 LAN 配置重点

如果你的 OpenWrt LAN 网段是:

192.168.202.1/24

OpenWrt 的 LAN 配置建议类似:

config interface 'lan'
        option device 'br-lan'
        option proto 'static'
        option ipaddr '192.168.202.1'
        option netmask '255.255.255.0'
        option ip6assign '60'

重点:

  • LAN 自己就是网关,所以 LAN 口一般不要再配置 gateway 为自己
  • 下游设备的默认网关应该由 DHCP 下发为 192.168.202.1
  • DNS 可以由 OpenWrt 自己转发,也可以设置上游 DNS。

DHCP 配置示例:

config dhcp 'lan'
        option interface 'lan'
        option start '100'
        option limit '150'
        option leasetime '12h'
        option dhcpv4 'server'

这样下游设备会获取类似:

IP:      192.168.202.x
Gateway: 192.168.202.1
DNS:     192.168.202.1

10. WAN 配置建议

如果 WAN 口接光猫或上级路由,通常使用 DHCP:

config interface 'wan'
        option device 'eth1'
        option proto 'dhcp'

如果你使用 PPPoE 拨号,则类似:

config interface 'wan'
        option device 'eth1'
        option proto 'pppoe'
        option username '宽带账号'
        option password '宽带密码'

11. 防火墙区域检查

OpenWrt 主路由模式下,通常需要:

区域网口说明
lanLAN下游内网,允许访问路由器
wanWAN外网,不允许外部主动访问内网

检查命令:

cat /etc/config/firewall

确认 LAN 到 WAN 有转发规则:

config forwarding
        option src 'lan'
        option dest 'wan'

12. 常见问题排查

12.1 下游设备拿不到 IP

检查:

/etc/init.d/dnsmasq restart
/etc/init.d/network restart

确认 DHCP 是否启用:

cat /etc/config/dhcp

12.2 下游设备有 IP,但不能上网

检查顺序:

ip addr
ip route
ping 192.168.202.1
ping 223.5.5.5
ping baidu.com

判断逻辑:

  • 能 ping IP,不能 ping 域名:大概率是 DNS 问题。
  • 连 IP 都 ping 不通:大概率是 WAN、网关、NAT 或防火墙问题。
  • 下游设备 ping 不通 192.168.202.1:LAN 口、网桥、网线或 DHCP 配置问题。

12.3 OpenWrt 网口顺序不对

PVE 添加的 net0net1 到 OpenWrt 里可能显示为 eth0eth1,但顺序有时需要确认。

可以通过插拔网线、查看链路状态判断:

ip link
logread -f

12.4 PVE 后台访问不了

如果 PVE 管理 IP 放在 LAN 网段,确保:

  • PVE 的管理 bridge 接在 LAN 侧。
  • PVE 管理 IP 和 OpenWrt LAN 在同一网段。
  • 不要把 PVE 管理口错误接到 WAN 侧。

13. 推荐最终检查清单

启动前确认:

  • OpenWrt 虚拟机已设置开机自启。
  • OpenWrt 磁盘已设置为第一启动项。
  • WAN bridge 和 LAN bridge 没有接反。
  • LAN 地址为 192.168.202.1/24
  • LAN DHCP 已启用。
  • LAN 到 WAN 转发已启用。
  • WAN 能正常获取 IP 或 PPPoE 能正常拨号。
  • 下游设备默认网关为 192.168.202.1
  • 下游设备 DNS 正常。

14. 常用命令速查

# 查看网卡
ip addr

# 查看路由
ip route

# 查看网络配置
cat /etc/config/network

# 查看 DHCP 配置
cat /etc/config/dhcp

# 查看防火墙配置
cat /etc/config/firewall

# 重启网络
/etc/init.d/network restart

# 重启 DHCP/DNS 服务
/etc/init.d/dnsmasq restart

# 查看日志
logread -f

# PVE 导入磁盘
qm importdisk 100 /var/lib/vz/template/iso/openwrt-x86-64.img local-lvm

15. 资料来源与授权说明

本文根据 Optimus-Xs Blog《在 PVE 虚拟环境中安装 OpenWRT 流程》整理改写,并加入了主路由模式配置建议、排错步骤和检查清单。原文标注采用 CC BY 4.0 授权。

原文地址:

https://optimus-xs.github.io/posts/install-openwrt-in-pve/
[Ad · article-mid · rectangle]
[Ad · article-bottom · horizontal]

Comments

0

No comments yet.

← Back to tech