通过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

相关文章

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

Python实现AVIF图片与其他图片格式间的批量转换

《Python实现AVIF图片与其他图片格式间的批量转换》这篇文章主要为大家详细介绍了如何使用Pillow库实现AVIF与其他格式的相互转换,即将AVIF转换为常见的格式,比如JPG或PNG,需要的小... 目录环境配置1.将单个 AVIF 图片转换为 JPG 和 PNG2.批量转换目录下所有 AVIF 图

详解如何通过Python批量转换图片为PDF

《详解如何通过Python批量转换图片为PDF》:本文主要介绍如何基于Python+Tkinter开发的图片批量转PDF工具,可以支持批量添加图片,拖拽等操作,感兴趣的小伙伴可以参考一下... 目录1. 概述2. 功能亮点2.1 主要功能2.2 界面设计3. 使用指南3.1 运行环境3.2 使用步骤4. 核

基于Python打造一个可视化FTP服务器

《基于Python打造一个可视化FTP服务器》在日常办公和团队协作中,文件共享是一个不可或缺的需求,所以本文将使用Python+Tkinter+pyftpdlib开发一款可视化FTP服务器,有需要的小... 目录1. 概述2. 功能介绍3. 如何使用4. 代码解析5. 运行效果6.相关源码7. 总结与展望1

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

CentOS 7部署主域名服务器 DNS的方法

《CentOS7部署主域名服务器DNS的方法》文章详细介绍了在CentOS7上部署主域名服务器DNS的步骤,包括安装BIND服务、配置DNS服务、添加域名区域、创建区域文件、配置反向解析、检查配置... 目录1. 安装 BIND 服务和工具2.  配置 BIND 服务3 . 添加你的域名区域配置4.创建区域

Nginx指令add_header和proxy_set_header的区别及说明

《Nginx指令add_header和proxy_set_header的区别及说明》:本文主要介绍Nginx指令add_header和proxy_set_header的区别及说明,具有很好的参考价... 目录Nginx指令add_header和proxy_set_header区别如何理解反向代理?proxy

Windows Server服务器上配置FileZilla后,FTP连接不上?

《WindowsServer服务器上配置FileZilla后,FTP连接不上?》WindowsServer服务器上配置FileZilla后,FTP连接错误和操作超时的问题,应该如何解决?首先,通过... 目录在Windohttp://www.chinasem.cnws防火墙开启的情况下,遇到的错误如下:无法与