站点图标 Linux-技术共享

SolusVM NAT插件对接WHMCS教程

最近在玩 nat vps,今天总结下通过 solusVM 在 VPS 主机上开设 NAT VPS 主机的过程(同样试用于云主机/独服),该教程亲自走通,大家可以放心食用。

什么是 NAT VPS,NAT VPS 有什么作用?

NAT VPS 就是共享一个 IP 的 VPS 主机,不同 nat vps 使用不同端口段。比如我通过一个 vps 主机创建了 5 个 nat vps,那么这 5 个 nat vps 都是同一个 IP,通过不同的端口段去访问。如:

Nat vps1 :ssh 端口 61002 ,可用端口:10021 – 10029

Nat vps2 :ssh 端口 61003 ,可用端口:10031 – 10039

Nat vps 特点和作用

Nat vps 几乎具备普通 vps 所有功能,除了共享 ip 以外。市面上的 nat vps 一般都是网络好、价格便宜(毕竟省去了 IP 费用)。总结了下网友玩 nat 机的姿势,主要用于中转、内网穿透、代理、nat 建站、nat 个人网盘、高速下载(替代 CDN)。

通过 solusVM 开设 nat vps 步骤

提前知晓

solusVM 是一款付费的 VPS 主机管理系统,可以从母机(可以是 VPS 主机或独服)创建许多 vps 主机,支持 KVM、openvz、xen 等虚拟化技术。目前 solusVM 可以试用一个月,需要去官网申请,官网地址:https://solusvm.com/。 付费的话是 10 刀/月。

solusVM 官方安装文档:https://documentation.solusvm.com/display/DOCS/Quick+Install

准备工作

1 在 solusVM 官网购买免费的激活码

2 准备一台主机。可以是独服或者是基于 KVM 的 vps 主机。我是在 vultr 的主机上部署的。

参考=>VULTR 2020 年优惠,新用户直接送 100 美元,附额外领 3 美元教程

3 安装 centos6 操作系统。目前官方已近支持 centos7 了,但是稳定性不够,部署也更麻烦,所以我们选择比较成熟稳定的 centos6。

安装 solusVM

下载 solusVM 的一键安装脚本,执行即可。

wget https://files.soluslabs.com/install.sh

sh install.sh

这次我们使用 solusVM 的目的是开设 nat vps,所以选择 3

然后,开始自动安装,整个安装过程 3-5 分钟,vultr 的磁盘 IO 和网速还是很不错的。安装完后可以看到,solusVM 管理端地址、客户端地址和管理员账号。

使用以下命令确认有没有把 boot 写进 OpenVZ 的 kernel 里:

vi /boot/grub/grub.conf

看如下图表示已经成功安装了。

配置 solusVM,开设 nat vps

登录控制端地址:https://45.76.77.115/admincp 。开始会让你输入激活码,输入试用激活码即可。

第一步,配置节点

点击 Nodes,对第一项进行编辑

在这里你需要设置一下名称、服务器 IP 地址、内部 IP 地址等,相关的说明如下:

Friendly Name :随便取个名字如:vpsjxw

Type:类型,这里必须选 openvz

License Type:照着图片选

Host Operating System:照着图片选,我们是 centos6

IP Address:就是填你 VPS 的公网 IP 地址。

Internal IP Address:为了方便后面的 NAT 设置,这里填写:10.0.1.1

Hostname:随便填,如:vpsjxw

Network Interface:eth0

Arch:选 64 位的,即 64 bit

county:CN

city:WH

Max VPS:就是你想开多少台 OVZ 虚拟机

Max Memory:你的最大内存,可设置超过实际内存,超开

Max Disk:你的最大硬盘,可设置超过实际硬盘,超开

勾选 OpenVZ VSwap&OpenVZ Ploop。然后 Update Node

我的配置如下

第二步,设置 IP 范围

点击 IP Blocks->add Ipv4 block,配置如下。

点击确定后,继续添加内部 IP 范围,刚刚我们设置的是 10.0.1.1,我们可以给 VPS 主机设置 IP 范围为 10.0.1.2-10.0.1.254。

第三步,设置 openvz 主机规格

点击 Plans->add OPENVZ Plan,下图所示。在这里你可以规定新开设的 OpenVZ VPS 的内存、硬盘、带宽、网络限速等参数。

第四步,添加操作系统模板

首先我们要下载模板。可以在 https://openvz.org/Download/template/precreated/中看到各种模板系统,将模板下载到指定位置。

cd /vz/template/cache

wget http://download.openvz.org/template/precreated/ubuntu-14.04-x86.tar.gz

我下载的是 ubuntu14.04,刚开始用的 centos7,不知道为什么有点问题。

然后点击 Media->add OpenVZ Template,添加系统模板,如下所示。

第五步,新建一个 nat vps 客户

点击 Clients->add client,填入创建客户信息即可

第六步,为新用户开设一个新的 VPS 主机

