实战记录 | PVE 9 环境下部署 OpenWrt :从下载安装到正常登录

实战记录 | PVE 9 环境下部署 OpenWrt :从下载安装到正常登录

19 小时前 8 0 0.6℃

实战记录 | PVE 9 环境下部署 OpenWrt :从下载安装到正常登录

本文记录了在 PVE 9 虚拟化环境 中部署 OpenWrt 24 最新版本 的实际过程,完整覆盖 OpenW…

一、背景考虑

在企业网络中,路由网关部署在出口位置,选型需要考虑以后长期的稳定性、可维护性和功能扩展性。

在本次实践中,我选择在 PVE 虚拟化环境中部署 OpenWrt,并完成从镜像下载、安装到正常登录的完整流程验证。不追求“花哨功能”,基于以下几个现实考虑:

系统可控性的要求:在实际运维过程中,企业网络需要根据自身业务节奏进行策略变化、功能增减、组件替换等。如果底层系统受商业限限较多,后续调整都会变成“被动适配”,长期来看会增加运维复杂度和不确定性。

稳定性的长期要求:相比一次性功能是否齐全,更重要的是系统在长期运行过程中的可预测性。包括升级节奏可控、配置透明、问题能够被准确定位,而不是依赖外部封装或不可见逻辑。

后续扩展预留空间:随着业务变化,路由器不能只是“能上网”,需要逐步承载更多角色,多出口策略、远程接入、跨地域互联、流量调度以及与其他系统的联动。这种情况下,一个结构清晰、组件可控的系统,更有利于后续按需演进,不能被某个厂商胁迫进行整体替换。

基于以上考虑,本次选择通过 PVE + OpenWrt 的方式进行部署,保持系统本身的开放性与可控性,为以后网络架构调整提供基础条件。

二、安装openwrt

2.1 下载Openwrt

OpenWrt 官网下载镜像时,本次环境为 x86 架构设备,因此选择 最新稳定版本的 generic-ext4-combined-efi.img.gz 镜像。该镜像适用于 UEFI 启动模式,可直接用于当前使用的 x86 平台设备(如 N100、N5105 等),无需额外引导适配。

2.2 安装OpenWrt

下载得到的镜像解压后,得到 img 格式文件。将该镜像上传至 PVE Local里边ISO 镜像:

登录到 PVE 节点的 Shell,执行命令,将 OpenWrt 镜像导入到指定虚拟机中(示例虚拟机 ID 为 107):

qm importdisk 107 /var/lib/vz/template/iso/openwrt-24.10.5-x86-64-generic-ext4-combined-efi.img local-lvm

命令执行完成后,进入该虚拟机的硬件页面,可以看到新增了一块 “未使用的磁盘 0”。

点击未使用的磁盘 0 → 编辑,选择磁盘映像,并点击 添加:

添加完成后,该磁盘将显示为一块硬盘,默认容量约为 124 MB:

为便于后续插件安装和功能扩展,选中该硬盘并点击 编辑,将磁盘容量调整为 2 GB

磁盘调整完成后,进入虚拟机 选项 → 引导顺序,将 scsi0 设置为第一启动项,并保存配置:

完成以上设置后,启动虚拟机,即可进入 OpenWrt 系统:

三、登录OpenWrt

3.1 设置管理密码

系统默认没有 root 密码,通过passwd命令设置密码:

root@OpenWrt:~# passwd 
Changing password for root
New password: 
Retype password: 
passwd: password for root changed by root
root@OpenWrt:~#

3.2 配置接口地址

默认配置中,OpenWrt 会将 eth0 作为 LAN 接口,eht1作为 WAN 接口。

为了与我使用习惯一样,我把接口进行了调整:

  • eth0:作为 WAN 接口
  • eth1:作为 LAN 接口
vi /etc/config/network
config interface 'loopback'
        option device 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix 'fdf5:93c0:c3d8::/48'

config device
        option name 'br-lan'
        option type 'bridge'
        list ports 'eth1'

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

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

config interface 'wan6'
        option device 'eth0'
        option proto 'dhcpv6'

3.3 登录OpenWrt

默认只能通过LAN口登录

https://192.168.3.16/cgi-bin/luci/

四、基础配置OpenWrt

4.1 安装中文包

在 LuCI 中安装中文语言包(简体中文):

4.2 安装磁盘分区工具 cfdisk

cfdisk 用于查看磁盘结构,用于划分新的分区。

4.3 安装block-mount

block-mount 用于管理磁盘挂载, 默认安装软件的挂载空间只有几十M,需要重新挂载到空间更大的overlay分区。

4.4 新建分区

cfdisk

在 SSH 中使用 cfdisk 查看磁盘分区情况,然后从free space里边新建一个分区/dev/sda3:

然后选择dev/sda3分区,write:

格式化/dev/sda3分区:

root@OpenWrt:~# mkfs.ext4 /dev/sda3
mke2fs 1.47.0 (5-Feb-2023)
Discarding device blocks: done                            
Creating filesystem with 524288 4k blocks and 131328 inodes
Filesystem UUID: e31b4d52-f4a0-4f5d-a118-1db6233563fb
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done 

root@OpenWrt:~#

需要reboot重启一下openwrt.,使扩容后的存储空间生效

4.5 挂载点配置

重启完成之后在挂载点→生成配置:

挂载点选择dev/sda3,选择编辑:

启用挂载点,选择对应的UUID,挂载点使用作为外部overlay使用:

需要reboot重启一下openwrt,使挂载点生效

五、结束语

OpenWrt 适合作为基础软路由使用,也可根据业务需要当作防火墙或统一网络出口设备。

本文所记录的部署流程,旨在为在 PVE 平台上构建 可维护、可扩展、可复制 的 OpenWrt 网络环境提供参考。后续可根据具体业务规模与安全需求,进一步引入高可用、策略路由、流量控制等功能,以支撑更复杂的网络架构设计。

已复制到剪贴板