问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

独立服务器安装Proxmox VE并配置NAT网络转发

创作时间:
作者:
@小白创作中心

独立服务器安装Proxmox VE并配置NAT网络转发

引用
1
来源
1.
https://muzihuaner.github.io/2025/03/01/%E7%8B%AC%E7%AB%8B%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%AE%89%E8%A3%85ProxmoxVE%E5%B9%B6%E9%85%8D%E7%BD%AENAT%E7%BD%91%E7%BB%9C%E8%BD%AC%E5%8F%91/

本文将详细介绍如何在独立服务器上安装Proxmox VE并配置NAT网络转发。内容包括Debian 12的安装、Proxmox VE的安装与配置、网络配置、KVM虚拟机的创建以及故障排除等步骤。

1. 安装Debian 12

这里使用服务商提供的IPMI面板进行安装。

登录IPMI,获取JNLP文件

根据上图,点击监视窗口下载JNLP文件。第一步完成。

安装JDK环境,用来打开JNLP文件

这里推荐JDK版本1.7版本。这里也贴心的准备两个直连下载地址:

双击打开JNLP文件,挂载ISO,进行安装

IPMI白名单

IPMI为了安全,都会启用白名单IP访问,因此Java IKVM也需要使用此白名单IP访问。但是国外的服务器,使用国内的IP访问Java IKVM会很缓慢,连接失败都问题。因此:解决方案有两个

  1. 使用真全局代理(我使用的是这个)
  2. 使用国外Win机器,连接Java IKVM

成功连接Java IKVM后,你会看到以下画面,请看图!

  1. 选择Virtual Storage
  2. 选择CDROM&ISO
  3. 选择ISO文件
  4. 打开文件夹选择ISO文件
  5. 插入

这里为了方便,使用Netboot安装镜像(在线安装)

https://netboot.xyz/downloads/

重启服务器,狂按F11,进入启动项菜单

怕有人不会,上一张图

根据你选择挂载,我刚刚挂载是CDROM,因此选择是CDROM这个启动项。

进入后填写你的公网IP、子网掩码、网关、DNS安装即可,具体步骤略

2. 安装Proxmox VE

1. 配置hosts文件

nano /etc/hosts

修改为下面格式,prox4m1为你的主机名,可以自定义。192.168.15.77为公网IP

127.0.0.1       localhost
192.168.15.77   prox4m1.proxmox.com prox4m1
# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

2. 安装Proxmox VE

添加Proxmox VE仓库

echo "deb [arch=amd64] http://download.proxmox.com/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list

添加仓库key

wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
# verify
sha512sum /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
7da6fe34168adc6e479327ba517796d4702fa2f8b4f0a9833f5ea6e6b48f6507a6da403a274fe201595edc86a84463d50383d07f64bdde2e3658108db7d6dc87 /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg

更新软件源和系统

apt update && apt full-upgrade

安装Proxmox VE内核

apt install proxmox-default-kernel
systemctl reboot

安装Proxmox VE软件包

apt install proxmox-ve postfix open-iscsi chrony

移除Debian内核

apt remove linux-image-amd64 'linux-image-6.1*'

更新grub配置

update-grub

移除os-prober包

Proxmox VE网页访问

