CentOS下利用Virtualizor开心版开NAT小鸡并对接WHMCS

发布于 2021-02-11  1.49k 次阅读


本文资料来源: https://www.virtualizor.com
伪授权部分: https://www.ihostloc.com
发于Linxin's Blog: https://widayn.club 转载请注明出处

为什么是LXC

LXC是所谓的操作系统层次的虚拟化技术,与传统的HAL(硬件抽象层)层次的虚拟化技术相比有以下优势:
更小的虚拟化开销(LXC的诸多特性基本由内核特供,而内核实现这些特性只有极少的花费,具体分析有时间再说)
快速部署。利用LXC来隔离特定应用,只需要安装LXC,即可使用LXC相关命令来创建并启动容器来为应用提供虚拟执行环境。传统的虚拟化技术则需要先创建虚拟机,然后安装系统,再部署应用。
LXC跟其他操作系统层次的虚拟化技术相比,最大的优势在于LXC被整合进内核,不用单独为内核打补丁

配置要求

据博主的观察,CentOS7下整套系统下来所要占用的内存大概在500M左右(包括系统),因此1G其实就可以开着玩了
硬盘占用大概5-7G
然而考虑到小鸡的硬盘,所以至少要15G

准备工作

LXC部署需要一个VG卷组,如果你的CentOS在拿到时已经分好区了(比如只有一个区占满了硬盘),则需要做一些改动:
CentOS下 调整根目录大小

创建部分可以按顺序参见:
CentOS下 改分区为LVM
CentOS下 创建VG卷组

安装BBR等加速(可选): VPS常用脚本合集

安装开始

安装要求

CentOS 7.x

磁盘划分

官方推荐的划分:

/ 80-100 GB 实际测试中只需要5-6G就可以将系统和常见的ISO装下了(CentOS7,8 Debian 7,8,9 Ubuntu16,18,20的64位各一份)
SWAP 4 GB + 这个我设置的是与内存相同,应该要随自己VPS的情况改变
存储 硬盘上剩余的所有空间 要创建为VG卷组,但是不应该创建逻辑卷(参考准备工作)

安装

  1. 打开Shell终端(例如PuTTY)并通过SSH连接到您的服务器。运行以下命令:
  2. wget –N http://files.virtualizor.com/install.sh
  3. chmod 0755 install.sh
  4. ./install.sh email=your@email.com kernel=lxc

Email的话不填真的暂时没发现啥问题,反正后面是用开心版,应该没事吧(写于2021-02-11日 本文章没改动就是还可以用,自行斟酌)

安装过程:
源自virtualizor官方

安装完之后重启:

源自virtualizor官方

顺便记录下API KEY和API Password(不记也行,后台也能看到)

PS:安装的日志文件位置为 /root/virtualizor.log

登录

URL如下:

https://Your-Server-IP:4085/
http://Your-Server-IP:4084/

管理面板样式:
图源virtualizor官方

账号root,密码是你vps的root账号的密码

管理面板

登录后,你应该可以看到管理面板:

端口

Virtualizor使用的端口为4081 - 4085,如果登不上可以考虑防火墙的问题

firewall-cmd --zone=public --permanent --add-port=4081-4085/tcp

创建存储

Virtualizor Admin Panel -> Storage -> Add Storage

Storage Type :储存类型 (LVM)
Storage Path: 储存路径(LVM卷组路径,如果用我上面的那种的话就填/dev/VolGroup01)
Overcommit:空间大小(剩余多大就填多大)
Alert Threshold: 告警(就是如果硬盘占用超过这个值就会提示你,一般不变就行了)
Primary Storage: 如果你只有这一个硬盘请勾选,否则WHMCS开机器会报错

构建NAT环境

创建虚拟网卡

CentOS后台输入:
vim /etc/sysconfig/network-scripts/ifcfg-intbr0
黏贴下面内容:

DEVICE=intbr0
ONBOOT=yes
TYPE=Bridge
BOOTPROTO=static
IPADDR=192.168.1.1
NETMASK=255.255.255.0

重启网络
service network restart

创建IP池

在Virtualizor的管理页面 IP Pool -> Create IP Pool

