2023.08.04

This commit is contained in:
spiritlhl
2023-08-04 02:23:13 +00:00
parent 415239570f
commit a311e33df2
13 changed files with 165 additions and 43 deletions

View File

@@ -2,7 +2,6 @@
outline: deep
---
## 准备工作
需要虚拟化出服务器,你需要:
@@ -26,7 +25,7 @@ PVE项目可能造成宿主机出现问题如果你不会看Bug和修复系
欢迎Star和Fork
### PVE相关的各种一键脚本
### PVE
可开设KVM虚拟化的虚拟机、LXC虚拟化的容器
@@ -34,7 +33,7 @@ PVE项目可能造成宿主机出现问题如果你不会看Bug和修复系
[![Hits](https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FspiritLHLS%2Fpve&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false)](https://hits.seeyoufarm.com)
### 通过LXD/LXC命令批量或单独开设NAT服务器以及维护
### LXD
可开设LXC虚拟化的容器
@@ -42,7 +41,7 @@ PVE项目可能造成宿主机出现问题如果你不会看Bug和修复系
[![Hits](https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FspiritLHLS%2Flxc&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false)](https://hits.seeyoufarm.com)
### 通过docker批量或单独开设NAT服务器
### Docker
可开设Docker虚拟化的容器

View File

@@ -1,3 +1,11 @@
---
outline: deep
---
# 前言
两种开设方式
## 单独开设
下载脚本

View File

@@ -1,3 +1,10 @@
---
outline: deep
---
# 前言
## 项目特点
通过docker批量或单独开设NAT服务器(Bulk or individual NAT server provisioning via docker)

View File

@@ -1,3 +1,7 @@
---
outline: deep
---
# 其他自定义配置
:::tip

View File

@@ -1,3 +1,7 @@
---
outline: deep
---
# LXD主体安装
## 手动安装

View File

@@ -1,3 +1,7 @@
---
outline: deep
---
# LXC虚拟化
## 单独生成一个NAT服务器

View File

@@ -1,3 +1,7 @@
---
outline: deep
---
# 系统与硬件配置要求
## 要求

View File

@@ -1,3 +1,7 @@
---
outline: deep
---
# 解惑
## 如果LXD安装后lxc命令显示找不到怎么办

View File

@@ -1,3 +1,7 @@
---
outline: deep
---
# PVE主体安装
## 一键安装PVE
@@ -8,16 +12,20 @@
- 安装的是当下apt源最新的PVE
- 比如debian10则是pve6.4debian11则是pve7.xdebian12则是pve8.x
- /etc/hosts文件修改(修正商家hostname设置错误以及新增PVE所需的内容)
- 已设置```/etc/hosts```为只读模式,避免重启后文件被覆写,如需修改请使用```chattr -i /etc/hosts```取消只读锁定,修改完毕请执行```chattr +i /etc/hosts```只读锁定
- 检测```/etc/cloud/cloud.cfg```如果发现```preserve_hostname```是```false```,则改为```true```同上也用chattr命令进行了文件锁定避免重启覆盖设置
- ```/etc/hosts```文件修改(修正商家hostname设置错误以及新增PVE所需的内容)
- ```/etc/cloud/cloud.cfg```文件修改(避免覆写已修改的hostname等配置)
- ```/etc/network/interfaces```文件修改(修复auto、dhcp类型为static、增加vmbr0网关)
- 检测是否为中国IP如果为中国IP使用清华镜像源否则使用官方源同时处理apt的源和对应的nameserver避免断网
- 安装PVE开虚拟机需要的必备工具包
- x86_64的替换apt源中的企业订阅为社区源arm的使用第三方修复的补丁构建的源
- 打印查询Linux系统内核和PVE内核是否已安装
- 检测```/etc/resolv.conf```是否为空,为空则设置检测```8.8.8.8```的开机自启添加DNS的systemd服务
- 设置DNS检测```8.8.8.8```的开机自启添加DNS的systemd服务
- 新增PVE的APT源链接后下载PVE并打印输出登陆信息
所有修改过的文件均已设置为只读模式,避免重启后文件被覆写
如需修改请使用```chattr -i 文件路径```取消只读锁定,修改完毕请执行```chattr +i 文件路径```进行只读锁定
国际
```shell
@@ -46,8 +54,7 @@ bash install_pve.sh
- 移除订阅弹窗
- 尝试开启硬件直通
- 对AppArmor模块检测和自动安装
- 重启系统前推荐挂上[nezha探针](https://github.com/naiba/nezha)方便在后台不通过SSH使用命令行避免SSH可能因为商家奇葩的预设导致重启后root密码丢失
- **执行完毕建议等待一分钟后再重启服务器**
- 重启系统前推荐挂上[nezha探针](https://github.com/naiba/nezha)方便在后台不通过SSH使用命令行避免SSH可能因为商家奇葩的预设可能导致重启后root密码丢失
- 执行```reboot```前需要等待后台任务执行完毕一些宿主机的系统apt命令执行很慢得等一会才能执行完毕当然大部分的机器没这么烂
国际
@@ -73,13 +80,17 @@ bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubus
:::
- 创建vmbr0(独立IP网关)宿主机允许addr和gateway为内网IP或外网IP已自动识别
- vmbr0创建支持纯IPV4或双栈服务器自动识别IPV4地址和IPV6地址自动识别对应的IP区间
- 开独立IPV4的虚拟机时使用vmbr0使用同宿主机一致的gateway使用宿主机未绑定的IPV4地址做IPV4/CIDR当然如果后续使用本套脚本无需关注这点细枝末节的东西
- vmbr0创建支持开设纯IPV4、纯IPV6、双栈虚拟机自动识别IPV4地址和IPV6地址自动识别对应的IP区间
- 创建vmbr1(NAT网关)暂不支持开设带独立IPV6地址的NAT的IPV4虚拟机
- 开NAT虚拟机时使用vmbr1gateway使用```172.16.1.1```IPV4/CIDR使用```172.16.1.x/24```这里的x不能是1当然如果后续使用本套脚本无需关注这点细枝末节的东西
- 想查看完整设置可以执行```cat /etc/network/interfaces```查看如需修改网关需要修改该文件web端已经无法修改
- 加载iptables并设置回源且允许NAT端口转发
简单的说,```vmbr0```负责v4/v6的独立IP```vmbr1```复杂v4/v6的NAT
开独立IPV4的虚拟机时使用的vmbr0gateway同宿主机IPV4/CIDR使用同一网段的地址和相同的子网掩码使用宿主机未绑定的IPV4地址做IPV4/CIDR当然如果后续使用本套脚本无需关注这点细枝末节的东西
开NAT的IPV4的虚拟机时使用vmbr1gateway使用```172.16.1.1```IPV4/CIDR使用```172.16.1.x/24```这里的x不能是1当然如果后续使用本套脚本无需关注这点细枝末节的东西
国际
```shell

View File

@@ -1,3 +1,7 @@
---
outline: deep
---
# KVM虚拟化
## SSH登录说明
@@ -23,7 +27,7 @@ bash <(curl -sSL https://ghproxy.com/https://raw.githubusercontent.com/fscarmen/
## 部分注意事项
**执行本项目的第一个检测环境的命令**,展示如下
**执行本项目的检测环境的命令**,展示如下
![图片](https://github.com/oneclickvirt/oneclickvirt.github.io/blob/main/docs/images/pve_kvm/pve_kvm_1.png?raw=true)
@@ -39,6 +43,10 @@ bash <(curl -sSL https://ghproxy.com/https://raw.githubusercontent.com/fscarmen/
如果强行安装PVE开KVM启动不了的也可以关闭这个选项试试能不能启动虚拟机
:::tip
开设虚拟机前请使用screen挂起执行避免开设时间过长SSH不稳定导致中间执行中断
:::
## 开设KVM虚拟机可使用的镜像
- 已预安装开启cloudinit
@@ -52,7 +60,7 @@ bash <(curl -sSL https://ghproxy.com/https://raw.githubusercontent.com/fscarmen/
[https://github.com/oneclickvirt/kvm_images/blob/main/list.text](https://github.com/oneclickvirt/kvm_images/blob/main/list.text)
## 单独开设NAT的KVM虚拟化的VM
## 单独开设NAT的KVM虚拟化的虚拟机
- 自动开设NAT服务器默认使用Debian10镜像因为该镜像占用最小
- 可在命令中自定义需要使用的镜像这里有给出配置好的镜像镜像自带空间设置是2~10G硬盘日常使用**至少10G以上**即可,除非某些镜像开不起来再增加硬盘大小
@@ -74,7 +82,7 @@ curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm.sh
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh
```
## 使用方法
### 使用方法
- 系统支持:
- x86_64架构的详见 [跳转](https://github.com/oneclickvirt/kvm_images/releases/tag/v1.0) 中列出的系统,使用时只需写文件名字,不需要.qcow2尾缀
@@ -88,10 +96,10 @@ curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/mai
./buildvm.sh VMID 用户名 密码 CPU核数 内存 硬盘 SSH端口 80端口 443端口 外网端口起 外网端口止 系统 存储盘
```
## 测试示例
### 测试示例
```shell
./buildvm.sh 102 test1 1234567 1 512 10 40001 40002 40003 50000 50025 debian11 local
./buildvm.sh 102 test1 oneclick123 1 512 10 40001 40002 40003 50000 50025 debian11 local
```
开设完毕可执行```cat vm102```查看信息或到WEB端对应VM的NOTES中查看
@@ -101,7 +109,7 @@ curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/mai
```
`VMID` - 102
`SSH登录的用户名` - test1
`SSH登录的密码` - 1234567
`SSH登录的密码` - oneclick123
`CPU核数` - 1
`内存大小` - 512MB
`磁盘大小` - 10G
@@ -131,7 +139,7 @@ systemctl restart networking.service
rm -rf vm102
```
## 批量开设NAT的KVM虚拟化的VM
## 批量开设NAT的KVM虚拟化的虚拟机
:::warning
初次使用前需要保证当前PVE纯净且宿主机未进行过任何端口映射否则设置冲突可能出现BUG
@@ -163,7 +171,7 @@ curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/mai
开设完毕可执行```cat vmlog```查看信息或到WEB端对应VM的NOTES中查看
## 删除所有VM
## 删除所有虚拟机
- 删除所有VM
- 删除所有nat的端口映射
@@ -177,13 +185,14 @@ iptables -t filter -F
service networking restart
systemctl restart networking.service
rm -rf vmlog
rm -rf vm*
```
:::tip
PVE修改VM配置前都得停机先再修改配置修改完再启动免得出现配置重载错误
:::
## 开设独立IPV4地址的VM
## 开设独立IPV4地址的虚拟机
两个版本,各取所需
@@ -193,10 +202,6 @@ PVE修改VM配置前都得停机先再修改配置修改完再启动
使用前需要保证当前宿主机的IP段带了至少2个IP且有空余的IP未配置该空余的IP未绑定宿主机
:::
:::tip
开设前请使用screen挂起执行避免开设时间过长SSH不稳定导致中间执行中断
:::
- 自动检测可用的IP区间通过ping检测空余可使用的IP选取其中之一绑定到虚拟机上
- 系统的相关信息将会存储到对应的虚拟机的NOTE中可在WEB端查看
@@ -219,17 +224,13 @@ curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/mai
```
```shell
./buildvm_extraip.sh 152 test1 1234567 1 1024 10 ubuntu20 local
./buildvm_extraip.sh 152 test1 oneclick123 1 1024 10 debian12 local
```
上述命令意义为开设一个带独立IPV4地址的虚拟机VMID是152用户名是```test1```,密码是```1234567```CPU是```1```核,内存是```1024MB```,硬盘是```10G```,系统是```Ubuntu20```,存储盘是```local```盘也就是系统盘
上述命令意义为开设一个带独立IPV4地址的虚拟机VMID是152用户名是```test1```,密码是```oneclick123```CPU是```1```核,内存是```1024MB```,硬盘是```10G```,系统是```debian12```,存储盘是```local```盘也就是系统盘
### 需要手动指定IPV4地址的版本
:::tip
开设前请使用screen挂起执行避免开设时间过长SSH不稳定导致中间执行中断
:::
- 需要手动在命令中指定IPV4地址且带上子网长度
- 如果商家有给IPV4地址和子网长度请仔细比对按照下面示例的命令写参数
- 系统的相关信息将会存储到对应的虚拟机的NOTE中可在WEB端查看
@@ -253,10 +254,10 @@ curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/mai
```
```shell
./buildvm_manual_ip.sh 152 test1 1234567 1 1024 10 ubuntu20 local a.b.c.d/24
./buildvm_manual_ip.sh 152 test1 oneclick123 1 1024 10 debian12 local a.b.c.d/24
```
上述命令意义为开设一个带独立IPV4地址的虚拟机VMID是152用户名是```test1```,密码是```1234567```CPU是```1```核,内存是```1024MB```,硬盘是```10G```,系统是```Ubuntu20```,存储盘是```local```盘也就是系统盘IPV4地址为```a.b.c.d```,子网为```/24```子网
上述命令意义为开设一个带独立IPV4地址的虚拟机VMID是152用户名是```test1```,密码是```oneclick123```CPU是```1```核,内存是```1024MB```,硬盘是```10G```,系统是```debian12```,存储盘是```local```盘也就是系统盘IPV4地址为```a.b.c.d```,子网为```/24```子网
### 删除示例
@@ -266,3 +267,34 @@ qm stop 152
qm destroy 152
rm -rf vm152
```
## 开设纯IPV6地址的虚拟机
### 自动选择IPV6地址无需手动指定
- 自动检测可用的IPV6区间对应虚拟机编号的V6地址绑定到虚拟机上
- 系统的相关信息将会存储到对应的虚拟机的NOTE中可在WEB端查看
国际
```shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm_onlyv6.sh -o buildvm_onlyv6.sh && chmod +x buildvm_onlyv6.sh
```
国内
```shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm_onlyv6.sh -o buildvm_onlyv6.sh && chmod +x buildvm_onlyv6.sh
```
#### 创建示例
```shell
./buildvm_onlyv6.sh VMID 用户名 密码 CPU核数 内存大小以MB计算 硬盘大小以GB计算 系统 存储盘
```
```shell
./buildvm_onlyv6.sh 152 test1 oneclick123 1 1024 10 debian12 local
```
上述命令意义为开设一个纯IPV6地址的虚拟机VMID是152用户名是```test1```,密码是```oneclick123```CPU是```1```核,内存是```1024MB```,硬盘是```10G```,系统是```debian12```,存储盘是```local```盘也就是系统盘

View File

@@ -1,3 +1,7 @@
---
outline: deep
---
# LXC虚拟化
## 单独开设LXC虚拟化的CT
@@ -31,7 +35,7 @@ curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct.sh
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh
```
#### 使用方法
### 使用方法
* 系统支持:
- debian10debian11
@@ -50,10 +54,10 @@ curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/mai
./buildct.sh CTID 密码 CPU核数 内存 硬盘 SSH端口 80端口 443端口 外网端口起 外网端口止 系统 存储盘
```
#### 测试示例
### 测试示例
```shell
./buildct.sh 102 1234567 1 512 5 20001 20002 20003 30000 30025 debian11 local
./buildct.sh 102 oneclick123 1 512 5 20001 20002 20003 30000 30025 debian11 local
```
开设完毕可执行```cat ct102```查看信息或在web端的NOTES查看
@@ -63,7 +67,7 @@ curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/mai
```
`VMID` - 102
`SSH登录的用户名` - root
`SSH登录的密码` - 1234567
`SSH登录的密码` - oneclick123
`CPU核数` - 1
`内存大小` - 512MB
`磁盘大小` - 5G
@@ -75,7 +79,7 @@ curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/mai
`宿主机的存储盘` - local
```
#### 删除示例
### 删除示例
- 停止CT
- 删除CT
@@ -124,7 +128,7 @@ curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/mai
开设完毕可执行```cat ctlog```查看信息或在web端的NOTES查看
#### 删除所有CT
## 删除所有CT
- 删除所有CT
- 删除所有nat的端口映射
@@ -139,3 +143,34 @@ iptables -t filter -F
service networking restart
systemctl restart networking.service
```
## 开设纯IPV6地址的虚拟机
### 自动选择IPV6地址无需手动指定
- 自动检测可用的IPV6区间对应容器编号的V6地址绑定到容器上
- 系统的相关信息将会存储到对应的容器的NOTE中可在WEB端查看
国际
```shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct_onlyv6.sh -o buildct_onlyv6.sh && chmod +x buildct_onlyv6.sh
```
国内
```shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct_onlyv6.sh -o buildct_onlyv6.sh && chmod +x buildct_onlyv6.sh
```
#### 创建示例
```shell
./buildct_onlyv6.sh CTID 用户名 密码 CPU核数 内存大小以MB计算 硬盘大小以GB计算 系统 存储盘
```
```shell
./buildct_onlyv6.sh 152 test1 oneclick123 1 1024 10 debian12 local
```
上述命令意义为开设一个纯IPV6地址的CT容器CTID是152用户名是```test1```,密码是```oneclick123```CPU是```1```核,内存是```1024MB```,硬盘是```10G```,系统是```debian12```,存储盘是```local```盘也就是系统盘

View File

@@ -1,3 +1,7 @@
---
outline: deep
---
# 系统和硬件配置要求
如果有未适配的商家或机器欢迎联系[@spiritlhl_bot](https://t.me/spiritlhl_bot),有空会尝试支持一下

View File

@@ -1,3 +1,9 @@
---
outline: deep
---
# 解惑
## 安装PVE成功但重启后失联
如果什么机器安装PVE成功后WEB可用但重启失联请安装成功PVE后重启前执行以下命令再重启
@@ -27,7 +33,7 @@ bash <(curl -sSL https://raw.githubusercontent.com/leitbogioro/Tools/master/Linu
## 目前已验证的VPS商家
## 可开设KVM虚拟化的NAT的商家
### 可开设KVM虚拟化的NAT的商家
[interserver](https://www.interserver.net/r/802990) 中的独立服务器
@@ -51,7 +57,7 @@ bash <(curl -sSL https://raw.githubusercontent.com/leitbogioro/Tools/master/Linu
[nocix](https://www.nocix.net/) 中的独立服务器
## 只可开设LXC虚拟化的NAT的商家
### 只可开设LXC虚拟化的NAT的商家
[腾讯云](https://curl.qcloud.com/tPrMnfZm) 中的无忧款和特惠款(学生机)
@@ -69,6 +75,6 @@ bash <(curl -sSL https://raw.githubusercontent.com/leitbogioro/Tools/master/Linu
[azure](https://portal.azure.com/#create/Microsoft.VirtualMachine-ARM) 的普通机器
## 已知暂时不可用未适配的商家
### 已知暂时不可用未适配的商家
OVH