人人都能当oneman

本教程使用Virtualizor和whcms演示,小鸡类型为LXC,网络为IPv4NAT+IPv6,OS:CentOS 8, 面板具体如何使用本教程不做讲解

效果展示:https://zerou.de

安装Virtualizor

安装必要依赖

1
2
3
4
5
6
7
8
9
10
# 修改源
sed -i s/mirror.centos.org/vault.centos.org/g /etc/yum.repos.d/CentOS-*.repo
sed -i s/^#.*baseurl=http/baseurl=http/g /etc/yum.repos.d/CentOS-*.repo
sed -i s/^mirrorlist=http/#mirrorlist=http/g /etc/yum.repos.d/CentOS-*.repo

# update
yum update

# install
yum install wget lvm2 firewalld curl nano ndppd -y

安装

如果你想修改母鸡的IP一定要先修改并能正常使用之后再安装

如果需要开心参考:

1
2
3
4
5
6
# 修改授权
echo "152.53.227.142 api.virtualizor.com" >> /etc/hosts
# 锁定hosts 因为不锁定会被修改回去
chattr +i /etc/hosts
# 如果需要解锁
chattr -i /etc/hosts

官方安装:

1
2
3
wget -N http://files.virtualizor.com/install.sh
chmod 0755 install.sh
./install.sh email=your@email.com kernel=lxc

配置网络

安装完成之后先检查网络是否正常,如果不通找AI调试,因为问题都不相同没什么参考性,直接找AI

1
2
3
4
# 检查IPv4
curl ipv4.ip.sb
# 检查IPv6
curl ipv6.ip.sb

配置IPv6

确认网络正常之后使用面板添加IPv6的IP池

面板地址:https://Your-Server-IP:4085

账号:root
密码:你的VPS密码

01.png

配置IPv4NAT

1
2
nmcli connection modify viifbr0 +ipv4.addresses 10.0.1.1/24
nmcli connection up viifbr0

执行成功之后检查:
02.png
面板添加IPv4的IP池
03.png

设置NAT的端口转发

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
nano addnat-firewalld.sh

#!/usr/-bin/env bash

# --- 配置区 ---
# 虚拟机所在的内网IP段前缀
PRIVATE_IP_PREFIX="10.0.1"
# 您的网桥接口名称
BRIDGE_INTERFACE="viifbr0"
# --- 配置区结束 ---

# 自动获取接口所在的防火墙区域
ZONE=$(firewall-cmd --get-zone-of-interface=${BRIDGE_INTERFACE})
if [ -z "$ZONE" ]; then
echo "错误: 无法找到接口 ${BRIDGE_INTERFACE} 所在的firewalld区域。"
echo "请确保接口已启动并且firewalld服务正在运行。"
exit 1
fi
echo "接口 ${BRIDGE_INTERFACE}${ZONE} 区域。所有规则将添加到此区域。"

echo "开始为IP段 ${PRIVATE_IP_PREFIX}.1 - ${PRIVATE_IP_PREFIX}.254 添加端口转发规则..."

# 循环254个可能的IP地址 (从 .1 到 .254)
for (( i = 1; i <= 254; i++ )); do
# 目标虚拟机的内网IP
VM_IP="${PRIVATE_IP_PREFIX}.${i}"

# --- 根据您的规则计算端口 ---
# SSH端口 (61xxx)
SSH_PORT="61$(printf "%03d" ${i})"
# 用户端口范围 (1xxx1 - 1xxx9) <-- 已按您的要求修正
USER_PORT_FIRST="1$(printf "%03d" ${i})1"
USER_PORT_LAST="1$(printf "%03d" ${i})9"

echo "为虚拟机 ${VM_IP} 添加规则:"
echo " - SSH: 宿主机端口 ${SSH_PORT} -> ${VM_IP}:22"
echo " - TCP范围: 宿主机端口 ${USER_PORT_FIRST}-${USER_PORT_LAST} -> ${VM_IP}"
echo " - UDP范围: 宿主机端口 ${USER_PORT_FIRST}-${USER_PORT_LAST} -> ${VM_IP}"

# 添加永久性的 firewalld 转发规则
# 转发SSH
firewall-cmd --permanent --zone=${ZONE} --add-forward-port=port=${SSH_PORT}:proto=tcp:toaddr=${VM_IP}:toport=22
# 转发TCP端口范围
firewall-cmd --permanent --zone=${ZONE} --add-forward-port=port=${USER_PORT_FIRST}-${USER_PORT_LAST}:proto=tcp:toaddr=${VM_IP}
# 转发UDP端口范围
firewall-cmd --permanent --zone=${ZONE} --add-forward-port=port=${USER_PORT_FIRST}-${USER_PORT_LAST}:proto=udp:toaddr=${VM_IP}
done

echo "所有端口转发规则已添加。正在重新加载firewalld使其生效..."
firewall-cmd --reload

echo "操作完成!"

bash addnat-firewalld.sh

配置IPv6

配置邻居代理

2a14:1ec7:1034:3xxx:: 修改为你自己的IP地址

1
2
3
4
5
6
7
8
9
10
nano /etc/ndppd.conf

proxy viifbr0 {
router yes
rule 2a14:1ec7:1034:3xxx::/64 {
static
}
}

systemctl restart ndppd

配置firewalld

1
2
3
4
5
# 查看输出是否是public
firewall-cmd --get-zone-of-interface=viifbr0
# 如果不是就替换下面命令里的public
firewall-cmd --permanent --zone=public --set-target=ACCEPT
firewall-cmd --reload

然后现在去面板创建一个VPS测一下IP是否正常,不正常就找AI

安装whcms

官方网站:https://download.whmcs.com

下载之后解压,然后使用宝塔/1Panel之类的运行起来就行了

如果需要开心一下

访问:https://whmcsfull.com

下载和你whmcs版本一致的许可证文件放到/your-whcms-path/vendor/whmcs/whmcs-foundation/lib/

对接Virtualizor

官方下载:https://files.virtualizor.com/whmcs/whmcs_v2.zip

下载后解压放到/your-whcms-path/modules/servers/目录

中文:https://github.com/Rodots/WHMCS-zh-CN

其他的面板配置就不写了,主要是记录一下网络配置