VirtFusion安装与配置

介绍

VirtFusion是一个虚拟化管理面板,主打的就是一个经济实惠,因为授权很便宜,单台VPS只需1.5美元/月,无限VPS只要18美刀所以现在很多ONEMAN都喜欢用这个面板。

VirtFusion分为控制服务器和虚拟化服务器两个部分,官方的建议是准备2台服务器安装,但为了节约成本也可以安装到1台服务器内,这里我就安装到1台服务器内了。

控制服务器相当于前端,提供一个WEB面板方便你日常操作。虚拟化服务器相当于后端,也就是实际运行虚拟机的服务器。

以下操作均在Debian12上完成。

安装控制服务器

控制服务器的安装很简单,官方准备了一键脚本:

apt -y install curl 
curl https://install.virtfusion.net/install-control-debian-12.sh | sh -s -- --verbose

安装完成会回显管理员账号密码与管理面板的地址:

+-------------+--------------------------------------+
|         URL | https://10.0.0.10                    |
|    Username | [email protected]                      |
|    Password | sQpfY1p1nhsxqXt                      |
+-------------+--------------------------------------+

然后安装acme配置ssl证书:

curl https://get.acme.sh | sh -s [email protected] # 安装完成后退出终端重新登录一遍

申请证书,将DOMAIN.COM换成你自己的域名:

acme.sh --issue \
        --webroot /opt/virtfusion/nginx/acme \
        --ocsp-must-staple \
        --keylength 4096 \
        --server letsencrypt \
        -d DOMAIN.COM

安装证书,将DOMAIN.COM换成你自己的域名:

acme.sh --installcert \
        --keypath /opt/virtfusion/ssl/ssl.key \
        --fullchainpath /opt/virtfusion/ssl/ssl.crt \
        --reloadcmd "systemctl reload vf-nginx" \
        -d DOMAIN.COM

这样就安装完成了。你可以登录WEB面板申请试用授权,即免费一个月:

安装虚拟化服务器

虚拟化服务器的安装也可以使用官方提供的一键脚本:

curl https://install.virtfusion.net/install-hypervisor-kvm-debian-12.sh | sh -s -- --verbose

等脚本跑完就安装完成了,不需要做任何其他额外的设置,就是这么简单。。

接下来你需要做的是配置母机网络。

配置网络

由于网络环境的复杂性与多样性,我不能保证这套配置搬到你的服务器也能正常使用,请根据自身网络环境进行适当的调整。

我的母机服务器拥有1个独立IPv4,/64的IPv6。(商家已route整个/64不需要自己用ndppd这类东西)

我的规划是:给虚拟机分配一个NATIPv4的同时分配一个独立的IPv6

首先编辑网络配置文件:

nano /etc/network/interfaces

配置桥接网络:

