准备工作
- 保证你的系统是 Centos6.X 系列。如果不是建议重装。 CentOS7 官方也支持,但是博主并未尝试,大家可以自行研究啦~
- 下文介绍的方法是在没有对应系统模板情况下自助重装的方式,注意要求是 KVM 架构,具体参考 Vicer 的文章
系统纯净重装(非必需)
这里使用的是 Vicer 的 Centos 网络重装,大多数通过后台安装即可,建议 Centos6.X。 Vicer 的默认用户名密码:root/Vicer
-
确保安装了所需软件:
#Debian/Ubuntu: apt-get update && apt-get install -y xz-utils openssl gawk coreutils file #RedHat/CentOS: yum update && yum install -y xz openssl gawk coreutils file
重装开始
wget --no-check-certificate -qO CentOSNET.sh 'https://moeclub.org/attachment/LinuxShell/CentOSNET.sh' && chmod a+x CentOSNET.sh && bash CentOSNET.sh -c 6.8 -v 64 -a
命令参数简介
Usage: bash CentOSNET.sh -c/--centos [dist-version] -v/--ver [32/i386|64/amd64] --ip-addr/--ip-gate/--ip-mask -yum/--mirror -a/-m
务必注意,网络重装需要一些等待时间,基本上半小时足够了。 着急的话,可以登录 VNC 去看,默认是 你的 IP:1 或 你的 IP:5901 个人使用 Nazwa 是花了 13 分钟就好了。
安装 SolusVM
- 目前 SolusVM 已经提供了比较简单的安装方式,直接一键安装即可。 具体参考官方文档
wget https://files.soluslabs.com/install.sh sh install.sh
选择安装版本
- 因为本教程演示的是单机器使用,且为安装 OpenVZ 架构小鸡,因此建议选择 2. 其他选项简单解释如下,如需详细解释建议查看 书生大佬的文章(后续讲解 KVM 的安装也还要提及这篇文章) 1 主控端,无虚拟化 2 主控端,OpenVZ 虚拟化+模板 3 主控端,OpenVZ 虚拟化 4 被控端,KVM 5 被控端,Xen 6 被控端,无虚拟化
等待安装完
- 安装完成后,会出现如下信息,主要包括 SolusVM 管理面板和用户面板信息,后续需要做的准备工作主要就是 客户端汉化、SSL 证书、相应重启检查了。
- 一般来说,默认的地址是这样子的,下面的以我的域名
affman.ml
为例子。 管理面板的默认用户和密码均为vpsadmin
,注意及时修改!
SolusVM UI Login Information: ============================= Admin Area Standard Port (SSL) .... : https://affman.ml/admincp Admin Area Custom Port (SSL) ...... : https://affman.ml:5656/admincp Client Area Standard Port (SSL) ... : https://affman.ml Client Area Custom Port (SSL) ..... : https://affman.ml:5656 Admin Username ...... : vpsadmin Admin Password ...... : vpsadmin
SolusVM 客户端汉化
- 管理端的汉化不存在的,这辈子都不会有的,英文辣么萌,写的文字还辣么好,才不会换汉语的!
cd /usr/local/solusvm/language/client/ wget "https://documentation.solusvm.com/download/attachments/7667936/Simplified-Chinese.lang.txt?api=v2" -O Chinese.lang.txt chown solusvm:solusvm Chinese.lang.txt
SSL 证书配置
此步骤特别感谢 @chx818 的提醒 这里有两个方式,一个是笨方法自行替换,另一个是用 acme.sh 来自动产生
手工替换
- 路径是
/usr/local/svmstack/nginx/ssl
,自行替换其中的ssl.crt
和ssl.key
即可。
自动更新
内容引自Github 这里以我的测试域名
affman.ml
为例演示 运行前务必确认已经解析好。
- 获取证书
yum install curl && curl https://get.acme.sh | sh && source ~/.bashrc acme.sh --issue -d affman.ml -w /usr/local/solusvm/www/.verification
- 安装证书
acme.sh --installcert -d affman.ml \ --keypath /usr/local/svmstack/nginx/ssl/ssl.key \ --fullchainpath /usr/local/svmstack/nginx/ssl/ssl.crt \ --reloadcmd "service svmstack-nginx restart; \ /usr/local/svmstack/sshwebsocket/quit; \ /usr/local/svmstack/sshwebsocket/port_check; \ cd /usr/local/svmstack/nginx/ssl && cat ssl.key ssl.crt > ssl.pem"
确认内核
- 这个主要是检查内核是否换成了 OpenVZ 的那个。 查看 启动顺序看这里
/boot/grub/grub.conf
reboot uname -r
- 当你查询到的内核变为
2.6.32-042stab128.2
,就代表好了。
至此,安装告一段落,开始配置
配置 SolusVM
激活
这里以我的测试域名
affman.ml
为例演示
管理登陆地址:https://affman.ml:5656/admincp 用户名:vpsadmin 密码:vpsadmin
1、破解 SolusVM 主控
a、添加伪授权 hosts
vi /etc/hosts
添加如下伪授权,套餐是 SolusVM Enterprise (NOC):
150.95.9.225 soluslabs.com 150.95.9.225 www.soluslabs.com 150.95.9.225 licensing1.soluslabs.net 150.95.9.225 licensing2.soluslabs.net 150.95.9.225 licensing3.soluslabs.net 150.95.9.225 licensing4.soluslabs.net 150.95.9.225 licensing5.soluslabs.net 150.95.9.225 licensing6.soluslabs.net
或者,套餐是 SolusVM Enterprise (RS)
150.95.9.221 soluslabs.com 150.95.9.221 www.soluslabs.com 150.95.9.221 licensing1.soluslabs.net 150.95.9.221 licensing2.soluslabs.net 150.95.9.221 licensing3.soluslabs.net 150.95.9.221 licensing4.soluslabs.net 150.95.9.221 licensing5.soluslabs.net 150.95.9.221 licensing6.soluslabs.net
b、防火墙屏蔽验证地址
iptables -I INPUT -s 94.0.0.0/8 -j DROP
保存 iptables 配置
service iptables save
重启 iptables
service iptables restart
2、关闭 selinux
vi /etc/sysconfig/selinux
把 SELINUX 设为 disabled
如下:
SELINUX=disabled
二 、SolusVM 被控的安装及破解
1、安装 SolusVM 被控
wget https://files.soluslabs.com/install.sh sh install.sh
等待一会,系统初始化。
几分钟后会出现选择,根据自己的需要,4 为 KVM,5 为 Xen,6 为 OpenVZ
安装后会出现下面的信息,记住!
2、破解 SolusVM 被控
添加伪授权 hosts
vi /etc/hosts
添加如下伪授权:
150.95.9.225 soluslabs.com 150.95.9.225 www.soluslabs.com 150.95.9.225 licensing1.soluslabs.net 150.95.9.225 licensing2.soluslabs.net 150.95.9.225 licensing3.soluslabs.net 150.95.9.225 licensing4.soluslabs.net 150.95.9.225 licensing5.soluslabs.net 150.95.9.225 licensing6.soluslabs.net
或者
150.95.9.221 soluslabs.com 150.95.9.221 www.soluslabs.com 150.95.9.221 licensing1.soluslabs.net 150.95.9.221 licensing2.soluslabs.net 150.95.9.221 licensing3.soluslabs.net 150.95.9.221 licensing4.soluslabs.net 150.95.9.221 licensing5.soluslabs.net 150.95.9.221 licensing6.soluslabs.net
-
输入你在官网申请或购买的证书激活,此步骤简单不详细说明。 当然市面上也有开心版思路,仅仅指一个路:Shira 的博客 和
- 本博客不会出现任何开心版内容发布,也请勿讨论。
- 激活地址:https://affman.ml:5656/admincp/license.php
SVMSO-RKHHQ-NRH6G-WM1XH-7VYVH-49CXG-8MX1L-GFVRQ
配置锐速
CentOS6 支持 ovz 和内核为: 2.6.32-042stab112.15
rpm -ivh http://download.openvz.org/kernel/branches/rhel6-2.6.32/042stab112.15/vzkernel-firmware-2.6.32-042stab112.15.noarch.rpm rpm -ivh http://download.openvz.org/kernel/branches/rhel6-2.6.32/042stab112.15/vzkernel-2.6.32-042stab112.15.x86_64.rpm --force
wget http://download.openvz.org/kernel/branches/rhel6-2.6.32/042stab112.15/vzkernel-2.6.32-042stab112.15.x86_64.rpm wget http://download.openvz.org/kernel/branches/rhel6-2.6.32/042stab112.15/vzkernel-firmware-2.6.32-042stab112.15.noarch.rpm rpm -ivh vzkernel-firmware-2.6.32-042stab112.15.noarch.rpm rpm -ivh vzkernel-2.6.32-042stab112.15.x86_64.rpm --force
rpm -qa | grep kernel
显示的内核里有2.6.32-042stab112.15
即可重启reboot
准备安装锐速。
wget -N --no-check-certificate https://github.com/91yun/serverspeeder/raw/master/serverspeeder.sh && bash serverspeeder.sh
设置 Node
- 本教程是设置本地 Node, 地址:https://affman.ml:5656/admincp/nodes.php
- 想超售这里就写的比实际大就行了。
设置 IP 段(IP Block)
- 设置地址:https://affman.ml:5656/admincp/ipblocks.php
- 如果你是公网 IP 段,正常设置即可,不赘述。
- 如果你是想做 NAT VPS,详见下文 NAT VPS 相关配置
设置 VPS Plan
本教程仅涉及 OpenVZ 的开通。
- 设置地址:https://affman.ml:5656/admincp/addvzplan.php 仅解释其中两个参数: Guaranteed Ram:实际内存 Burstable to Ram:等于 内存 + SWAP
- 下图是我设置的一个 64M 内存的小计划。
NAT VPS 相关配置
多数内容参考的是 @eqblog 的帖子
取消 ip_conntrack 的禁用
修改文件 yum install nano && nano /etc/modprobe.d/openvz.conf
将 =1
改为 =0
,保存退出。
重启系统 reboot
检查 iptables -t nat -L
假如没有说异常(缺失、丢失等)说明 ip_conntrack 取消禁用成功
//错误提示 iptables v1.4.7: can't initialize iptables table `nat': Table does not exist (do you need to insmod?) Perhaps iptables or your kernel needs to be upgraded. //正常结果 Chain PREROUTING (policy ACCEPT) target prot opt source destination Chain POSTROUTING (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination
设置 IP 段(IP Block)
- 因为要配合后续的端口转发脚本,建议设置为 10.0.1.1,具体见图。
- 分配 IP
创建虚拟网卡
安装完后,要先创建个虚拟网卡,在母鸡操作,如下
vim /etc/sysconfig/network-scripts/ifcfg-intbr0
黏贴下面的内容
DEVICE=intbr0 ONBOOT=yes TYPE=Bridge BOOTPROTO=static IPADDR=10.0.1.1 #根据你在面板中设置的 IP 来填写 NETMASK=255.255.255.0
重启网络
service network restart
然后可以查看有没有创建到这个虚拟网卡
ip a
内网端口转发-一(我不喜欢)
- 一般需要人工写 iptables,但是太麻烦了,下面是一个脚本,方便自动批量生成。 脚本下载地址:http://storage.liyuans.com/09.Shell/addnat.sh
- 使用方法:
wget http://storage.liyuans.com/09.Shell/addnat.sh bash addnat.sh
-
<规则解释: 默认是分配
10.0.1.0/24
的 IP 转发规则,如果有多个,就额外分配 10.0.2.0/24
、10.0.3.0/24
等,这里按照10.0.1.0/24
解释。
基础规则是 10.0.C.D 的内网 IP(此例子 C 为 1,D 最多是 3 位数) SSH 端口是 61D(D 不足 3 为前面补 0) 可用端口是 1D1 - 1D9(D 不足 3 为前面补 0) 具体案例: 10.0.1.56 SSH 端口是 61056 可用端口是 10561 - 10569
检查是否配置好
iptables -t nat -L
内网端口转发-二(推荐)
vps 创建好了,要从外面连接进去,还要在母鸡上进行端口转发
进入母鸡之后,小白我用的端口转发是逗比的脚本,教程 这里或直接使用下面的命令,第一个要转发的肯定是 22 端口,这样才能 ssh 到 nat 鸡上
打开脚本后,选择 4. 添加 iptables 端口转发
本地监听端口,你挑一个喜欢的,比如 50000
本服务器公网 ip,一般这个直接回车
转发类型:1.TCP
然后按提示操作,成功后,就可以在外面像正常的 vps 那样,用母鸡的公网 ip,端口用刚刚设置的那个 50000 ssh 到 nat 鸡了。
设置可用端口,看那些大佬开的 nat 鸡,通常都是 20 个,下面举栗
本地监听端口:50001-50019
本服务器公网 ip,回车
转发类型:3.TCP+UDP
到这里,这个 nat 鸡就大概可正常的食用了
安装步骤
wget -N --no-check-certificate https://softs.loan/Bash/iptables-pf.sh && chmod +x iptables-pf.sh && bash iptables-pf.sh 备用下载地址(上面的链接无法下载,就用这个):wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/iptables-pf.sh && chmod +x iptables-pf.sh && bash iptables-pf.sh下载并运行脚本后,先选择 1. 安装 iptables ,会检测是否安装 iptables 同时也会进行 iptables 防火墙开机启动加载等配置。
使用方法
./iptables-pf.sh运行脚本后,会显示菜单:
iptables 端口转发一键管理脚本 [vx.x.x]
-- Toyo | doub.io/wlzy-20 --0. 升级脚本
————————————
1. 安装 iptables
2. 清空 iptables 端口转发
————————————
3. 查看 iptables 端口转发
4. 添加 iptables 端口转发
5. 删除 iptables 端口转发
————————————
注意:初次使用前请请务必执行 1. 安装 iptables(不仅仅是安装)请输入数字 [0-5]:
重要重要
如果你发现,ssh 进入到 nat 鸡,但是连接不到外网,具体为
可以ping 127.0.0.1 / nat 鸡 ip / 母鸡公网 ip,但就是不能继续 ping 不到外面
,或许还差一条 iptables 规则
全文重点,这也是写这篇文章的目的,我翻了整个 Google,搜到眼睛爆裂都找不到的答案,让 Telegram 上的 dalao 给解决了,然后这个一定要贴出来,让我等小白少走弯路!在母鸡上操作
iptables -t nat -A POSTROUTING -s 10.0.1.1/24 -j MASQUERADE开通 VPS
也分为两种,人工开和与 WHMCS 对接开通。
人工开通
- 新增 client(用户) https://affman.ml:5656/admincp/clients.php
- 新增 Server(机器) https://affman.ml:5656/admincp/vmlist.php
- 后续需要记住的内容如下:(仅示例)
SolusVM 用户地址:https://affman.ml:5656/login.php 用户名:Test 密码:hpgl1CXW3Rbdfsds@ VPS 内网 IP:10.0.1.5 公网 IP:你的公网 IP SSH 端口:61005 可用端口:10051 - 10059 用户:root 密码:efwoiwrfe%123D
WHMCS 对接
(一)SolusVM 的设置
添加 API
(二)WHMCS 的设置
1、部分 WHMC 版本没有 solusvm 模块,下载:https://github.com/plesk/SolusVM-WHMCS-Module/archive/master.zip,解压后,把 solusvmpro 文件夹添加到 根目录 /modules/servers 下。
2、添加服务器,Setup – Products – Servers
3、添加产品
使用 VPS
- 这个不在此介绍,有了上述信息,就可以自行登录 SolusVM 进行重装等各种设置了。
其他问题
管理员重置密码
- 直接使用下列命令即可,会给你产生新的密码
php /usr/local/solusvm/scripts/pass.php --type=admin --comm=change --username=vpsadmin