通过LXD/LXC命令批量或单独开设NAT服务器以及维护(简称母鸡开小鸡)(Bulk or individual NAT server provisioning and maintenance via LXD/LXC commands).
https://t.me/VPS_spiders
更新时间:2023.03.04
待解决的问题
使得母鸡支持更多的系统版本
一键母鸡开小鸡
-
已设置同时进行TCP和UDP转发,除了SSH端口其他的映射内网外网端口一致,且只适用于Ubuntu或Debian
-
已设置支持开出的LXC容器进行docker嵌套虚拟
-
已屏蔽容器内可能用于滥用的工具包和IPV4网络的TCP/UDP协议的端口( 3389 8888 54321 65432 ),以防止容器被用于扫描和爆破,且可外置进程检查有问题自动停机
-
已支持一键为LXC容器配置IPV6地址(前提是母鸡有IPV6子网,无IPV6地址则不配置)
-
本套脚本开发使用的Ubuntu20,Ubuntu别的长期维护版本应该也没问题,但debian系列多半有
zfs
的问题,自行解决 -
一定要在
/root
的路径下运行本仓库脚本,且使用实验性一键脚本
的不要删除路径下的ssh.sh
和config.sh
文件 -
保证你要开的盘为默认的系统盘(sda或者sda1)而不是挂载的盘(sdb之类的),不确定的使用
fdisk -l
和df
查看 -
挂载其他盘的详看 其他说明
-
一键脚本支持自定义限制所有内容
手动安装(新手推荐,避免有bug不知道怎么修)
- 批量生成NAT服务器
普通版本(带1个SSH端口,25个外网端口)
纯探针版本(只有一个SSH端口)
开完小鸡后,具体信息会生成在当前目录下的log文件中,格式如下
不要拿该脚本开出的小鸡当生产环境,lxc虚拟化不支持换内核,dd,开启bbr,纯探针版本(普通版本无问题)挂载warp等操作
实验性一键脚本(不保证无bug)
- 环境要求:推荐为Ubuntu系统,Debian系统会出现zfs问题,只能使用手动事先安装zfs解决
- 只生成一个NAT服务器
一键安装lxd环境
下载文件
curl -L https://raw.githubusercontent.com/spiritLHLS/lxc/main/lxdinstall.sh -o lxdinstall.sh && chmod +x lxdinstall.sh
设置母鸡内存虚拟化大小以及资源池硬盘大小
./lxdinstall.sh 内存大小以MB计算 硬盘大小以GB计算
只开一个NAT服务器
下载开机脚本
rm -rf buildone.sh
wget https://github.com/spiritLHLS/lxc/raw/main/buildone.sh
chmod 777 buildone.sh
apt install dos2unix -y
dos2unix buildone.sh
开NAT服务器
内存大小以MB计算,硬盘大小以GB计算,下载速度上传速度以Mbit计算,是否启用IPV6不一定要填Y或者N,没有这个参数也行
如果外网起端口
和外网止端口
都设置为0则不做区间外网端口映射了,只映射基础的SSH端口,注意不能为空
,不进行映射需要设置为0
./buildone.sh 小鸡名称 内存大小 硬盘大小 SSH端口 外网起端口 外网止端口 下载速度 上传速度 是否启用IPV6(Y or N)
示例
./buildone.sh test 256 2 20001 20002 20025 300 300 N
这样就是创建一个名为test的小鸡,内存256MB,硬盘2G,SSH端口20001,内外网起止端口20002~20025,下载和上传速度都设置为300Mbit,且不自动设置外网IPV6地址
其他配置
自动配置IPV6地址
- (非必须,该脚本仅适用于母鸡有给IPV6子网且母鸡绑定了子网的第一个IPV6,不使用的也没问题)
- 自动为LXD创建的LXC容器配置IPV6地址
- 已集成到buildone中可使用变量控制,该脚本可不手动使用,在使用buildone时配置Y开启即可
下载脚本
curl -L https://raw.githubusercontent.com/spiritLHLS/lxc/main/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh
自动为容器配置IPV6映射地址
bash build_ipv6_network.sh 容器名称
映射完毕会打印信息
示例(给test容器自动配置IPV6地址,配置完成会写入一个test_v6的文件信息)
bash build_ipv6_network.sh test
屏蔽容易被滥用的端口的出入流量以屏蔽端口和屏蔽滥用工具包
- (非必须,该脚本仅仅是为了防止容器滥用方便,不装的也没问题)
curl -L https://github.com/spiritLHLS/lxc/raw/main/rules.sh -o rules.sh && chmod +x rules.sh && bash rules.sh
配置监控屏蔽某些进程的执行,遇到某些进程的出现直接关闭容器
- 如需停止监控可使用
screen
命令停止lxc_moniter
这个名字的窗口并删除 - (非必须,该脚本仅仅是为了防止容器滥用方便,不装的也没问题)
curl -L https://github.com/spiritLHLS/lxc/raw/main/build_monitor.sh -o build_monitor.sh && chmod +x build_monitor.sh && bash build_monitor.sh
一键安装开lxd母鸡所需要的带vnstat环境的常用预配置环境
- (非必须,该脚本仅仅是为了站点对接监控方便,不装的也没问题)
curl -L https://raw.githubusercontent.com/spiritLHLS/lxc/main/backend.sh -o backend.sh && chmod +x backend.sh && bash backend.sh
致谢
https://discuss.linuxcontainers.org/
https://discuss.linuxcontainers.org/t/how-to-run-docker-inside-lxc-container/13017/4
https://discuss.linuxcontainers.org/t/error-seccomp-notify-not-supported-on-container-start/15038/3
https://discuss.linuxcontainers.org/t/how-do-i-assign-a-public-ipv6-address-to-a-lxc-container/6028
感谢 @Ella-Alinda @fscarmen 提供的指导
友链
VPS融合怪测评脚本
https://github.com/spiritLHLS/ecs
朋友写的针对合租服务器使用的(需要有一定的LXD或LXC基础,否则你看不懂部分设置)(更新可能有点缓慢)
https://github.com/MXCCO/lxdpro
from https://github.com/spiritLHLS/lxc
----------------------------------------------------
related posts:
https://briteming.blogspot.com/2021/06/ubuntu.html (LXC Container部分)
https://briteming.blogspot.com/2020/04/lxdweb.html
No comments:
Post a Comment