source /etc/network/interfaces.d/*

auto eth0
iface eth0 inet static
address 45.157.11.27/24
gateway 45.157.11.1
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 8.8.8.8 1.1.1.1
dns-search 45.157.11.27.ht-hosting.de
iface eth0 inet6 static
address 2a10:cc40:231:dc::1
netmask 64
gateway 2a10:cc40:231::1
dns-nameservers 2001:4860:4860::8888 2606:4700:4700::1111

说明:

ipv6更改为/128就行

auto eth0
iface eth0 inet static
address 45.157.11.27/24
gateway 45.157.11.1
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 8.8.8.8 1.1.1.1
dns-search 45.157.11.27.ht-hosting.de
iface eth0 inet6 static
address 2a10:cc40:231:dc::1
netmask 128
gateway 2a10:cc40:231::1
dns-nameservers 2001:4860:4860::8888 2606:4700:4700::1111

重启网络使配置生效(或者你也可以直接重启服务器,这样更保险)

systemctl restart networking
systemctl reboot

接下来配置NAT网络,首先安装dnsmasq和haproxy:

apt -y install dnsmasq haproxy

新建一个xml文件:

nano network.xml

写入如下配置:

<network>
<name>natbr0</name>
<forward dev='MAIN_NETWORK_NAME' mode='nat'/>
<bridge name='natbr0' stp='on' delay='0'/>
<ip address='192.168.200.1' netmask='255.255.255.0'/>
<ip address='192.168.201.1' netmask='255.255.255.0'/>
<ip family='ipv6' address='2a01:4f9:1a:9f6c:2::2' prefix='64'/>
</network>

现在要做的就是启动NAT网络:

virsh net-define --file network.xml
virsh net-autostart natbr0
virsh net-start natbr0

如果你需要修改已经启动的NAT网络配置,可遵循如下步骤来操作:

virsh net-edit natbr0
virsh net-destory natbr0
virsh net-start natbr0

需要注意的是这将导致所有虚拟机的网络断开,要么你自己一台台重启虚拟机要么直接重启母机。

将虚拟化服务器添加到控制服务器

现在需要将虚拟化服务器与控制服务器进行对接,这样控制服务器才能操控虚拟化服务器。

登录到控制服务器,转到Compute Resources-Hypervisors-Add Hypervisor,填写虚拟化服务器的IP,名字随意:

添加成功后你将可以在控制服务器上对此虚拟化服务器进行更细粒度的配置。由于可配置选项非常多,这里我只列出几个非常重要的配置。

最重要的是网络,你需要将Primary Network的类型设置为Libvirt routed networking

Interface Name设置为natbr0:

其次是存储,务必给你的母机服务器预留一点磁盘空间用来存储系统模板等文件,假设你的母机有2TB硬盘,这里配置成1700GB或者1800GB就行了:

做完上面的配置后务必打开Enabled选项,这样才会真正启用这个虚拟化服务器,另外这里有一个Limit的设置,如果你想超开则可以在这里把Servers/CPU/Memory都设置成0。

其他的那些配置暂时先不用管,然后点击Updata更新并保存设置:

现在需要创建一个组,转到Compute Resources-Hypervisor Groups-Create Group,名字随意:

将刚才的虚拟化服务器添加到这个组:

添加IP Block

现在需要添加IP Block,在之前我们配置了2个网络一个NAT,一个桥接用于独立IPv6。这里我们也需要添加2个IP Block,一个用于NAT一个用于独立IPv6。

IPv4 Block

首先添加IPv4的,转到Connectivity-IP Block-Create IP Block,名字随意,类型IPv4:

将Gateway设置为192.168.200.1,Netmask设置为255.255.255.0,DNS服务器自己喜欢哪个用哪个:

附加到natbr0:

生成IP Block后,将192.168.200.0、192.168.200.1这种不可用的IP地址设置为保留:

IPv6 Block

转到Connectivity-IP Block-Create IP Block,名字随意,类型IPv6。

Gateway设置为260X:29X:0:8X::1,Source Subnet设置为:260X:29X:0:8X::,Source Subnet CIDR设置为/64。

Output Subnet CIDR这里我设置成/96,如果你只想让虚拟机拥有一个IPv6这里可以设置成/128:

附加到natbr0:

配置虚拟机默认参数

转到Settings-Virtualization,在这里可以设置虚拟机的一些默认配置,建议按照下面我说的来设置。

打开PortIsolation,这样可以限制内网虚拟机之间互相访问,提升安全性。

DiskBusType设置为VirtIOBlock,DiskImageType设置为QCOW2,DiskCacheType设置为writeback,提升虚拟机性能。

CPU Mode/Model设置为HostPassthrough可让虚拟机直接显示母机CPU型号。

请注意要让你的虚拟化服务器遵循这些默认设置,需要在虚拟化服务器内将所有与之相关的选项设置为Inherit from virtualization settings:

如果想让你的虚拟机支持嵌套虚拟化,则还需要启用svm或者vmx:

创建一台虚拟机

首先需要创建一个Packages,你可以理解为这就是设置一个套餐。转到Servers-Packages-Create Package,套餐的名字随意。

在这里需要设置CPU核心、内存大小、主磁盘大小、每月可用流量等:

现在转到Server-Servers-Create Server,选择要将虚拟机创建到哪个用户名下、选择虚拟化服务器组、选择Packages,然后点击Create即可创建一台虚拟机了:

之后用户就可以通过面板来给虚拟机安装操作系统了:

为虚拟机配置IPv6

当操作系统安装好之后,如果虚拟机需要使用IPv6,则我们还需要手动进行设置,找到对应的虚拟机,创建Secondary网络:

将Hypervisor Network修改为br0点更新并应用:

然后看到ASSIGNED IPV6 SUBNETS,在右边点击Random按钮给虚拟机分配一个IPv6子网:

注意:需要重启虚拟机才能生效。

另外有些系统模板存在问题,无法设置IPv6的默认网关,则需要用户在虚拟机内手动配置:

ip route add default via GWIP dev INTERFACE onlink

将GWIP替换为在WEB面板看到的IPv6网关IP,INTERFACE替换为你系统内的接口名字,Ubuntu一般是ensX。(X代表随机数,以你系统内实际的数字为准)

暂无介绍....

延伸阅读:

VirtFusion安装与配置

介绍VirtFusion是一个虚拟化管理面板,主打的就是一个经济实惠,因为授权很便宜,单台VPS只需1.5美元/月,无限...

admin
2024年7月6日