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证书配置 运行前务必确认已经解析好并替换红字为你们的域名。 获取证书
安装证书
4、SolusVM 前台汉化 前台中文可以优化一下用户体验。后台推荐大家用谷歌浏览器这样自动翻译也就跟汉化差不多了
5、进入web控制端激活授权
伪授权随便输,正版输入你在官网申请或购买的证书激活 二 、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,如下: 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 网桥配置后,现在网卡应该是这样的: 三、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
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小鸡 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 |