连接到管理Web界面(https:// your-ip-address:8006)。如果尚未添加任何用户,则应选择PAM身份验证领域并使用“root”用户帐户登录。

3. 配置网络

cd /etc/network
cp interfaces interfaces.bk #备份一下

修改interfaces

# network interface settings; autogenerated
# Please do NOT modify this file directly, unless you know what
# you're doing.
#
# If you want to manage parts of the network configuration manually,
# please utilize the 'source' or 'source-directory' directives to do
# so.
# PVE will preserve these directives, but will NOT read its network
# configuration from sourced files, so do not attempt to move any of
# the PVE managed interfaces into external files!
source /etc/network/interfaces.d/*

auto lo
iface lo inet loopback

auto eno1
iface eno1 inet static
    address 公网IP/31
    gateway 公网网关
    dns-nameservers 8.8.8.8
# dns-* options are implemented by the resolvconf package, if installed

iface enp0s25 inet manual

auto vmbr0
#private sub network
iface vmbr0 inet static
    address 10.10.10.1/24
    bridge-ports none
    bridge-stp off
    bridge-fd 0
    post-up   echo 1 > /proc/sys/net/ipv4/ip_forward
    post-up   iptables -t nat -A POSTROUTING -s '10.10.10.0/24' -o eno1 -j MASQUERADE
    post-down iptables -t nat -D POSTROUTING -s '10.10.10.0/24' -o eno1 -j MASQUERADE

重启网络

systemctl restart networking

配置好后是这样

执行 route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         x.x.x.x         0.0.0.0         UG    0      0        0 eno1
10.10.10.0      0.0.0.0         255.255.255.0   U     0      0        0 vmbr0
x.x.x.x         0.0.0.0         255.255.255.254 U     0      0        0 eno1

3. 创建KVM虚拟机

不是CT,pve直接可下载CT的模版

除了下面的方法,你也可以使用ISO镜像安装

1. 创建一个新的虚拟机

qm create 103 --memory 2048 --core 2 --name ubuntu-cloud --net0 virtio,bridge=vmbr0

这里是创建id为103的虚拟机,内存大小为2G,CPU核心数量2,名称是ubuntu-cloud

并设置网卡桥接到vmbr0

2. 准备Cloud-Init镜像

Cloud-Init需要特定镜像支持。推荐使用官方提供的预装Cloud-Init的镜像,例如:

下载镜像后,上传到PVE存储:

# 示例:将 镜像上传到 PVE 的 `local` 存储
qm importdisk <VMID> /path/to/xxx.img local
或者
qm importdisk <VMID> /path/to/xxx.qcow2 local --format=qcow

例如

qm importdisk 103 noble-server-cloudimg-amd64.img local

将新导入的磁盘以SCSI驱动器的方式装载到新建的虚拟机的SCSI控制器

qm set 103 --scsihw virtio-scsi-pci --scsi0 local-lvm/vm-103-disk-0
qm set 103 --scsihw virtio-scsi-pci --scsi0 local:103/vm-103-disk-0

添加cloud init驱动器

qm set 103 --ide2 local:cloudinit

将cloud init驱动器设置为可启动并限制BIOS仅从磁盘启动

qm set 103 --boot c --bootdisk scsi0

添加串口控制台

qm set 103 --serial0 socket --vga serial0

现在先不要启动虚拟机

现在可以配置新虚拟机的硬件和cloud init选项,配置好之后转换成模板。磁盘大小的调整可以在转换成模板前调整,或者从模板克隆出新的虚拟机时候再调整。

  • 用户:root
  • 密码:改为你想要的root密码
  • IP配置:
  • IPv4/CIDR:填你想要的静态IP,如:10.10.10.2/24
  • 网关:第2步你自己配置的虚拟网卡,如:10.10.10.1

创建模板(也可以在Web UI操作)

qm template 103

克隆模板(也可以在Web UI操作)

qm clone 103 135 --name huihui --full

排障

如果需要重置机器id

sudo rm -f /etc/machine-id
sudo rm -f /var/lib/dbus/machine-id

然后关机,下次启动会生成新的机器id,如果没有生成,可以运行以下命令:

sudo systemd-machine-id-setup

也可以使用我的脚本快速创建模板

https://github.com/muzihuaner/ProxmoxVE-template-maker

5. 开机

点启动,开机后先用pve控制台打开登录你设置的root和密码

  • 运行ip a,看下静态IP类似10.10.10.2
  • 看下外网通吗,再运行ping 8.8.8.8

6. 配置NAT端口转发

https://github.com/muzihuaner/NATScript/

注意:

没网?

如果到最后一步,你发现nat机无法连接外网,可能是转发规则设置错了

在宿主机运行

sudo iptables -t nat -A POSTROUTING -s '你的内网网关ip/24' -o 你宿主机的网卡接口 -j MASQUERADE

例如:

sudo iptables -t nat -A POSTROUTING -s '10.10.10.0/24' -o eno1 -j MASQUERADE

大概就这些…有其他的我再更新…未完待续

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号