nokvm 介绍:
全国首家免费的私有云计算虚拟化管理系统一款强大的基于Web的虚拟化控制面板。 管理员可以通过点击按钮即时创建主机,用户可以使用非常高级的基于Web的GUI来启动,停止,重新启动和管理他们的主机。 用户和管理员可以更好地管理其资源。下面教大家如果搭建单ip挂机宝。
今天找到了个NoKVM单IP开NAT挂机宝的教程,先转发一下避免未来有用找不到。单ip挂机宝,如果被ddos,母鸡会直接瘫痪,建议选择高防ip。
前置操作
- 首先开一台转发机,设定的ssh密码一定要和宿主机ssh密码一致。
- 强制关闭这台转发机器电源(用不到了但是也不可以删除)。
- 登录宿主机执行
virsh autostart --disable ****
(****
是你第一个机器名字 比如我们测试机名字是:ecs-heTqk
就输入virsh autostart --disable ecs-heTqk
) (取消开机自启动) - ssh登录主控,连接control数据库,修改
ip_address
表,找到分配给这台转发机的ip,修改为宿主机的ip (这样 ip 和 密码都和宿主机一致了 也就相当于ssh远程连接到宿主机执行命令)
数据库操作
- 查看数据库密码
cat /home/wwwroot/control/.env
,DB_PASSWORD
字段就是数据库密码 - 连接数据库
mysql -u root -p
,然后输入上面查询到密码 - 进入到control表
use control;
(;一定要输入) - 修改转发机ip为宿主机ip查看表数据:
sel ect * from ip_address;
upd ate `ip_address` set `ip`='宿主机ip' where `id`='xxx';
(Id=xxx xxx是IP ID 我是刚搭建的所以ID是 1 update ip_address set ip='宿主机ip' where id=1;)
脚本操作
(以下操作还在实验中 ,上面的成功了 但是不能远程 机器里面能上网)
在宿主机虚拟机数据目录中(/home/nokvm/resource/转发机名/change.sh),拷贝转发机目录的change.sh 并修改其内容 (网段不一定要按照我的来 可以自己划分网段,使vps的网关指定为br0:0配置的ip地址)
代码语言:javascript复制cd /home/nokvm/resource/ecs-xxx/
cp change.sh modify.sh
modify.sh文件修改过的样例:
代码语言:javascript复制ncf2=/etc/sysconfig/network-scripts/ifcfg-br0:0
/usr/bin/rm -rf $ncf2
/usr/bin/echo DEVICE=br0:0 >>$ncf2
/usr/bin/echo TYPE=Ethernet >>$ncf2
/usr/bin/echo BOOTPROTO=static >>$ncf2
/usr/bin/echo IPADDR=172.16.0.1 >>$ncf2
/usr/bin/echo NETMASK=255.255.248.0 >>$ncf2
/usr/bin/echo ONBOOT=yes >>$ncf2
systemctl restart network
ulimit -n 65535
/usr/bin/echo 'root soft nofile 65535' >> /etc/security/limits.conf
/usr/bin/echo 'root hard nofile 65535' >> /etc/security/limits.conf
/usr/bin/echo '* soft nofile 65535' >> /etc/security/limits.conf
/usr/bin/echo '* hard nofile 65535' >> /etc/security/limits.conf
/usr/bin/echo '* soft nproc 65535' >> /etc/security/limits.conf
/usr/bin/echo '* hard nproc 65535' >> /etc/security/limits.conf
/usr/bin/echo '* soft nofile 65535' >> /etc/security/limits.conf
/usr/bin/echo '* hard nofile 65535' >> /etc/security/limits.conf
/usr/bin/echo net.ipv4.ip_forward=1 >> /etc/sysctl.conf
/usr/sbin/sysctl -p
/usr/bin/wget -O /root/iptables-1.4.21-28.el7.x86_64.rpm http://down.tasiyun.com/soft/iptables-1.4.21-28.el7.x86_64.rpm
/usr/bin/wget -O /root/iptables-services-1.4.21-28.el7.x86_64.rpm http://down.tasiyun.com/soft/iptables-services-1.4.21-28.el7.x86_64.rpm
/usr/bin/rpm -i /root/iptables-1.4.21-28.el7.x86_64.rpm --nodeps
/usr/bin/rpm -i /root/iptables-services-1.4.21-28.el7.x86_64.rpm --nodeps
systemctl stop firewalld
systemctl disable firewalld
systemctl enable iptables
systemctl start iptables
iptables -F
iptables -X
iptables -Z
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -p tcp --dport 8088 -j ACCEPT
iptables -I INPUT -p tcp --dport 443 -j ACCEPT
iptables -I INPUT -p tcp --dport 22 -j ACCEPT
iptables -t nat -A POSTROUTING -s 172.16.0.0/21 -o br0 -j MASQUERADE
iptables -A FORWARD -s 172.16.0.0/21 -o br0 -j ACCEPT
iptables -A FORWARD -d 172.16.0.0/21 -m state --state ESTABLISHED,RELATED -i br0 -j ACCEPT
service iptables save
/usr/bin/wget -O /root/nginx-1.16.0-1.el7.ngx.x86_64.rpm http://down.tasiyun.com/soft/nginx-1.16.0-1.el7.ngx.x86_64.rpm
/usr/bin/rpm -i /root/nginx-1.16.0-1.el7.ngx.x86_64.rpm --nodeps
/usr/bin/rm -rf /etc/nginx/nginx.conf
/usr/bin/rm -rf /root/nginx-1.16.0-1.el7.ngx.x86_64.rpm
/usr/bin/wget -O /etc/nginx/nginx.conf http://down.tasiyun.com/soft/nginx.conf
/usr/bin/systemctl start nginx
在母鸡执行修改过的脚本。
后面就是添加vps的ip池,网关指定br0:0的ip 子网自行划分。