typora/note/工具集/pve/lxc安装openwrt.md
2024-12-12 10:48:55 +08:00

5.7 KiB
Raw Blame History

1. 下载openwrt镜像

image-20240525165203213
  • 选设备类型

    image-20240525165319112

  • 选用rootfs.tar.gz可以直接用于pve的lxc模板

    image-20240525165400390

2. 上传lxc模板到pve

2.1 如果直接下载的是rootfs.tar.gz文件直接上传即可

image-20240525165516671

2.2 如果下载的为带rootfs的img.gz文件则需要解压img文件

  • 通过 ssh 工具将文件上传到pve服务器上

  • 安装img文件解压工具

    apt install squashfs-tools
    
  • 解压 img文件需要在img文件存储路径操作

    image-20240525173410855

    unsquashfs openwrt-23.05.2-x86-legacy-generic-squashfs-rootfs.img
    
  • 解压成功后会在当前目录生成squashfs-root文件夹

    image-20240525173526262

  • 进入生成的文件夹内打包解压出的内容到pve的lxc模板存储路径内

    tar zcf /var/lib/vz/template/cache/OpenWRT-x86-64-generic-rootfs.tar.gz ./*
    

    也可以将/var/lib/vz/template/cache/替换为其他的pve存储目录对应的路径一般在/mnt/pve下边

2.3 如果下载的文件为img.gz文件则需要挂载打包处理

  • 开启 nbd模块

    modprobe nbd
    
  • 挂载img文件到设备

    qemu-nbd -c /dev/nbd0 -f raw OpenWRT-x86-64-generic-squashfs-combined.img
    
  • 查看挂载的分区

    lsblk -f /dev/nbd0
    

    image-20240525182033136

  • 挂载带有squashfs的文件

    mkdir /mnt/openwrt
    mount /dev/nbd0p2 /mnt/openwrt
    
  • 进入挂载的openwrt目录打包lxc模板

    cd /mnt/openwrt
    tar -czvf /var/lib/vz/template/cache/istoreos.tar.gz *
    
  • 模板打包完成后卸载挂载的文件与nbd设备

    cd .. # 移动到openwrt文件夹的上一层
    umount /mnt/openwrt
    qemu-nbd -d /dev/nbd0
    

3. 创建pve lxc容器

pct create 102 ssd1t:vztmpl/OpenWRT-x86-64-generic-rootfs.tar.gz --rootfs ssd1t:32 --ostype unmanaged --hostname openwrt --arch amd64 --cores 4 --memory 1024 --swap 0 -net0 bridge=vmbr0,name=eth0
  • pct create 创建命令

  • 102 pve容器序列号不要重复

  • ssd1t:vztmpl/OpenWRT-x86-64-generic-rootfs.tar.gz模板路径前边ssd1t为pve存储的ID一定要选中数据中心然后再点右侧的存储

    image-20240525165842480

  • --rootfs指定模板未rootfs文件

  • ssd1t:32存储路径ssd1t依然为存储的ID代表将openwrt的虚拟磁盘存储在ssd1t的硬盘下32为虚拟磁盘容量大小

  • --ostype unmanaged:指定操作系统类型,暂时只能写unmanaged

  • --hostname openwrt主机名随便取一个我用openwrt

  • --arch amd64虚拟机架构我是x86的主机所以选择amd64如果不确定可以在网页端创建一个lxc容器然后查看架构

    image-20240525170403423

  • --cores 4cpu核心数随意分配

  • --memory 1024:内存大小,单位M

  • --swap 0swap分区大小如果不需要设置为0

  • -net0 bridge=vmbr0,name=eth0网络参数桥接pve的网卡并将网卡名字设置为eth0在openwrt里可以直接用

5. 查看创建的openwrt容器

  • 概要

    image-20240525170740114

  • 资源分配主要为内存和硬盘和CPU

    image-20240525170804348

  • 网络因为用命令行创建时没有为容器分配ip地址所以可以用web管理页面给容器分配ip我已经分配好了

  • 容器选项,基本是一些附加功能

    image-20240525170948198

6. 启动openwrt

  • 控制台输出按回车可以进入openwrt的终端窗口

    image-20240525171109336

  • 可以在终端修改网卡配置image-20240525171246977

  • 修改网卡配置

    • vi /etc/config/network
    • lan接口的ip地址修改为刚刚在pve管理页设置的ip

    image-20240525171346917

7. 登录openwrt

  • 浏览器访问openwrt的lan接口的ip首次进入root密码不需要数据登录后会提示设置密码

image-20240525171504464

  • openwrt状态信息

    image-20240525171628857

  • image-20240525171703528