场景
- Linux 12
- VPS或者服务器全新安装PVE8
一、安装前准备(必须做)
1️⃣ 确认系统是 Debian 12
cat /etc/os-release你应该看到类似:
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"2️⃣ 设置正确主机名(很关键)
PVE 强烈要求 主机名能被解析,否则会出各种奇怪问题。
设置一个主机名(示例:pve)
hostnamectl set-hostname pve3️⃣ 编辑 hosts 文件
nano /etc/hosts4️⃣ 改成这样(照抄,IP 用你自己的):
127.0.0.1 localhost
103.254.63.80 pve
::1 localhost ip6-localhost ip6-loopback这一条非常重要,90% 出问题都在这里
保存退出:Ctrl + O → 回车 → Ctrl + X
5️⃣ 更新系统(必须)
apt update && apt full-upgrade -y
reboot重启后重新 SSH 进来。
二、正式开始安装 PVE(核心步骤)
1️⃣ 添加 Proxmox 官方仓库
echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" \
> /etc/apt/sources.list.d/pve-install-repo.list2️⃣ 添加 Proxmox GPG 密钥(防报错)
wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg \
-O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg3️⃣ 再次更新 apt
apt update如果这里没有红色 error ,说明仓库 OK。
4️⃣ 安装 PVE(这一步会比较久)
apt install proxmox-ve postfix open-iscsi chrony -y5️⃣ 中途会问你 postfix
- 选择:
Internet Site - System mail name:
默认回车即可。或者随便填一个,例如:pve.local
三、网络配置
PVE 必须使用 Linux Bridge(vmbr0)现在你的网卡是 eth0,我们要:eth0 → 挂到 vmbr0 上
- 输入:
ip a
你会看到类似的
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq state UP group default qlen 1000
link/ether fa:16:3e:90:03:68 brd ff:ff:ff:ff:ff:ff
altname enp0s3
inet 91.134.241.223/32 brd 91.134.241.223 scope global ens3🔹 注意:
- ens3 或者 eth0 (网卡)
- inet 91.134.241.223/32 (IP)
1️⃣ 编辑网络配置文件
nano /etc/network/interfaces⚠️ 删除里面原来的 eth0 配置
2️⃣ 然后 整体替换为下面内容(照抄)
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet manual
auto vmbr0
iface vmbr0 inet static
address 103.254.63.80/25
gateway 103.254.63.1
bridge-ports eth0
bridge-stp off
bridge-fd 0🔹 gateway 一般是 /25 网段的第一个 IP
保存退出。
3️⃣ 重启网络(⚠️ 会断 SSH,正常)
reboot等 1~2 分钟再重新 SSH 登录。
四、访问 PVE 管理界面
🎉 在浏览器打开:
https://103.254.63.80:80064️⃣ 登录信息:
- 用户名:root
- 密码:你服务器的 root 密码
一、去除「企业订阅」弹窗
1️⃣ 禁用企业源(官方付费源)
sed -i 's/^deb/#deb/g' /etc/apt/sources.list.d/pve-enterprise.list2️⃣ 添加免费源(如果你之前没加过)
echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" \
> /etc/apt/sources.list.d/pve-no-subscription.list3️⃣ 更新一次
apt update4️⃣ 去除 WebUI 弹窗(前端)
sed -i.bak "s/data.status !== 'Active'/false/g" \
/usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js🔹 重启 Web 服务:
systemctl restart pveproxy✅ 刷新网页后,订阅弹窗消失
二、创建「DHCP 虚拟机网络」(自动拿 IP)
目标:
- 虚拟机 不用手动配 IP
- 自动上网
- 适合内网 / NAT / 学习环境
1️⃣ 新建一个 NAT Bridge(vmbr1)
编辑网络配置:
nano /etc/network/interfaces🔹在文件 最下面追加
auto vmbr1
iface vmbr1 inet static
address 192.168.100.1/24
bridge-ports none
bridge-stp off
bridge-fd 0✅ 保存后重启网络:
reboot2️⃣ 安装 DHCP 服务(dnsmasq)
apt install dnsmasq -y3️⃣ 配置 DHCP 地址池
nano /etc/dnsmasq.d/vmbr1.conf4️⃣ 写入:
interface=vmbr1
dhcp-range=192.168.100.50,192.168.100.200,12h
dhcp-option=3,192.168.100.1
dhcp-option=6,8.8.8.8,1.1.1.1✅ 启动服务:
systemctl restart dnsmasq
systemctl enable dnsmasq4️⃣ 在 PVE Web 中使用
创建虚拟机时:
- Network Model:
VirtIO - Bridge:
vmbr1
🔹虚拟机启动后 自动获取 IP
三、NAT 转发(让虚拟机能上网)
现在 VM 有 IP 了,下一步:通过宿主机转发访问公网
1️⃣ 开启 Linux 转发
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p2️⃣ 添加 NAT 规则(核心)
iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o vmbr0 -j MASQUERADE
iptables -A FORWARD -s 192.168.100.0/24 -j ACCEPT
iptables -A FORWARD -d 192.168.100.0/24 -m state --state ESTABLISHED,RELATED -j ACCEPT3️⃣ 保存防火墙规则(防止重启失效)
apt install iptables-persistent -y中途提示:
- IPv4 rules → Yes
- IPv6 rules → Yes(无所谓)
🎉 到这里你已经实现了:
- ✅ 没有订阅弹窗
- ✅ 虚拟机 DHCP 自动获取 IP
- ✅ 虚拟机可以 ping 8.8.8.8 / apt update
- ✅ 完全新手友好 NAT 环境