设为首页收藏本站

安而遇随-随遇而安

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
安而遇随-随遇而安 首页 其他 笔记 查看内容

SolusVM安装 开通KVM+NAT+VPS设置

2018-8-18 16:46| 发布者: 随便、先森。| 查看: 2635| 评论: 0

摘要: SolusVM安装 开通KVM+NAT+VPS设置 SolusVM是一套国外的服务器虚拟化管理系统,分为主控(Master)、被控(Slaves)两个部分。主控提供图形化的WEBUI用来控制被控,主控一般情况下,我们可以随便找一台VPS安装,但被 ...
SolusVM安装 开通KVM+NAT+VPS设置

SolusVM是一套国外的服务器虚拟化管理系统,分为主控(Master)、被控(Slaves)两个部分。主控提供图形化的WEBUI用来控制被控,主控一般情况下,我们可以随便找一台VPS安装,但被控则必须安装在独立服务器内(如果是用来开ovz的话被控可以装在kvm vps上)。另外主控可以控制多个被控,实现虚拟化集群管理等一系列功能。

SolusVM不是一款免费的软件,它的授权价格是主控10$/月,被控2.5$/月。

先来看看安装要求,这里我们主要使用CentOS6安装。

分区要求:

Xen PV/HVM
"/"(根目录)80GB+(XEN模板和iso将存储在/home/solusvm/xen)
SWAP 4GB(虚拟服务器不使用主机swap)
剩下的空间全部分配给LVM(需要注意,只配置Logical Volume Group逻辑卷组,具体的卷会由Solusvm自己创建)
PE Size应设置为32M而不是默认值4M。

KVM
"/"(根目录)80GB+(KVM模板和iso将存储在/home/solusvm/kvm)
SWAP 4GB +(如果实际内存不足,虚拟服务器可能会使用主机swap)
剩下的空间全部分配给LVM(需要注意,只配置Logical Volume Group逻辑卷组,具体的卷会由Solusvm自己创建)
PE Size应设置为32M而不是默认值4M。

OpenVZ
"/"(根目录)80GB
SWAP 2倍RAM(如果RAM⇐2GB,否则RAM + 2GB就足够了)
"/vz"占用剩余的空间(模板和虚拟服务器将存储在此处)

达到上面要求后开始安装SolusVM

一、安装SolusVM主控
1、安装SolusVM主控。
挺简单的,官方有一键脚本
wget https://files.soluslabs.com/install.sh
sh install.sh
几分钟后会出现选择,这里安装主控建议选择 1(1.主控端,无虚拟化。2.主控端,OpenVZ虚拟化+模板。3.主控端,OpenVZ虚拟化。4.被控端,KVM。5.被控端,Xen。6.被控端,OpenVZ)

安装完后会出现SolusVM控制台地址、用户名、密码等,记录下来。


2、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
b.防火墙屏蔽验证地址
iptables -I INPUT -s 94.0.0.0/8 -j DROP
iptables配置保存,重启
service iptables save
service iptables restart

3、SSL证书配置
运行前务必确认已经解析好并替换红字为你们的域名。
获取证书
yum install curl &&
curl https://get.acme.sh | sh && source ~/.bashrc 
acme.sh --issue -d aeys.org -w /usr/local/solusvm/www/.verification
安装证书
acme.sh --installcert -d aeys.org \
--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"

4、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

5、进入web控制端激活授权
激活地址:https://aeys.org:5656/admincp/license.php
用户名:vpsadmin
密码:vpsadmin

伪授权随便输,正版输入你在官网申请或购买的证书激活


二 、SolusVM安装被控
1、安装SolusVM被控。
wget https://files.soluslabs.com/install.sh
sh install.sh
选择 4 被控端,KVM。


安装成功后会显示这台被控的KEY和密码信息,这两个信息务必要妥善保管:


2、添加伪授权同上

3、SolusVM KVM的网桥设置
官方文档:https://documentation.solusvm.com/display/DOCS/KVM+Bridge+Setup
a.安装桥接依赖:(一般SolusVM自动安装的时候应该是已经装好了的)
yum -y install bridge-utils
b.开ipv4转发:
vi /etc/sysctl.conf
把其中的net.ipv4.ip_forward = 0修为net.ipv4.ip_forward = 1,如下:

