通过LXD/LXC命令批量或单独开设NAT服务器以及维护(简称母鸡开小鸡)(Set up NAT servers in batches or individually through LXD/LXC

本文主要是介绍通过LXD/LXC命令批量或单独开设NAT服务器以及维护(简称母鸡开小鸡)(Set up NAT servers in batches or individually through LXD/LXC,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

lxc

原始仓库:https://github.com/spiritLHLS/lxc

更新时间:2023.01.15

待解决的问题

使得母鸡支持更多的系统版本

一键母鸡开小鸡

  • 已设置同时进行TCP和UDP转发,除了SSH端口其他的映射内网外网端口一致,且只适用于Ubuntu或Debian

  • 已设置支持开出的LXC容器进行docker嵌套虚拟

  • 本套脚本开发使用的Ubuntu20,Ubuntu别的长期维护版本应该也没问题,但debian系列多半有zfs的问题,自行解决

  • 一定要在 /root的路径下运行本仓库脚本

  • 保证你要开的盘为默认的系统盘(sda或者sda1)而不是挂载的盘(sdb之类的),不确定的使用fdisk -ldf查看

挂载其他盘的详看 其他说明

手动安装(新手推荐,避免有bug不知道怎么修)

普通版本(带1个SSH端口,25个外网端口)

开出的小鸡配置:1核256MB内存1GB硬盘限速250MB

自动关闭防火墙

apt update
apt install curl wget sudo dos2unix ufw -y
ufw disable

内存看你开多少小鸡,这里如果要开8个,换算需要2G内存,实际内存如果是512MB内存,还需要开1.5G,保守点开2G虚拟内存即可

执行下面命令,输入1,再输入2048,代表开2G虚拟内存

curl -L https://raw.githubusercontent.com/spiritLHLS/lxc/main/swap.sh -o swap.sh && chmod +x swap.sh && bash swap.sh

实际swap开的虚拟内存应该是实际内存的2倍,也就是开1G是合理的,上面我描述的情况属于超开了

apt install snapd -y
snap install lxd
/snap/bin/lxd init

如果上面的命令中出现下面的错误

(snap “lxd” assumes unsupported features: snapd2.39 (try to update snapd and refresh the core snap))

使用命令修补后再进行lxd的安装

snap install core

如果无异常,上面三行命令执行结果如下

一般的选项回车默认即可

选择配置物理盘大小(提示默认最小1GB那个选项),一般我填空闲磁盘大小减去内存大小后乘以0.95并向下取整

提示带auto的更新image的选项记得选no,避免更新占用

软连接lxc命令

! lxc -h >/dev/null 2>&1 && echo 'alias lxc="/snap/bin/lxc"' >> /root/.bashrc && source /root/.bashrc
export PATH=$PATH:/snap/bin

测试lxc有没有软连接上

lxc -h

lxc命令无问题,执行初始化开小鸡,这一步最好放screen中后台挂起执行,开小鸡时长与你开几个和母鸡配置相关

执行下面命令加载开机脚本

rm -rf init.sh
wget https://github.com/spiritLHLS/lxc/raw/main/init.sh
chmod 777 init.sh
apt install dos2unix -y
dos2unix init.sh

下面命令为开小鸡名字前缀为tj10个小鸡

./init.sh tj 10

有时候init.sh的运行路径有问题,此时建议前面加上sudo强制根目录执行

纯探针版本(只有一个SSH端口)

开出的小鸡配置:1核128MB内存300MB硬盘限速200MB

自动关闭防火墙

apt update
apt install curl wget sudo dos2unix ufw -y
ufw disable

内存看你开多少小鸡,这里如果要开10个,换算需要1G内存,实际内存如果是512MB内存,还需要开0.5G,保守点开1G虚拟内存即可

执行下面命令,输入1,再输入1024,代表开1G虚拟内存

curl -L https://raw.githubusercontent.com/spiritLHLS/lxc/main/swap.sh -o swap.sh && chmod +x swap.sh && bash swap.sh

实际swap开的虚拟内存应该是实际内存的2倍,也就是开1G是合理的,再多就超开了

apt install snapd -y
snap install lxd
/snap/bin/lxd init

如果上面的命令中出现下面的错误

(snap “lxd” assumes unsupported features: snapd2.39 (try to update snapd and refresh the core snap))

使用命令修补后再进行lxd的安装

snap install core

如果无异常,上面三行命令执行结果如下

一般的选项回车默认即可

选择配置物理盘大小(提示默认最小1GB那行),一般我填空闲磁盘大小减去内存大小后乘以0.95并向下取整

提示带auto的更新image的选项记得选no,避免更新占用

软连接lxc命令

! lxc -h >/dev/null 2>&1 && echo 'alias lxc="/snap/bin/lxc"' >> /root/.bashrc && source /root/.bashrc
export PATH=$PATH:/snap/bin

测试lxc有没有软连接上

lxc -h

lxc命令无问题,执行初始化开小鸡,这一步最好放screen中后台挂起执行,开小鸡时长与你开几个和母鸡配置相关

加载开机脚本

rm -rf least.sh
wget https://github.com/spiritLHLS/lxc/raw/main/least.sh
chmod 777 least.sh
apt install dos2unix -y
dos2unix least.sh

下列命令最后一行为开小鸡名字前缀为tj10个小鸡

./least.sh tj 10

有时候least.sh的运行路径有问题,此时建议前面加上sudo强制根目录执行

开完小鸡后,具体信息会生成在当前目录下的log文件中,格式如下

1号服务器名称 密码 ssh端口 外网端口起始 外网端口终止
2号服务器名称 密码 ssh端口 外网端口起始 外网端口终止

如果想要查看,只需在当前目录执行以下命令打印log文件即可

cat log
不要拿该脚本开出的小鸡当生产环境,lxc虚拟化不支持换内核,dd,开启bbr,探针鸡(普通版本无问题)挂载warp等操作

本仓库不提供lxc虚拟化使用的其他问题的解答,非脚本相关问题请自行解决

虚拟小鸡想要查看是否在线

查看所有

lxc list

查看个例

lxc info 服务器名字

启动个例

lxc start 服务器名字

停止个例

lxc stop 服务器名字

删除个例

lxc delete -f 服务器名字

进入内部

lxc exec 服务器名字 /bin/bash

退出则输入exit回车即可

实验性一键脚本(不保证无bug)

环境要求:推荐为Ubuntu系统,Debian系统会出现zfs问题,只能使用手动命令解决

一键安装lxd环境

下载文件

curl -L https://raw.githubusercontent.com/spiritLHLS/lxc/main/lxdinstall.sh -o lxdinstall.sh && chmod +x lxdinstall.sh

设置母鸡内存虚拟化大小以及资源池硬盘大小

./lxdinstall.sh 内存大小以MB计算 硬盘大小以GB计算

一键安装开lxd母鸡所需要的带vnstat环境的常用预配置环境

curl -L https://raw.githubusercontent.com/spiritLHLS/lxc/main/backend.sh -o backend.sh && chmod +x backend.sh && bash backend.sh
只开一个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计算

./buildone.sh 小鸡名称 内存大小 硬盘大小 SSH端口 外网起端口 外网止端口

致谢

https://github.com/lxc/lxd

https://lxdware.com/

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

这篇关于通过LXD/LXC命令批量或单独开设NAT服务器以及维护(简称母鸡开小鸡)(Set up NAT servers in batches or individually through LXD/LXC的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/189066

相关文章

2024.6.24 IDEA中文乱码问题(服务器 控制台 TOMcat)实测已解决

1.问题产生原因: 1.文件编码不一致:如果文件的编码方式与IDEA设置的编码方式不一致,就会产生乱码。确保文件和IDEA使用相同的编码,通常是UTF-8。2.IDEA设置问题:检查IDEA的全局编码设置和项目编码设置是否正确。3.终端或控制台编码问题:如果你在终端或控制台看到乱码,可能是终端的编码设置问题。确保终端使用的是支持你的文件的编码方式。 2.解决方案: 1.File -> S

通过SSH隧道实现通过远程服务器上外网

搭建隧道 autossh -M 0 -f -D 1080 -C -N user1@remotehost##验证隧道是否生效,查看1080端口是否启动netstat -tuln | grep 1080## 测试ssh 隧道是否生效curl -x socks5h://127.0.0.1:1080 -I http://www.github.com 将autossh 设置为服务,隧道开机启动

【服务器运维】MySQL数据存储至数据盘

查看磁盘及分区 [root@MySQL tmp]# fdisk -lDisk /dev/sda: 21.5 GB, 21474836480 bytes255 heads, 63 sectors/track, 2610 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical)

【服务器运维】CentOS6 minimal 离线安装MySQL5.7

1.准备安装包(版本因人而异,所以下面的命令中版本省略,实际操作中用Tab自动补全就好了) cloog-ppl-0.15.7-1.2.el6.x86_64.rpmcpp-4.4.7-23.el6.x86_64.rpmgcc-4.4.7-23.el6.x86_64.rpmgcc-c++-4.4.7-23.el6.x86_64.rpmglibc-2.12-1.212.el6.x86_64.r

【服务器运维】CentOS7 minimal 离线安装 gcc perl vmware-tools

0. 本机在有网的情况下,下载CentOS镜像 https://www.centos.org/download/ 1. 取出rpm 有的情况可能不需要net-tools,但是如果出现跟ifconfig相关的错误,就把它安装上。另外如果不想升级内核版本的话,就找对应内核版本的rpm版本安装 perl-Time-Local-1.2300-2.el7.noarch.rpmperl-Tim

SQL Server中,always on服务器的相关操作

在SQL Server中,建立了always on服务,可用于数据库的同步备份,当数据库出现问题后,always on服务会自动切换主从服务器。 例如192.168.1.10为主服务器,12为从服务器,当主服务器出现问题后,always on自动将主服务器切换为12,保证数据库正常访问。 对于always on服务器有如下操作: 1、切换主从服务器:假如需要手动切换主从服务器时(如果两个服务

时间服务器中,适用于国内的 NTP 服务器地址,可用于时间同步或 Android 加速 GPS 定位

NTP 是什么?   NTP 是网络时间协议(Network Time Protocol),它用来同步网络设备【如计算机、手机】的时间的协议。 NTP 实现什么目的?   目的很简单,就是为了提供准确时间。因为我们的手表、设备等,经常会时间跑着跑着就有误差,或快或慢的少几秒,时间长了甚至误差过分钟。 NTP 服务器列表 最常见、熟知的就是 www.pool.ntp.org/zo

Linux 下的Vim命令宝贝

vim 命令详解(转自:https://www.cnblogs.com/usergaojie/p/4583796.html) vi: Visual Interface 可视化接口 vim: VI iMproved VI增强版 全屏编辑器,模式化编辑器 vim模式: 编辑模式(命令模式)输入模式末行模式 模式转换: 编辑-->输入: i: 在当前光标所在字符的前面,转为输入模式

在服务器上浏览图片

@StarSky 2018-10-26 15:09 字数 15971 阅读 28 https://www.zybuluo.com/StarSky/note/1294871 来源 2018-09-27 线上服务器安装 imgcat Tool   2018-09-27 线上服务器安装 imgcat 0. 准备文件:iterm2_shell_integration.bash1. 在有权限

服务器雪崩的应对策略之----SQL优化

SQL语句的优化是数据库性能优化的重要方面,特别是在处理大规模数据或高频访问时。作为一个C++程序员,理解SQL优化不仅有助于编写高效的数据库操作代码,还能增强对系统性能瓶颈的整体把握。以下是详细的SQL语句优化技巧和策略: SQL优化 1. 选择合适的数据类型2. 使用索引3. 优化查询4. 范式化和反范式化5. 查询重写6. 使用缓存7. 优化数据库设计8. 分析和监控9. 调整配置1、