name 随意
Gateway 192.168.1.1
netmask 255.255.255.0
nameserver1/2 这个两个看心情,我选择Google
First IP 192.168.1.2
Last IP 192.168.1.254
Is Internal IP Range ?  重点!!!这个要打上勾,然后下面的这项才会出现
Internal IP Bridge  这里填刚刚创建的那个虚拟网卡名字 intbr0

其他不变,点保存

端口转发

暂时没找到很好的转发脚本,目前用的是doubi大佬的,但是每次重启都会失效,如果大佬有更好的欢迎评论留言
下载地址:iptables-pf.sh

最关键的一部

CentOS后台输入:
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE

PS:不执行会出现NAT机器可以进入,但是不能Ping外网,也没网的情况

激活系统

vi /etc/hosts
添加一行
150.95.9.226 www.virtualizor.com
保持退出
然后到面板的'Configuration' -> 'License Info page' 上点击'Refresh License'

就可以看到系统已经激活到2099年了

PS:面板应该是可以正常更新的,没有影响
博主看到过有人发帖说自己装开心版被Virtualizor黑了,暂时未确认是否会被惩戒
截止至2021-02-11日,博主的VPS运行时间约5天,一切正常,后续会更新

创建镜像

很简单,进入virtualizor管理面板,点击 "Media",然后点击 "Add ISO"。选择你想要的ISO下载就行了,对于国外小鸡官方节点很快,十几秒就下完了

到这里第一阶段的安装就结束了,接下来就是开小鸡了!

开通VPS

(如果你是打算使用WHMCS,则需要创建Plan,这步可以跳过)

后台点击“Virtual Servers -> Create Vps”,自己按需要填入,没什么难点,然后点击开通

这里要提一下的是CPU Units,这是类似优先值的概念,比如你开了两台小鸡,一台CPU Units设置为1000,另一台设置为2000,那么当CPU跑满的时候
第一台会占有1000 / (1000+2000)的CPU资源,第二台会占有2000 / (1000+2000)的CPU资源
CPU%是指占所有核心的百分数,比如你有四个核心,想要VPS最多用一半的性能,你可以设置CPU%为50,那么他最多使用 2 ÷ 4 x 100 = 50 (CPU%)

创建Plan(模板)

面板点击"Plans" -> "Add Plan"
Plan Type选择LXC
别的按需要填写,关于CPU Units,CPU%的解释可以参考上一条

PS:这张图的版本比较老,有一些选项没有是正常的,不必在意

WHMCS部分

首先请先配置好Virtualizor服务器,安装WHMCS
下载这里的插件:Virtualizor_For_WHMCS7插件
下载这里的插件:Virtualizor_For_WHMCS8插件
将插件上传到目录: /path/to/whmcs/modules/servers/
保证Virtualizor服务器的4081 – 4085端口是打开的,不然会出现各种奇怪的错误

服务器配置

WHMCS管理面板->设置->服务器->添加新服务器



Key和KeyPass就是最开始安装的时候要记下的,如果没记下可以到Virtualizor面板的 ‘Configuration’ -> ‘Server Info’ 中找到

创建产品

产品

WHMCS面板的 Setup -> Products/Services -> Create a New Product
Product Group选中Virtualizor,名字自定,然后下一步

模块设置

模块名称和设置字段,如下图所示:

  1. Virtualizor Server :选择要在其中创建VPS的virtualizor服务器的类型。
  2. 类型 :选择使用的虚拟化类型。
  3. 选择计划 :选择您在virtualizor面板上创建的计划。
  4. 默认节点/组:选择服务器或节点组或任何单个服务器。(注意:[G]表示组)

    PS:你要先选择了服务器和虚拟化类型,然后点一次保存,Plan才会出现下拉选择,如果没有请检查是否有创建Plan(上面有)

自定义字段

按照下面的表单填写:

还有一堆可配置选项,正常用不掉,有需要的可以参见我另一篇文章:

PS:Select Options可以根据服务器自定,系统的名字要和Virtualizor内系统模板的名字相同,vpsid一定要写上,不然会报MySQL的错误
PS:添加ISO和OS字段时,请添加“无”值。(参考上图)

结果

到这里,一切配置就完毕了,你可以化身自己的客户购买,然后就可以看到后台啦

PS:截图版本老旧,现在功能多很多了

存在的问题

在母鸡安装完Virtualizor后(未进行其他任何操作),IPV6就立刻无法Ping通了,因此一直没有使用IPV6


天道酬勤