使用sysctl -p使其生效,如下图
sysctl -p


c.新建一个桥接网卡,命名为br0
vi /etc/sysconfig/network-scripts/ifcfg-br0
写入:(如果没有IPv6,删除IPv6的部分)
DEVICE=br0
TYPE=Bridge
BOOTPROTO=static
IPADDR=服务器主IP
NETMASK=子网掩码
ONBOOT=yes
GATEWAY=网关
IPV6INIT=yes
IPV6ADDR=服务器IPV6地址
IPV6_DEFAULTGW=fe80::1
IPV6_DEFAULTDEV=br0
d.编辑默认网卡(有的是eth0,有的是eth1)
vi /etc/sysconfig/network-scripts/ifcfg-eth1
把里面的内容替换成:
DEVICE=eth1
ONBOOT=yes
BRIDGE=br0
e.重启网络:
service network restart
网桥配置后,现在网卡应该是这样的:

(忘记截图了。。用Senra的图)


三、SolusVM主控端对接设置
1、添加节点(主控和被控对接)。首先点击 Nodes—Add Node,然后按如下图格式填写

注意:LV Group这个值,一定要填写和我们之前分区指定的LVM卷组名一样。被控端使用命令 vgs 即可查看

添加完成后再编辑节点

注意:用kvm开nat vps的话 kvm桥那里填 virbr0

2、添加kvm系统模版 
官方提供的模板地址:https://tdn.solusvm.com/
例:下载centos7的模板,在主控服务器执行如下命令:
wget http://templates.solusvm.com/kvm/linux-centos-7-x86_64-minimal-latest.gz -O /home/solusvm/kvm/template/linux-centos-7-x86_64-minimal-latest.gz

下载完成后回到SolusVM的后台,点击 Media-Add KVM Template,按如图所示填写相应的信息:

注意:
1.Generation这个值默认是1,但我们一定要改成2,否则虚拟机无法正常开机。
2.Disk Driver一定要选择virtio。
3.Arch一定要选择x86_64,因为我们的系统模版是基于64位架构制作的。
4.建议开启CPU Model,并把模式改为host-passthrough。

添加好系统模板后还有同步到被控才行
点击 Media-Media Sync-create,选中我们要同步的模版,然后选中要同步的被控,提交即可

稍等片刻,一旦这里显示Completed,即代表模版同步完成:


3、添加套餐。点击Plans-Add KVM Plan设置套餐


四、Kvm NAT VPS设置
1、查看nat是否开启。如图已开启
virsh net-list


2、编辑 default
virsh net-edit default

改成如图(配合后面的端口转发脚本)

3、重启 default 使其生效
virsh net-destroy default
virsh net-start default
virsh net-autostart default
ifconfig 查看是否生效,可以看到网卡virbr0 已经变成我们设置的ip了


4、内网端口转发
创建脚本addnat.sh:
vi addnat.sh
添加下面的内容。
#!/usr/bin/env bash
echo -e "Please input your server main ip"
		stty erase '^H' && read -p "(such as 8.8.8.8):" main_ip
		[[ -z "${main_ip}" ]] && echo -e "cancel..." && exit 1
echo -e "Please input how many /24 you want to use, max is 5"
		stty erase '^H' && read -p "(such as 1):" user_ip_num
		[[ -z "${user_ip_num}" ]] && echo -e "cancel..." && exit 1
