(四)制作LXC使用的openwrt模板

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

1.下载模板

首先在 这里 下载openwrt-x86-64-generic-squashfs-rootfs.img.gz。 也可以选择其他版本。约202M。

wget https://imgs.mpdn.fun:8443/lede/x86_64/2021-03-29__11-31-59--plus-daily/openwrt-x86-64-generic-squashfs-rootfs.img.gz

备用下载链接:https://openwrt.download/

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-plus-daily.tar.gz *

6.上传或复制到PVE对应目录,一般为/var/lib/vz/template/cache

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

7.【可选】自行编译

rootfs包的来源,可以自行在网上编译其它人的op,在make meunconfig 后, targert images --> 找到 rootfs 勾上tar.gz

二、进入PVE shell中,创建LXC,web中创建CT方式不可用

1.命令创建CT【注意标注的内容

pct create 203 local:vztmpl/openwrt-x86-64-generic-squashfs-rootfs-plus-daily.tar.gz --rootfs local-lvm:1 --ostype unmanaged --hostname OpenWrtAll --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

添加

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/

扫描二维码关注公众号,回复: 16958819 查看本文章

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

cp device_hook.sh /var/lib/lxc/203/device_hook.sh
chmod +x /var/lib/lxc/201/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("ethinfo")修改为local eth_info = nil
改完后不再显示lan口,日志也不会出现报错

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

local conn_max = tonumber(luci.sys.exec(
                        "sysctl -n -e net.netfilter.nf_conntrack_max net.ipv4.netfilter.ip_conntrack_max"
                ):match("%d+")) or 4096
  1. (待验证)解决断线不能重拔的问题
    修改hotplug的firewall事件
vim /etc/hotplug.d/iface/20-firewall
找到 fw3 -q reload 改为 fw3 -q restart

猜你喜欢

转载自blog.csdn.net/w946612410/article/details/115332256
今日推荐