独立服务器安装Proxmox VE并配置NAT网络转发
独立服务器安装Proxmox VE并配置NAT网络转发
本文将详细介绍如何在独立服务器上安装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会很缓慢,连接失败都问题。因此:解决方案有两个
- 使用真全局代理(我使用的是这个)
- 使用国外Win机器,连接Java IKVM
成功连接Java IKVM后,你会看到以下画面,请看图!
- 选择Virtual Storage
- 选择CDROM&ISO
- 选择ISO文件
- 打开文件夹选择ISO文件
- 插入
这里为了方便,使用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
大概就这些…有其他的我再更新…未完待续