点击 Virtual Servers->Add Virtual Server,选择 openvz

继续,下一步

配置开设 openvz 主机的规格,下图所示。

点击确定就完成了,会生成登录信息,如下所示。

第七步,配置 NAT 网络

上由于我们使用的共享 IP,所以我们还需要设置好 NAT 网络。基本操作如下:

修改文件 vi /etc/modprobe.d/openvz.conf 将最后 =1 改为 =0 ,保存退出。

重启系统 reboot

使用 iptables -t nat -L 检查,如果是下面代码,说明设置正确。

如下图:

配置内网端口转发。我们要用到一个脚本文件,批量添加端口内网转发。脚本下载地址:https://github.com/vpsbb/ovz/blob/master/addnat.sh。本脚本在使用时,要根据你母鸡的网卡名,进行参数修改。

在母鸡上用命令查看网卡信息:

ifconfig

找到有你母鸡 IP 地址那段,开头的网卡名称是多少,记下来,addnat.sh 里要相应修改为你的网卡名称。如下图:

然后一个命令,执行脚本:

sh addnat.sh

此有两处操作:第一个地方填你母鸡的公网 IP,第二个地方一般填 1,也就是一个段的内网 IP。如下图:

以上基本上就配置完了。

第八步,配置完成,用户使用 nat vps

1 客户可以通过 https://45.76.77.115/login.php,登录客户端。账号密码是创建用户时设置的账号密码。

2 客户也可以通过 ssh 直接登录 nat vps。

其中 ip 就是母机 ip 地址,账号是创建 nat vps 时生成的账号密码。

然后就是 nat vps 的 ssh 端口和可用端口了。

前面我们设置的小鸡网段是 10.0.1.1 到 10.0.1.254。

那么基础规则是 10.0.C.D 的内网 IP(此例子 C 为 1,D 最多是 3 位数)

SSH 端口是 61D(D 不足 3 为前面补 0)

可用端口是 1D1 – 1D9(D 不足 3 为前面补 0)

如,我们这次创建的 nat vps 内网 IP: 10.0.1.2,则:

SSH 端口是 61002 可用端口是 10021 – 10029

通过以上 IP+端口+账号就可以 ssh 登录 nat vps 了

一、SolusVM 主控扩展安装

1) 获得扩展 API 文件

该文件在 solusvm-nat/scripts/extend_api.php

请复制该文件到您的solusvm主控 /usr/local/solusvm/www 下,最好推荐在该目录新建目录存放该扩展 API 文件

2) 生成通讯密钥

登陆主控,切换到扩展 API 文件所在文件夹,

php extend_api.php

3) 测试是否安装成功

使用浏览器访问扩展 API 文件 (/usr/local/solusvm/www 为网站根目录), 如果成功将出现以下内容

{"result":"error","error":"key error"}

三、安装 NAT 被控

1) 获得 NAT 被控文件

该文件在 solusvm-nat/scripts/nat_check.php

请复制该文件到被控任意目录下,该文件用于更新 iptables nat 表

2) 设置配置文件

在被控端创建 /opt/solusvm-nat/config.ini 配置文件,并写入以下内容

RPC_URL="WHMCS网址/modules/addons/solusvm_nat/rpc/node.php"
NIC="外网网卡"
SEGMENT="内网网段"
#演示文件
RPC_URL="https://mdzz.eu/modules/addons/solusvm_nat/rpc/node.php"
NIC="br0"
SEGMENT="10.111.111.0/24"

3) 测试配置是否正常

执行以下命令,查看命令回应是否如预期所示

php nat_check.php 
#命令预期回应
Public interface: br0 (10.100.100.174)
Intranet segment: 10.111.111.0/24
!!! No nat forward rule found, clean all nat rules !!!
Rules counter:
New: 0
Delete: 0
Exist(s): 0

4) 配置定时任务
在被控机上配置 每分钟 或 每 5 分钟 执行一次该命令,该命令主要用来更新最新的端口映射规则

例如:

*/5 * * * * rm -f /usr/local/solusvm/data/.hosts
*/1 * * * * php -q /root/nat_check.php

四、whmcs安装 NAT 插件
上传插件包到 WHMCS 的目录插件并解压好

然后到后台去启动插件

然后勾选用户组

然后进入管理界面

填写主控的相关信息

设置完成后点节点管理,同步一下 solusvm 主控

同步成功后可以看到相关节点

五、WHMCS SolusVM NAT 插件节点管理问题
集中列出关于 SolusVM NAT 中的节点管理问题

刷新节点列表时出错

请检查插件配置是否正确 (SolusVM 通讯地址 / SolusVM 通讯密钥 填写错误将会导致刷新节点列表出错)

为什么我的节点没有在列表中

请检查节点是否分配到了默认的 Default 节点组,插件不会获取 Default 组内的节点。请更改为其他节点组即可

退出移动版