iptables -t nat -F
iptables -t nat -A POSTROUTING -o br0 -j SNAT --to ${main_ip}
user_ip_head="10.0."
for (( c = 1; c <= ${user_ip_num}; c++ ));do
	for (( d = 1; d <= 255; d++ ));do
		user_ip=${user_ip_head}${c}"."${d}
		if (("$d" < 10)); then
			ssh_port="6"${c}"00"${d}
			user_port_first=${c}"00"${d}"0"
			user_port_last=${c}"00"${d}"9"
		elif (("$d" < 100)); then
			ssh_port="6"${c}"0"${d}
			user_port_first=${c}"0"${d}"0"
			user_port_last=${c}"0"${d}"9"
		else
			ssh_port="6"${c}${d}
			user_port_first=${c}${d}"0"
			user_port_last=${c}${d}"9"
		fi
		iptables -t nat -A PREROUTING -i br0 -p tcp -m tcp --dport ${ssh_port} -j DNAT --to-destination ${user_ip}:22
		iptables -t nat -A PREROUTING -i br0 -p tcp -m tcp --dport ${user_port_first}:${user_port_last} -j DNAT --to-destination ${user_ip}
		iptables -t nat -A PREROUTING -i br0 -p udp -m udp --dport ${user_port_first}:${user_port_last} -j DNAT --to-destination ${user_ip}	
	done
done
service iptables save
service iptables restart
echo -e "It seems done"
保存后执行
bash addnat.sh

  • 规则解释: 默认是分配 10.0.1.0/24 的IP转发规则,如果有多个,就额外分配10.0.2.0/2410.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


5、检测 iptables 规则
iptables -nL -v --line-numbers -t filter

发现reject-with icmp-port-unreachable 
6        4   192 REJECT     all  --  *      virbr0  0.0.0.0/0            0.0.0.0/0           reject-with icmp-port-unreachable 
7        0     0 REJECT     all  --  virbr0 *       0.0.0.0/0            0.0.0.0/0           reject-with icmp-port-unreachable
上面这两条规则是干什么的,我不清楚。反正有这两条规则,kvm nat端口转发是失败的。搞了几天得出的结论。。。删除这两条规则就可以了
iptables -D FORWARD 7 -t filter
iptables -D FORWARD 6 -t filter

6、添加ip
点击IP Blocks-Add IPv4 Block,然后按如图填写:

点击刚才设置的IP,进行编辑,设置IP


五、好了,现在可以开通kvm nat vps看看成果没。
SolusVM开vps必须要有用户,点击左侧的Add Client

接着点击Virtual ServersAdd-Virtual Server,如图选择KVM架构:


选择我们刚创建的套餐:

设置主机名、操作系统、ip 创建:

点击Virtual Servers可以看到创建的vps了


创建vps是成功了,现在登录看看端口转发成功没

SolusVM+KVM+NAT成功了!

写(抄)的比较乱 有问题请留言




最后附上参考各位大佬的网址:

IDC零基础系列——CentOS6安装SolusVM(从系统分区到删库跑路)

http://www.senra.me/install-solusvm-master-and-slave-in-centos6/

Hetzner使用SolusVM开设KVM架构的独立IP小鸡

https://lala.im/3304.html

SolusVM破解安装、SolusVM NAT的设置、SolusVM与Whmcs的整合

https://www.zmrbk.com/post-3874.html

小白教程:使用 SolusVM 开通 NAT VPS

https://liyuans.com/2018/05/tutorial-of-nat-vps-build-via-solusvm.html

solusvm+ovz+nat教程 感谢vpsps的脚本提供与教程

https://www.hostloc.com/thread-440942-1-1.html

烂泥:KVM使用NAT联网并为VM配置iptables端口转发

https://www.ilanni.com/?p=7016

virsh命令的常用操作(kvm)

http://www.bubuko.com/infodetail-1853980.html

reject-with icmp-port-unreachable

https://stackoverflow.com/questions/13772653/kvm-on-ubuntu-port-forwarding-to-a-guest-vm


鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论

  • Shadowsocks 一键安装脚本
  • CNCERT 2018年8月我国DDoS
  • 没有中间商赚差价的黑客服
  • 创业耗费百万,为何DDoS如
  • 黑镜调查:深渊背后的真相
论坛精选
分享个ddos网页端反射攻击的API源码
分享个ddos网页端反
先上图 实测源码没问题 API服务器需要安装SSH2扩展库 其他的按照源码里的注释配置
ddos网页端平台源码 汉化版 响应式
ddos网页端平台源码
ddos网页端平台源码 汉化版 响应式 注意:这只是ddos网页端平台源码 要和前面发的API
返回顶部