我的折腾历史:

  • 使用树莓派安装OpenWrt做主系统,但是又想做一个我的世界服务器,树莓派性能不太够需要换设备
  • 买了Mini PC准备做我的世界服务器,Debian本身也可以做软路由,全部使用命令行也不是不行,但是还是觉得OpenWrt的Web Manager做的挺不错的,有点不想放弃
  • 尝试过一些可以在Debian上跑的Web Manager比如Cockpit觉得还是差点意思,Webmin就更不行了,像是20年前的系统
  • 使用Debian作为主系统,部署OpenWrt的Docker容器,先是使用Docker的Host模式但觉得失去的Docker隔离的意义而且无故添加了很多复杂的配置,实在是不优雅。然后折腾macvlan发现docker容器和宿主机无法通信折腾到头疼,遂放弃
  • 使用PVE虚拟机安装OpenWrt,再安装Debian将默认网关指向OpenWrt

PVE安装步骤

  • 官网下载PVE
  • 使用Etcher烧写镜像到U盘
  • HDMI线连接到显示器,键盘鼠标连到mini PC,插入U盘,启动主机
  • 按F7进入Bios,选择U盘安装
  • 选择Graphical安装,配置IP地址,用户名密码,按照提示一步一步来
  • 安装完成后将mini PC插入路由器,然后进入<pve_ip_address>:8006进入PVE Web Manager,用户名为root,密码为刚才设置的密码

OpenWrt安装步骤

编译OpenWrt系统

  • 编译就不多说了,使用GitHub进行云编译,这里记录一下.config

    TargetSystem:
      - x86
    Subtarget:
      - x86_64
    TargetProfile:
      - Generic x86/64
    
    TargetImages:
      - squashfs
      	- Build GRUB images
      - Use Console Terminal (in addition to Serial)
      - GZip images
    
    LuCI:
      Themes:
        - luci-theme-agron
      Applications:
        - luci-app-accesscontrol
        - luci-app-adguardhome
        - luci-app-arpbind
        - luci-app-banip 
        - luci-app-ddns
        - luci-app-filetransfer
        - luci-app-firewall
        - luci-app-frpc
        - luci-app-ksmbd
        - luci-app-nlbwmon
        - luci-app-opkg
        - luci-app-passwall
        - luci-app-samba
        - luci-app-sqm
        - luci-app-statistics
        - luci-app-upnp
        - luci-app-vnstat
        - luci-app-vsftpd
        - luci-app-wol
        - luci-app-zerotier
      Protocols:
      	- luci-protocol-wireguard  
    
    Network:
      IP Addresses and Names:
      	- ddns-scripts-cloudflare
        - drill
      SSH:
      	- openssh-server
      - tcpdump
    
    Utilities:
      - qrencode
    

创建虚拟机

  • 编辑VM ID, Name,我填了100OpenWrt

  • 系统选择Do not use any media

  • Disks删除,暂时使用No Disks

  • 核心数选择2 Cores

  • 内存设置为1024M

  • 创建完成后点击运行VM,我们就可以进入OpenWrt的命令行界面了,按照使用树莓派4B+安装OpenWrt用作旁路由 | Kunyang’s Blog修改IP地址

上传镜像

  • 直接使用scp将编译好的openwrt-x86-64-generic-squashfs-combined.img.gz上传,要上传到/var/lib/vz/template/iso/这个目录

    scp .\openwrt-x86-64-generic-squashfs-combined.img.gz [email protected]:/var/lib/vz/template/iso
    

    注意要使用-combined.img.gz这个文件

  • 解压文件

    gzip -d openwrt-x86-64-generic-squashfs-combined.img.gz
    
  • 挂载为虚拟机的磁盘

    qm importdisk <vm_id> openwrt-x86-64-generic-squashfs-combined.img local-lvm
    

    出现successfully imported disk 'local-lvm:vm-100-disk-0'就是成功了

  • 在Options → Boot Order将这块磁盘选中,并设置为第一启动顺序

    Boot Order

  • 完事儿之后可以把.img文件删除

Debian安装步骤

  • 可以直接在官网下载Debian镜像,进入PVE管理后台,在pve → local (pve) → ISO Images上传镜像(对应位置在/var/lib/vz/template/iso/),安装完后不要删除这个镜像
  • Disk Size我选了256GB,核心数选择了4核心,因为我的N100本身就是4核心,内存设置为了12GB
  • 安装完之后的.iso文件不能删除

PVE优化

使用了人人都在用的老虎大佬的脚本

wget -q -O /root/pve_source.tar.gz 'https://bbs.x86pi.cn/file/topic/2024-01-06/file/24f723efc6ab4913b1f99c97a1d1a472b2.gz' && tar zxvf /root/pve_source.tar.gz && /root/./pve_source