原因

不想用虚拟机安装,lxc性能更好,资源占用更少

下载

openwrt镜像下载:https://openwrt.ai,如需lxc安装,记得下rootfs格式的。

安装

OpenWRT常规img.gz转化为PVE LXC CT模版rootfs.tar.gz及简单安装 2023-05-19 3,274 0

此文参考这里

# 下载镜像
wget https://dl.openwrt.ai/releases/targets/x86/64/openwrt-11.19.2023-x86-64-generic-rootfs.tar.gz

# 创建容器
pct create 200 openwrt-11.19.2023-x86-64-generic-rootfs.tar.gz --rootfs local-lvm:0.5 --ostype unmanaged --hostname ct-openwrt --arch amd64 --cores 2 --memory 512 --swap 0 -net0 bridge=vmbr0,name=eth0 --unprivileged 0

上面创建容器命令参数说明如下:

pct create:创建一个容器

200:容器的 ID,这里指定为 200

openwrt-11.19.2023-x86-64-generic-rootfs.tar.gz:容器使用的根文件系统模板

  • -rootfs local-lvm:0.5:给容器分配 0.5G 的本地 LVM 存储

  • -ostype unmanaged:标记该容器的类型为 unmanaged,即未托管

  • -hostname ct-openwrt:容器的主机名为 ct-openwrt

  • -arch amd64:容器架构为 amd64

  • -cores 2:分配 2 个 CPU 核心给容器

  • -memory 512:分配 512 MB 内存给容器

  • -swap 0:不分配 swap

  • -net0 bridge=vmbr0,name=eth0:分配 eth0 网卡,桥接 vmbr0 接口

  • --unprivileged 0:创建一个有特权的LXC容器

其他

ttyd问题:

在内网使用内网ip打开openwrt的时候,TTYD是可以正常访问的。

异常

  • 如果使用ipv6,外网用域名打开openwrt,TTYD是无法访问的,因为TTYD在openwrt里就是监听的本地ip地址。
  • 如果使用ipv6,外网用ipv6打开openwrt,TTYD是可以访问的,需要做如下配置:
    • 添加Dropbear ipv6实例
      • openwrt管理后台-系统-管理权
        • Dropbear 实例 添加
          • 接口:lan6
          • 密码验证、允许root登录、网关端口,全开
    • 修改TTYD配置
netstat -ltnp | grep ttyd # 查看TTYD监听端口是否有ipv6
uci delete ttyd.@ttyd[0].interface # 删除接口绑定选项
uci set ttyd.@ttyd[0].ipv6='on' # 增加ipv6选项设置为on  
uci commit ttyd # 保存设置   
/etc/init.d/ttyd restart # 重启ttyd

参考地址:https://www.right.com.cn/FORUM/forum.php?mod=viewthread&tid=8180458&highlight=ttyd%2Bipv6