<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/ DTD/wml_1.1.xml">

<wml>
<head>
<meta http-equiv="cache-control" content="max-age=180,private" />
</head>
<card title="PVE安装以及简单设置教程">
<p>
作者:<a href="index.php?action=showuser&amp;userid=1&amp;hash=">admin</a><br />时间:2023-12-21 09:34<br />分类:<a href="index.php?action=list&amp;cid=3&amp;hash=">电脑技术</a><br />内容:
PVE安装以及简单设置教程




一、PVE(Proxmox VE) 下载地址：


官网：https://www.proxmox.com/en/downloads


中科大：https://mirrors.ustc.edu.cn/proxmox/iso/


二、制作安装U盘


找个U盘制作PVE安装U盘 制作工具很多自行选择，例如Rufus、balenaEtche、Ventoy、UltralISO等。


注意：7.4版本使用Ventoy安装正常，但是8.x版本安装就无法加载ISO，启动失败，其他程序未测试。以下均为7.4版本的系统操作的。


三、安装PVE


按照系统提示认真填写信息即可


四、登录web管理


安装完成后按照系统提示登录web管理


选择语言为简体中文


https://ip:8006


登录账号root密码就是自己设置的root密码。


五、设置PVE


修改软件源为中科大：


在web管理的-pve-shell 或者ssh登录服务器输入以下命令


PVE换源




XML/HTML代码


    wget https://mirrors.ustc.edu.cn/proxmox/debian/proxmox-release-bullseye.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bullseye.gpg

    echo &quot;#deb https://enterprise.proxmox.com/debian/pve bullseye pve-enterprise&quot; &gt; /etc/apt/sources.list.d/pve-enterprise.list

    echo &quot;deb https://mirrors.ustc.edu.cn/proxmox/debian/pve bullseye pve-no-subscription&quot; &gt; /etc/apt/sources.list.d/pve-no-subscription.list







Debian换源




XML/HTML代码


    mv /etc/apt/sources.list /etc/apt/sources.list.bak

    vi /etc/apt/sources.list







粘贴下面内容保存退出




XML/HTML代码


    deb http://mirrors.ustc.edu.cn/debian/ bullseye main contrib non-free

    deb-src http://mirrors.ustc.edu.cn/debian/ bullseye main contrib non-free

    deb http://mirrors.ustc.edu.cn/debian/ bullseye-updates main contrib non-free

    deb-src http://mirrors.ustc.edu.cn/debian/ bullseye-updates main contrib non-free

    deb http://mirrors.ustc.edu.cn/debian/ bullseye-backports main contrib non-free

    deb-src http://mirrors.ustc.edu.cn/debian/ bullseye-backports main contrib non-free

    deb http://mirrors.ustc.edu.cn/debian-security/ bullseye-security main contrib non-free

    deb-src http://mirrors.ustc.edu.cn/debian-security/ bullseye-security main contrib non-free







输入 apt update &amp;&amp; apt upgrade -y 更新


使用脚本更新PVE源和修改PVE--pvetools


Github：https://github.com/ivanhao/pvetools


这是一个为proxmox ve写的工具脚本（理论上debian9+可以用）。包括配置邮件，samba，NFS，zfs，嵌套虚拟化，docker，硬盘直通等功能。


方式一：命令行安装


需要用root账号来运行


在终端中按行分别执行以下内容：


强烈建议先删除企业源：rm /etc/apt/sources.list.d/pve-enterprise.list




XML/HTML代码


    export LC_ALL=en_US.UTF-8

    apt update &amp;&amp; apt -y install git &amp;&amp; git clone https://mirror.ghproxy.com/https://github.com/ivanhao/pvetools.git

    cd pvetools

    ./pvetools.sh







一键无脑安装:




XML/HTML代码


    echo &quot;nameserver  8.8.8.8&quot; &gt;&gt; /etc/resolv.conf &amp;&amp; rm -rf pvetools &amp;&amp; rm -rf /etc/apt/sources.list.d/pve-enterprise.list &amp;&amp; export LC_ALL=en_US.UTF-8 &amp;&amp; apt update &amp;&amp; apt -y install git &amp;&amp; git clone https://mirror.ghproxy.com/https://github.com/ivanhao/pvetools.git &amp;&amp; echo &quot;cd /root/pvetools &amp;&amp; ./pvetools.sh&quot; &gt; pvetools/pvetools &amp;&amp; chmod +x pvetools/pvetools* &amp;&amp; ln -s /root/pvetools/pvetools /usr/local/bin/pvetools &amp;&amp; pvetools







