logo NodeSeekbeta

PVE安装切KVM虚拟机以及分NAT和独立V4V6教程

123
  • 全程!

  • 安装个oneclickvirt的面板即可自动化管理,不需要手动操作

  • @ya1143519429 #12 自动化pve切的v6 不能用 不知道为什么

    incus分配的ipv6倒是可以

  • 我记得有一句 是这样的

    所有修改过的文件均已设置为只读模式,避免重启后文件被覆写,如需修改请使用chattr -i 文件路径取消只读锁定,修改完毕请执行chattr +i 文件路径进行只读锁定

    咋没看见

  • bd

  • 啥时候录制视频,全套

  • 回头试试

  • @1m1ng 图床挂了,麻烦补上

  • 可以补上图床吗,正需要 yct016

  • 前言

    朋友给了一台VPS.Town-HKG-A4玩玩,所以就有了这篇文章,边玩边记录,然后就发出来给大伙参考参考吧。可能存在瑕疵,欢迎评论指指点点。

    准备

    • 大鸡一台
    • 一个人
    • 一双手
    • 一键盘

    安装PVE

    DD重装系统

    首先,进入SSH,重装一下系统,这里使用 bin456789/reinstall 的DD重装脚本。

    curl -O https://gh-proxy.1m1ng.ru/https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.sh || wget -O ${_##*/} $_
    bash reinstall.sh debian 12 --password abc123456
    

    [!提示]
    安装PVE8必须是Debian12,如果要装PVE9,则需要Debian13。

    安装基本包

    apt update
    apt install curl sudo wget -y
    

    安装PVE

    1. 使用oneclickvirt的install_pve.sh一键安装PVE脚本
    curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh
    
    1. 安装直到显示以下对话:
    Please execute reboot to reboot the system and then execute this script again
    Please wait for at least 20 seconds without automatically rebooting the system before executing this script.
    请执行 reboot 重启系统后再次执行本脚本,再次使用SSH登录后请等待至少20秒未自动重启系统再执行本脚本
    
    1. 如文本所示,这时候只需要reboot重启,然后再次连接等待20s后再执行一次脚本
    bash install_pve.sh
    
    1. 然后会要求输入新主机名字:
    Please enter a new host name (can only contain English letters and numbers, not pure numbers or special characters, enter the default pve):
    请输入新的主机名(只能包含英文字母和数字,不能是纯数字或特殊字符,回车默认为pve):
    

    不修改默认回车就好。
    然后等待安装完成。

    1. 当显示如下信息则已经安装完成:
    Running kernel: pve-manager/8.4.14/b502d23c55afcba1 (running kernel: 6.1.0-41-cloud-amd64)
    Installation complete, please open HTTPS web page https://123.123.123.123:8006/
    The username and password are the username and password used by the server (e.g. root and root user's password)
    If the login is correct please do not rush to reboot the system, go to execute the commands of the pre-configured environment and then reboot the system
    If there is a problem logging in the web side is not up(Referring to the page reporting an error, it keeps loading or is normal), wait 10 seconds and restart the system to see
    安装完毕,请打开HTTPS网页 https://123.123.123.123:8006/
    用户名、密码就是服务器所使用的用户名、密码(如root和root用户的密码)
    如果登录无误请不要急着重启系统,去执行预配置环境的命令后再重启系统
    如果登录有问题web端没起来(指的是网页报错,一直在加载还是正常的),等待10秒后重启系统看看
    

    这时候就去访问信息中的链接地址就可以访问到PVE后台了,用户名是root,密码则是你ssh的root密码。

    配置PVE宿主机的网络

    [!警告]
    确定能够进入PVE之后,再进行此操作。

    使用一键脚本进行配置:

    bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/build_nat_network.sh)
    

    然后就会自动创建brige网络接口。
    vmbr0负责v4的独立IP,vmbr1负责复杂v4/v6的NAT,vmbr2负责v6的独立IP

    [!提示]
    如果宿主机自带的IPV6是/64的,就不会有vmbr2。
    因为有一些杜甫是直接给多个IPV6的/64子段(VPS.Town的A4就是),这时候就直接用vmbr0去分即可。

    分KVM虚拟机

    1. 首先,先下镜像,这里直接用Debian的官方镜像,传送门
      这里使用debian-12-genericcloud-arm64.qcow2作为小鸡的系统。
      先下载到PVE上:
    wget https://cdimage.debian.org/cdimage/cloud/bookworm/latest/debian-12-genericcloud-amd64.qcow2
    
    1. 接下来去创建虚拟机,填写虚拟机名称,然后操作系统选择不使用任何介质:
      ik5Wo4yIWu7jG1N9VYELhtMgXNIO6XUf

    系统默认即可

    磁盘 删除掉默认的硬盘,不需要添加硬盘:
    XeClSdem1mlhZLYFXEjDgUJUMuCtmFeV

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

    内存根据需要给就行:
    tcl9hCAiXtN2ppyGgqH31pp3HwSemh5B

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

    [!提示]
    防火墙需要关闭,不然KVM虚拟机可能会无法访问公网。如需开启防火墙需要去主机防火墙放行in 来源IP内网网段规则。

    然后创建即可。

    1. 然后进入PVE控制台,将镜像导入到该虚拟机中:
    qm disk import 100 debian-12-genericcloud-amd64.qcow2 local --format qcow2
    

    100是虚拟机ID debian-12-genericcloud-amd64.qcow2是镜像 local是本地存储

    1. 导入之后,进入虚拟机的硬件,找到未使用的硬盘0,双击或者点编辑,然后添加硬盘,总线/设备可选VirtIO Block:
      e0oXhRKRTRCcpuMXJz1UeTcYTXVn8b9J

    2. 然后再选择硬盘,然后点击磁盘操作-调整大小,输入要增大硬盘的大小:
      iq6TWtDfR6dx89CKJSS1iiHyaXPlh5tM

    3. 然后再点选项,双击引导顺序,将virtio0硬盘启用,然后拉到第一位:
      OkvDo6Br45HUF7noxi7DhlLdggbYMDQF

    4. 再回到硬件,点击添加,选择Cloudinit 设备,然后添加:
      Lpf2BwVVCc2d6LZvD10R8KaoabPbsVGy

    5. 然后点击Cloud-Init,然后可以设置用户、密码、SSH公钥、DNS服务器、IP设置
      按需设置,这里还需要讲清楚IP设置,NAT4需要为虚拟机设置固定的内网IP:
      EOOpDKgnaazaaUtml5VkxEmQofp2OH8V

    这里因为我要给虚拟机设置独立IPV6,就不需要设置NAT6了,如果需要设置NAT6,就给它设置NAT的子网段,例如:
    vGZAwV111AJIdrEIf3rupTRRAEugiUMe

    1. 然后再回到硬件,添加串行接口:
      Lyv7HkBAgjIHzdnZdTsNNVmWTuw1CJSL

    2. 然后选中显示,显卡换成串行终端 0:
      yqAyfra4m6Gn86h22uO3tyjgB3CH0BGt

    3. 然后就可以正常开机,享受刚切的小鸡鸡了。

    给KVM虚拟机添加独立IPV6

    1. 在虚拟机硬件中点击添加网络设备:
      i8iUeOTDv6iEDeaYz9ZDmQMsesbQcuiv

    [!提示]
    如果是有vmbr2的就设置vmbr2,因为VPS.Town分配的是多个/64网段的IPV6,所以这里选择vmbr0。有vmbr2意味着宿主机IPV6可分更多的IPV6给虚拟机。

    1. 然后回到Cloud-Init中,编辑IP配置(net1),设置静态的IPV6:
      hzw5fTEpKSO9YyD5yXQY1hOHpJxi2sdc

    2. 进入虚拟机,使用ip.sb测试IPV4和IPV6是否正常:

    curl ip.sb -4
    curl ip.sb -6
    

    ShpEwJWWpIEQyQ8evw9IujRyYsrKAQwo

    开启ROOT密码登录

    1. 进入虚拟机的控制台,然后输入用户名和密码进行登录

    2. 编辑/etc/ssh/sshd_config文件

    nano /etc/ssh/sshd_config
    

    找到PermitRootLogin和PasswordAuthentication,去掉注释改成:

    PermitRootLogin yes
    PasswordAuthentication yes
    

    然后按Ctrl+X,按Y确认然后回车保存,然后再重启ssh服务:

    systemctl restart sshd
    

    NAT端口转发

    1. 使用iptables宿主机上的端口转发到虚拟机的端口上
    iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 10000 -j DNAT --to-destination 172.16.1.2:22
    

    dport 宿主机端口 to-destination 虚拟机地址端口

    1. 永久保存方法:
      编辑/etc/network/interfaces
      在iface vmbr1 inet static后面添加上
    post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 10000 -j DNAT --to-destination 172.16.1.2:22
    post-dodwn iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 10000 -j DNAT --to-destination 172.16.1.2:22
    

    保存即可,然后重启网络:

    systemctl restart networking
    

    尾言

    点赞喵,点赞喵,点赞喵。
    免费鸡腿喵,免费鸡腿喵,免费鸡腿喵。
    谢谢喵,谢谢喵,谢谢喵。

123

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有72033位seeker

🎉欢迎新用户🎉