云电脑没有分配IPv6地址,但手中有一些闲置HK 移动CMI直连鸡.
想到可以用HK鸡作为入口,拉广移的云电脑, 如果仅仅跑个FRP和Alist,又浪费了8C16G
所以配了PVE + IPv6 + IPv4(Nat) 的玩法
硬性要求
- VPS有公网IPv6地址,且为/64位或数字<64,如下图
- 移动云电脑已DD为Debian,若未DD请参照下文DD
网段划分
172.16.98.0/24用于VPS和PVE节点间的IPv4通信fc00:fc00::/64用于VPS和PVE节点见的IPv6通信172.16.99.0/24为PVE分配给虚拟机的IPv42401:1111:2222:3333::/64为PVE分配给虚拟机的IPv6
一. 安装PVE和FRP
此处安装FRP是因为便于PVE SSH和Web页面管理
1. VPS释放掉IDC分配的IPv6地址
请记录VPS的IPv6地址,并使用
ip -6 route命令获取IPv6的默认网关地址
- 注释掉
/etc/network/interfaces中的IPv6配置部分 - 重启VPS
2. 先DD到Debian
- DD过程参考 移动云电脑dd至Debian
3. 使用Debian安装PVE 8
- 安装过程参考 官方安装教程
- 默认配置的国外pve源
- 可以使用Termius端口转发本地7890代理端口到云电脑
- 然后使用proxychains代理进行软件包安装
4. 使用FRP映射PVE Web端口和SSH端口
FRP配置文件写的没用的有点多,因为尝试了QUIC和KCP,最终发现TCP稳定一些.
建议将VPS和PVE的FRP均配置为Systemd,请参照官网文档 使用 systemd
- FRP版本:
0.53.2 - FRP 服务端配置文件
- FRP 客户端配置文件
二. 配置PVE
1. 新建网桥
- 在节点中创建一个新的网桥,命名为
vmbr0IPv4/CIDR根据前文,设置为172.16.99.0/24IPv6/CIDR根据前文,设置为2401:1111:2222:3333::/64网关/IPv6根据前文,设置为2401:1111:2222:3333::- 其余置空即可
- 若填写了
网关(IPv4)可能导致PVE无法联网 - 桥接端口不需要填写
- 若填写了
2. DNS配置

3. 磁盘-LVM配置

三. 配置WireGuard
1. VPS初始化配置
2. PVE初始化配置
3. VPS配置WireGuard
请修改配置文件
eth0修改为VPS的外网网卡接口名称
IPv6地址修改为VPS可用的64位v6网段内地址,例如:2401:1111:2222:3333::1/64
配置文件内的PublicKey/PresharedKey/PrivateKey修改为注释对应的
4. PVE配置WireGuard
请参照VPS端的配置进行修改,
配置文件内的PublicKey/PresharedKey/PrivateKey修改为注释对应的
请使用 WireGuard AllowedIPs Calculator 计算AllowedIPs:
- Allowed IPs填写为:
::/0, 0.0.0.0/0- Disallowed IPs填写为:
VPS的IPv4地址
5. NDP代理(VPS端)
类似于IPv4的ARP代理,内核自带的npd-proxy有些问题.
- 参考运行 ndpresponder
- 需要使用Go安装
ndpresponder- 经测试,Go版本1.19.1可用,最新版Go安装该包有问题
四. 其他配置
1. VPS防墙配置
- 尽力吧…避免WireGuard端口被封
五. PVE启动虚拟机测试
1. 下载可用Cloud-init镜像并配置
2. PVE Web端配置虚拟机
- 虚拟机Cloud-Init配置
- 关闭
升级程序包,避免开机升级浪费时间 - 设置密码
- 关闭
3. 启动虚拟机测试
- 可使用
NoVNC或xterm.js
六. 后记
- WireGuard还是偶尔会断连,这个可以考虑伪装TCP解决
- 端口被封的话,勤换端口