方式二：wget离线下载安装（或者下载后ssh传到PVE服务器）




XML/HTML代码


    wget --no-check-certificate https://mirror.ghproxy.com/https://github.com/ivanhao/pvetools/releases/download/pve8/pvetools-pve8.0.3.zip

    unzip pvetools-pve8.0.3.zip

    cd pvetools-pve8.0.3

    ./pvetools.sh







如果提示没有权限，输入chmod +x ./*.sh


五、其他


修改 CT模板 为中科大镜像源


如果需要使用 Proxmox 网页端下载 CT Templates，可以替换 CT Templates 的源为 http://mirrors.ustc.edu.cn。


具体方法：将 /usr/share/perl5/PVE/APLInfo.pm 文件中默认的源地址 http://download.proxmox.com 替换为 https://mirrors.ustc.edu.cn/proxmox 即可。


可以使用如下命令：




XML/HTML代码


    cp /usr/share/perl5/PVE/APLInfo.pm /usr/share/perl5/PVE/APLInfo.pm_bak

    sed -i 's|http://download.proxmox.com|https://mirrors.ustc.edu.cn/proxmox|g' /usr/share/perl5/PVE/APLInfo.pm







针对 /usr/share/perl5/PVE/APLInfo.pm 文件的修改，执行 systemctl restart pvedaemon 后生效。


模板自带的镜像如果不全，可以手动添加镜像，只需要选择 从URL下载 ，添加需要的系统URL地址，点查询网址，然后点下载即可，此时可以关闭窗口，系统后台下载。


常见的系统镜像见下面地址：


https://mirrors.ustc.edu.cn/proxmox/images/system/


六、经验


PVE其实就是在Debian系统上安装了一个web管理程序，管理KVM和LXC。kvm是linux平台原生虚拟化平台，docker是程序的容器化，而lxc则是介于两者之间的系统的容器化，属于半虚拟化。


真正的虚拟化是全硬件的虚拟化，有 XEN，KVM，VMware、Hyper-V这几个，其中kvm是免费的，可玩性高，VMware的是商业的，稳定，设置简单，这两个用的最多。


LXC虽然是轻量级的内核虚拟化技术，但是对于个人学习Linux技术，测试程序也是够用了，操作简单，一键搭建，可建立快照，简单易用，可以快速搭建自己需要的环境，部署应用程序。


另外KVM部分，网上教程太多了，可自行搜索。


附常用磁盘转换以及导入命令：


PVE使用qemu-img转换磁盘格式




命令用法


qemu-img convert -f &lt;原格式&gt; -O &lt;目标格式&gt; &lt;原文件路径&gt; &lt;目标文件路径&gt; 


这里 -f &lt;原格式&gt;可以忽略。qemu-img会自动识别






XML/HTML代码


    vmdk转qcow2

    qemu-img convert -O qcow2 test.vmdk test.qcow2

    #qcow2转vmdk

    qemu-img convert -O vmdk test.qcow2 test.vmdk

    vdi转qcow2

    qemu-img convert -O qcow2 test.vdi test.qcow2

    vhd&amp;vhdx转qcow2

    qemu-img convert -O qcow2 test.vhdx test.qcow2

    RAW转qcow2

    qemu-img convert -O qcow2 test.raw test.qcow2

    img转qcow2

    qemu-img convert -O qcow2 test.img test.qcow2




 PVE为vm导入已有的磁盘镜像/qcow2/vmdk




使用qm importdisk命令导入


qm importdisk  &lt;vmid&gt; &lt;images-name&gt; &lt;storage pool&gt;  --format=&lt;disk-fs&gt; 


vmid：vm的id 例如102


images-name：磁盘镜像的名字


storage pool: 存储磁盘镜像的位置，如lvm-thin local


disk-fs: 磁盘镜像格式  raw/vmdk/qcow2




例如将黑群晖引导 DS3617xs_DSM6.1_Broadwell.img 导入到ID为 103 的虚拟机




XML/HTML代码


    qemu-img convert -f raw -O qcow2 DS3617xs_DSM6.1_Broadwell.img vm-103-disk-2.qcow2

    qm importdisk 103 vm-103-disk-2.qcow2 local







注意：LXC中安装docker时候必须勾选 无特权的容器 ，否则会安装失败。


制作LXC使⽤的openwrt模板




⼀、制作rootfs.tar.gz压缩包


1.下载模板


⾸先下载openwrt-x86-64-generic-squashfs-rootfs.img.gz 。 也可以选择其他版本。


2.安装解包软件


apt install squashfs-tools


3.解压


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

4.对得到的img进⾏解包


unsquashfs openwrt-x86-64-generic-squashfs-rootfs.img


5.进⼊⽬录，重新打包为pve的CT模板


cd squashfs-root/


tar -czf ../openwrt-x86-64-generic-squashfs-rootfs.tar.gz *


6.上传或复制到PVE对应⽬录，⼀般为/var/lib/vz/template/cache


cd ..


cp openwrt-x86-64-generic-squashfs-rootfs.tar.gz /var/lib/vz/template/cache/


7.【可选】⾃⾏编译


rootfs包的来源，可以⾃⾏在⽹上编译其它⼈的op，在make meunconfig 后， targert images --&gt; 找到 rootfs 勾上tar.gz


⼆、进⼊PVE shell中，创建LXC，web中创建CT⽅式不可⽤


1.命令创建CT【注意标注的内容】


XML/HTML代码


    pct create 203 local:vztmpl/openwrt-x86-64-generic-squashfs-rootfs.tar.gz --rootfs local-lvm:1 --ostype unmanaged --hostname OpenWrt --arch amd64 --cores 2 --memory 1024 --swap 0 -net0 bridge=vmbr0,name=eth0





命令注释：


创建LXC，2线程，内存1024，local-lvm:0.5 = LXC安装OP空间⼤⼩相当于512M ,如果要跑其它可以改为1或者2，或者执⾏后直接界⾯增加空间。


2. op的lxc配置⽂件 /etc/pve/lxc/lxcid.conf


lxcid为你容器id，上⾯脚本是203请⾃⾏修改


vim /etc/pve/lxc/203.conf


添加




XML/HTML代码


    lxc.mount.auto: cgroup:rw

    lxc.mount.auto: proc:rw

    lxc.mount.auto: sys:rw

    lxc.include: /usr/share/lxc/config/openwrt.common.conf

    lxc.cap.drop: sys_admin

    lxc.apparmor.profile: unconfined

    lxc.cgroup.devices.allow: c 108:0 rwm

    lxc.autodev: 1

    lxc.cgroup.devices.allow: c 10:200 rwm

    lxc.hook.autodev: /var/lib/lxc/203/device_hook.sh

    lxc.mount.entry: tmp tmp tmpfs rw,nodev,relatime,mode=1777 0 0







3. 将下载压缩包中的 device_hook.sh 复制到/var/lib/lxc/lxcid/


/var/lib/lxc/lxcid/需要修改为上⾯的203


cp device_hook.sh /var/lib/lxc/203/device_hook.sh


chmod +x /var/lib/lxc/203/device_hook.sh


4. 进⼊203容器


这时候，可以直接去pve的管理界⾯看到刚才创建的lxc，可以在上⾯添加⽹卡，启停等在pve的控制台启动Op。


进到op命令⾏ mv /sbin/modprobe sbin/mde 因为在lxc⾥⾯不能调起modprobe的，⼀般应⽤会判断有没有这个，没有就会⽤insmod


修正主页显⽰ 以下去掉lan⼝显⽰报错


vim /usr/lib/lua/luci/view/admin_status/index.htm


找到 local eth_info = luci.sys.exec(&quot;ethinfo&quot;) 修改为 local eth_info = nil


改完后不再显⽰lan⼝，⽇志也不会出现报错


以下修改最⼤连接数因为在lxc⾥⾯是获取不到那个参数 找到 local conn_max = xxx 修改为下⾯


local conn_max = tonumber(luci.sys.exec(


&quot;sysctl -n -e net.netfilter.nf_conntrack_max net.ipv4.netfilter.ip_conntrack_max&quot;


):match(&quot;%d+&quot;)) or 4096


5. (待验证)解决断线不能重拔的问题


修改hotplug的firewall事件


vim /etc/hotplug.d/iface/20-firewall


找到 fw3 -q reload 改为 fw3 -q restart




如果下载的是 openwrt-x86-64-generic-squashfs-combined.img.gz 文件，上传到服务器。 1-5步骤可以改成如下操作：






XML/HTML代码


    mkdir openwrt &amp;&amp; cd openwrt

    cp ~/openwrt-x86-64-generic-squashfs-combined.img.gz .

    gunzip openwrt-x86-64-generic-squashfs-combined.img.gz

    Total_size=$((`fdisk -l openwrt-x86-64-generic-squashfs-combined.img|grep .img2|awk '{print $2}'` * 512))

     

    mkdir op

    mount -o loop,offset=$Total_size openwrt-x86-64-generic-squashfs-combined.img ./op

    tar czf openwrt-rootfs.tar.gz -C ./op .

     

    然后把制作好的模板上传或复制到PVE的CT模板目录/var/lib/vz/template/cache

    cp ./openwrt-rootfs.tar.gz   /var/lib/vz/template/cache/




其实不管那种格式和方法，原理都是将得到的openwrt解压并挂载磁盘文件，然后压缩成模板文件，其他系统或者dd镜像也可以使用相同方法制作成模板。


LXC和docker中的openwrt一样，能正常使用，但是无法和正常openwrt一样web升级。作为科学用旁路由是没任何问题的，不需要上面修改配置过程都可以正常使用。


注意：LXC的openwrt启动后dnsmasq无法启动，造成ip正常但是无法解析域名，解决方法是修改 /etc/init.d/dnsmasq 启动脚本中的代码，将dnsmasq_start()函数末尾中 procd_add_jail 开头的几行代码注释掉， 然后重启dnsmasq服务或者重启系统，DNS即可恢复正常工作。




参考1  参考2  参考3 参考4 参考5  脚本  lxc-openwrt


更多PVE教程：https://foxi.buduanwang.vip/pve/       https://www.frytea.com/tags/pve/


lxc开启tun-br




1、修改PVE宿主机中对应LXC容器的配置文件


对于PVE来说，要启用TUN接口，我们需要向LXC配置文件中添加一些配置信息


LXC配置文件位置（xxx为容器的id，如100等）：


临时生效（由永久地址在LXC容器开机时，映射过去，关机后失效）


/var/lib/lxc/xxxx/config


永久生效（建议修改此处，毕竟我们是需要长期开启tun-br）


/etc/pve/lxc/xxxx.conf


2、为LXC容器配置文件底部新增如下行：


【建议】创建有特权的容器，来开启tun-br，否则可能由于权限问题，面临报错等，太折腾了。




vi /etc/pve/lxc/2001.conf




XML/HTML代码


    lxc.cgroup.devices.allow = c 10:200 rwm

    lxc.hook.autodev = sh -c &quot;modprobe tun; cd ${LXC_ROOTFS_MOUNT}/dev; mkdir net; mknod net/tun c 10 200; chmod 0666 net/tun&quot;




最终完整的lxc配置如下（略有不同）：




XML/HTML代码


    root@cxt-test:~# cat /etc/pve/lxc/2001.conf

    arch: amd64

    cores: 2

    hostname: ODC-SyncServer-CNGD1

    memory: 2048

    net0: name=eth0,bridge=vmbr0,hwaddr=BE:16:E2:EE:CE:51,ip=dhcp,type=veth

    onboot: 1

    ostype: ubuntu

    rootfs: local-zfs:subvol-2001-disk-0,size=200G

    swap: 2048

    lxc.cgroup.devices.allow: c 10:200 rwm

    lxc.hook.autodev: sh -c &quot;modprobe tun; cd ${LXC_ROOTFS_MOUNT}/dev; mkdir net; mknod net/tun c 10 200; chmod 0666 net/tun&quot;

    root@cxt-test:~#




3、开机进入容器，执行以下命令，并重启容器




XML/HTML代码


    cd /dev

    mkdir net

    mknod net/tun c 10 200

    chmod 0666 net/tun





如果有小报错，不影响结果，执行完重启即可。（需要为有特权root的容器）


重启容器后，tun-br已经开启，可以安装和正常使用需要tun接口的软件了。


PROXMOX中的LXC容器上启用TUN端口，解决ZeroTier和OpenVPN等需要tun-br的问题


我们可以看到，ip addr 已经出现了zerotier的网卡接口，在本地以通过ssh连接内网地址，连接成功，说明lxc容器的tun已经正确开启。参考


注意：在Proxmox ve 8.2 或者更新版本中，通过在LXC容器--资源--添加--Device Passthrough--Device Path 写入 /dev/net/tun 添加，就可以实现快速直通宿主机tun虚拟网卡。


PVE基础知识：


pve模板下载地址：




XML/HTML代码


    中科大     https://mirrors.ustc.edu.cn/proxmox/images/system/

    清华源     https://mirrors.tuna.tsinghua.edu.cn/proxmox/images/system/




功能配置文件路径：




XML/HTML代码


    /etc/pve/ha/resources.cfg  #ha相关的资源配置（请求状态包含四种：started、stoped、ignored、disabled最后这个是将故障vm移除ha群组）

    /etc/pve/storage.cfg       #pve存储的相关配置（支持的类型很多dir: local、lvmthin: local-lvm等等）

    /etc/vzdump.conf           #虚拟机配置程序配置文件(可以决定自动备份保留的份数)

    /etc/pve/vzdump.cron       #pve备份程序的定时任务




镜像和模板路径：




XML/HTML代码


    /var/lib/vz/template/iso    #pve默认iso镜像上传目录

    /var/lib/vz/template/cache  #pve默认lxc模板的保存路径

    /var/lib/vz/dump            #pve的备份镜像 存放路径




分布式防火墙配置文件：




XML/HTML代码


    /etc/pve/firewall/cluster.fw

    /etc/pve/nodes/node_name/host.fw

    /etc/pve/firewall/vm_id.fw





pve命令行工具介绍


创建pve集群






XML/HTML代码


    第一：在其中一台上创建集群

    pvecm create pve-cluster01

    pvecm status

    第二：集群中添加节点（不能有虚拟机在上面跑，最好是干干净净的新节点）

    pvecm add 192.168.0.2       #这个地址是集群的地址，需要在具体要加入集群的pve节点上执行

    #pvecm add 192.168.0.2 -f       #有时可能会出现莫名的东西，可以使用-f强制添加

    #/etc/hosts     #这个文件在pve中很重要，不正确可能导致 无法加入集群等问题

    #hostname --ip-address      #该命令检查本机ip是否正确（与/etc/hosts中指定的进行比较）

    其他命令

    pvecm nodes                     #查看集群节点

    pvecm delnode 192.168.0.2       #删除集群节点

    pvecm help                      #查看帮助

    分布式防火墙

    pve-firewall start/stop/restart/status




将lvm格式磁盘转换为qcow2磁盘（用虚拟机的ID:107来演示）




XML/HTML代码


    #qemu-img convert -p $INPUTDISK -c -O $FORMAT $NEWDISK     #-p 表示输入，-c压缩

    #qemu-img convert -p $INPUTDISK -c -O $FORMAT -o subformat=streamOptimized $NEWDISK   #如果需要esxi导入则需要加水-o参数

    qemu-img convert -p /dev/pve/vm-107-disk-0 -c -O qcow2 kvm107-system.qcow2




如何将镜像导入虚拟机




XML/HTML代码


    #qm importdisk &lt;vmid&gt; &lt;source_disk&gt; &lt;storage_id&gt;

    qm importdisk 109 kvm107-system.qcow2 local-lvm     #将磁盘导入109虚拟机中（109要事先创建，并且导入后会创建一个磁盘），存储形式是lvm，local-lvm是存储ID





PVE使用CLI备份和还原虚拟机


为KVM和LXC虚拟机提交备份的命令是相同的






XML/HTML代码


    查看存储ID

    root@pve:~# cat /etc/pve/storage.cfg

    dir: local                      #其实存储就是这个  local

        path /var/lib/vz

        content iso,vztmpl,backup

    zfspool: local-zfs

        pool rpool/data

        sparse

        content images,rootdir

    备份(不区分KVM和LXC)

     vzdump 102 --storage local      #102是虚拟机id；不指定--mode,默认是 &quot;停止虚拟机进行备份&quot;

    还原KVM

    qmrestore /var/lib/vz/dump/vzdump-qemu-104-2019_08_21-15_23_32.vma.gz 108   #路径 新ID（这个ID要不存在才行）

    还原LXC

    pct restore new_id /var/lib/vz/dump/vzdump-qemu-104-2019_08_21-15_23_32.vma.gz

    将某硬件直通（没测试过）

    qm set 100 -sata0 /dev/disk/by-id/ata-Colorful_xxxxxxxxxxxxxxxxxxx





XML/HTML代码


    pve迁移虚拟机过程中，操作失败如何解除锁定（命令如下）

    qm unlock &lt;vmid&gt; 

    pveversion -V       #查看pve各个组件的版本。（包括novnc-pve、qemu-server、corosync等等）

    pveversion          #查看pve的版本





给ID为301的LXC硬盘扩容，增加40G（适用于raw和qcow2格式）

XML/HTML代码


    #进入301的LXC虚拟机磁盘目录

    cd /var/lib/vz/images/301

    #查看磁盘名称

    ls

    #查看磁盘的信息

    qemu-img info vm-301-disk-1.raw

    #给此磁盘增加40G空间

    qemu-img resize  vm-301-disk-1.raw +40G

    #查看扩容后磁盘的信息

    qemu-img info vm-301-disk-1.raw

    #检查该磁盘有无问题

    e2fsck -f vm-301-disk-1.raw

    #resize2fs指令扩容实际大小

    resize2fs vm-301-disk-1.raw






以上命令按需灵活使用。




ROS导入PVE虚拟机


1、上传OVA文件


注意下文中的 ros.ova、ROS7-6G.ovf 都应使用你实际文件名代替


将 ros.ova文件上传至任意目录并解压OVA文件


SSH进入PVE命令行




XML/HTML代码


    tar -xvf ros.ova







解压已授权文件会得到以下4个文件




XML/HTML代码


    ROS7-6G.ovf

    ROS7-6G.mf

    ROS7-6G-disk1.vmdk

    ROS7-6G-file1.nvram







我们这里只需要 ROS7-6G.ovf 导入虚拟机




XML/HTML代码


    qm importovf 106 ROS7-6G.ovf local --format qcow2







106为虚拟机ID，必须选择一个未被占用的ID，ovf文件包含了虚拟机配置


2、修改虚拟机配置


导入的固件如果是UEFI版，需将bios改为OVMF


修改 /etc/pve/qemu-server/106.conf




XML/HTML代码


    ,model=VMware%20Virtual%20IDE%20Hard%20Drive,serial=00000000000000000001







将其粘贴在 ide0: local:666m-666-disk-0.qcow 后，无空格间隔，直接粘在后面。然后保存退出就可以了。


注意：


1、新虚拟机内硬盘ide0不要动，会丢授权


2、cpu、内存、pcie设备、新增硬盘都是可以的




3、本地用WinRAR或者7zip等解压工具一样可以得到OVA文件，直接上传导入也一样。


附：MikroTik RouterOS Crack  nextadmin.net


在PVE终端运行如下命令创建Openwrt LXC（加载tun虚拟网卡）详细步骤：


1、将openwrt-x86-64-generic-squashfs-rootfs.tar.gz上传至PVE存储，web上传或者ssh传到到 /var/lib/vz/template/cache ，将下方默认 local:vztmpl 改为自己的存储目录。


2、在PVE终端运行如下命令创建Openwrt LXC




XML/HTML代码


    pct create 101 \

    local:vztmpl/openwrt-x86-64-generic-squashfs-rootfs.tar.gz \

    --rootfs local-lvm:1 \

    --ostype unmanaged \

    --hostname OpenWrt \

    --arch amd64 \

    --cores 2 \

    --memory 512 \

    --onboot 1 \

    --swap 0 \

    --features nesting=1 \

    --net0 bridge=vmbr0,name=eth0,ip=dhcp,ip6=dhcp \

    --net1 bridge=vmbr1,name=eth1,ip=dhcp,ip6=dhcp \

    --mp10 /mnt/sda1/share/cert,mp=/etc/acme,size=1





--net0 建议接入PVE的LAN网络如 我的vmbr0


--net1 建议接入PVE的WAN网络如 我的vmbr1


--mp10 需要让openwrt访问的PVE目录，/mnt/sda1/share/cert为PVE目录，/etc/acme为openwrt内目录，示例用来实现openwrt的ACME获取到的证书共享给PVE实现PVE下所有系统都使用这个证书。




3、编辑openwrt LXC的配置文件加载tun网卡




XML/HTML代码


    nano /etc/pve/lxc/101.conf







文件最后添加如下内容




XML/HTML代码


    lxc.cgroup2.devices.allow: c 10:200 rwm

    lxc.hook.autodev = sh -c &quot;modprobe tun; cd ${LXC_ROOTFS_MOUNT}/dev; mkdir net; mknod net/tun c 10 200; chmod 0666 net/tun&quot;




启动LXC容器即可正常使用，tun虚拟网卡加载正常。


一键傻瓜设置工具


Github：https://github.com/roacn/pve




1 安装curl、wget、squashfs-tools工具


使用root用户登录，执行以下命令


XML/HTML代码


    apt update &amp;&amp; apt install -y curl wget squashfs-tools





2 PVE一键换源、去订阅等


方式一：PVE中输入以下命令安装pve.sh，然后在PVE命令行中直接输入 pve 运行 推荐


XML/HTML代码


    wget https://gh-proxy.com/https://raw.githubusercontent.com/roacn/pve/main/pve.sh -O /usr/bin/pve &amp;&amp; chmod +x /usr/bin/pve





在PVE命令行中输入以下命令即可运行脚本




XML/HTML代码


    pve







方式二：直接运行


XML/HTML代码


    bash -c  &quot;$(curl -fsSL https://gh-proxy.com/https://raw.githubusercontent.com/roacn/pve/main/pve.sh)&quot;





3 LXC容器OpenWrt安装、更新


3.1 下载


方式一：PVE中直接使用 openwrt 命令运行自动安装更新脚本 推荐


XML/HTML代码


    wget https://gh-proxy.com/https://raw.githubusercontent.com/roacn/pve/main/openwrt.lxc.sh -O /usr/bin/openwrt &amp;&amp; chmod +x /usr/bin/openwrt





在PVE命令行中输入以下命令运行脚本，进行安装或更新操作！




XML/HTML代码


    openwrt







方式二：直接运行


XML/HTML代码


    bash -c  &quot;$(curl -fsSL https://gh-proxy.com/https://raw.githubusercontent.com/roacn/pve/main/openwrt.lxc.sh)&quot;





完成！


3.2 设置


固件下载相关


XML/HTML代码


    选项            说明                   默认值  

    仓库地址    github用户名称/仓库名称   roacn/build-actions

    TAG名称    所在release的tag名称      AutoUpdate-x86-lxc

    API文件    所在release的附件api文件名称 zzz_api

    固件格式    .tar.gz或.img.gz格式固件；

    设置为default，默认获取云端两种格式固件；

    设置为.tar.gz，则只获取云端.tar.gz格式固件；

    设置为.img.gz，则只获取云端.img.gz格式固件  default





OpenWrt容器相关


XML/HTML代码


    选项              说明                      默认值

    容器ID     lxc容器id，需要&gt;=100              100

    容器名称    lxc容器管理页面显示的名称          OpenWrt

    CPU核心    lxc容器分配CPU核心数               4

    内存大小    lxc容器分配内存大小，单位MB        1024

    磁盘大小    lxc容器分配磁盘大小，单位GB        2

    交换分区    lxc容器分配交换分区大小，单位MB     512

    网络接口    lxc容器分配的网络接口数量            1

    开机自启    是否启用开机自启动，1为开启，0为不开启 1

    启动顺序    在所有PVE虚拟机的启动排序            1







此脚本功能更多更简单傻瓜，建议使用。




</p><p>
<a href="index.php?action=login&amp;hash=">立即登陆发表评论</a><br />
</p>
<p><a href="index.php?action=list&amp;hash=">返回日志列表</a><br /><a href="index.php?action=index&amp;hash=">返回主页</a></p>
</card>
</wml>
