PVE 安装切 KVM 虚拟机以及基于 NAT 实现独立双栈 IP
本文由用户 灰机喵喵喵 撰写,并已加入 VPS.Town 优秀原创文章激励计划,未经允许不得转载。
本文已通过 VPS.Town 社区文章投稿及奖励规则 (试行稿) 格式审核,投稿内容真实性由原作者负责。
准备
- 大鸡一台
- 一个人
- 一双手
- 一键盘
安装 PVE
DD 重装系统
首先,进入 SSH,重装一下系统,这里使用 bin456789/reinstall 的 DD 重装脚本。
安装PVE8必须是Debian12,如果要装PVE9,则需要Debian13。
安装基本包
安装 PVE
- 使用
oneclickvirt的install_pve.sh一键安装 PVE 脚本
- 安装直到显示以下对话:
- 如文本所示,这时候只需要
reboot重启,然后再次连接等待 20s 后再执行一次脚本
- 然后会要求输入新主机名字:
不修改默认回车就好。 然后等待安装完成。
- 当显示如下信息则已经安装完成:
这时候就去访问信息中的链接地址就可以访问到 PVE 后台了,用户名是root,密码则是你ssh的root密码。
配置 PVE 宿主机的网络
[!警告] 确定能够进入 PVE 之后,再进行此操作。
使用一键脚本进行配置:
然后就会自动创建brige网络接口。
vmbr0负责 v4 的独立 IP,vmbr1负责复杂 v4/v6 的 NAT,vmbr2负责 v6 的独立 IP
如果宿主机自带的IPV6是/64的,就不会有vmbr2。
因为有一些杜甫是直接给多个IPV6的/64子段(VPS.Town 的 A4 就是),这时候就直接用vmbr0去分即可。
分 KVM 虚拟机
- 首先,先下镜像,这里直接用 Debian 的官方镜像,传送门 这里使用debian-12-genericcloud-amd64.qcow2作为小鸡的系统。 先下载到 PVE 上:
- 接下来去创建虚拟机,填写虚拟机名称,然后
操作系统选择不使用任何介质:
系统默认即可
磁盘 删除掉默认的硬盘,不需要添加硬盘:

CPU根据需要选择,类别如需要高性能可选择host否则默认即可:

内存根据需要给就行:

网络如果有多个独立 IPV4 选择vmbr0,如果使用 NAT,选择vmbr1:

防火墙需要关闭,不然 KVM 虚拟机可能会无法访问公网。如需开启防火墙需要去主机防火墙放行in 来源 IP 内网网段规则。
然后创建即可。
- 然后进入 PVE 控制台,将镜像导入到该虚拟机中:
100是虚拟机 ID debian-12-genericcloud-amd64.qcow2是镜像 local是本地存储
-
导入之后,进入虚拟机的
硬件,找到未使用的硬盘0,双击或者点编辑,然后添加硬盘,总线/设备可选VirtIO Block:
-
然后再选择硬盘,然后点击
磁盘操作-调整大小,输入要增大硬盘的大小:
-
然后再点
选项,双击引导顺序,将virtio0硬盘启用,然后拉到第一位:
-
再回到
硬件,点击添加,选择Cloudinit 设备,然后添加:
-
然后点击
Cloud-Init,然后可以设置用户、密码、SSH公钥、DNS服务器、IP设置按需设置,这里还需要讲清楚IP设置,NAT4 需要为虚拟机设置固定的内网 IP:
这里因为我要给虚拟机设置独立 IPV6,就不需要设置 NAT6 了,如果需要设置 NAT6,就给它设置 NAT 的子网段,例如:

-
然后再回到
硬件,添加串行接口:
-
然后选中
显示,显卡换成串行终端 0:
-
然后就可以正常开机,享受刚切的小鸡鸡了。
给 KVM 虚拟机添加独立 IPV6
- 在虚拟机
硬件中点击添加网络设备:
桥接选择宿主机的vmbr0或者vmbr2,具体看宿主机的 IPV6 分配情况。
-
然后回到
Cloud-Init中,编辑IP配置(net1),设置静态的 IPV6:
-
进入虚拟机,使用
ip.sb测试 IPV4 和 IPV6 是否正常:

开启 ROOT 密码登录
-
进入虚拟机的
控制台,然后输入用户名和密码进行登录 -
编辑
/etc/ssh/sshd_config文件
找到PermitRootLogin和PasswordAuthentication,去掉注释改成:
然后按Ctrl+X,按 Y 确认然后回车保存,然后再重启 ssh 服务:
NAT 端口转发
- 使用
iptables宿主机上的端口转发到虚拟机的端口上
dport 宿主机端口 to-destination 虚拟机地址端口
- 永久保存方法:
编辑
/etc/network/interfaces在iface vmbr1 inet static后面添加上
保存即可,然后重启网络:
