全新安装PVE8,去订阅弹窗 +自动获取IP + NAT 转发

场景

  • Linux 12
  • VPS或者服务器全新安装PVE8

一、安装前准备(必须做)

1️⃣ 确认系统是 Debian 12

cat /etc/os-release

你应该看到类似:

PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"

2️⃣ 设置正确主机名(很关键)

PVE 强烈要求 主机名能被解析,否则会出各种奇怪问题。

设置一个主机名(示例:pve)

hostnamectl set-hostname pve

3️⃣ 编辑 hosts 文件

nano /etc/hosts

4️⃣ 改成这样(照抄,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.list

2️⃣ 添加 Proxmox GPG 密钥(防报错)

wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg \
-O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg

3️⃣ 再次更新 apt

apt update

如果这里没有红色 error ,说明仓库 OK。

4️⃣ 安装 PVE(这一步会比较久)

apt install proxmox-ve postfix open-iscsi chrony -y

5️⃣ 中途会问你 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:8006

4️⃣ 登录信息:

  • 用户名:root
  • 密码:你服务器的 root 密码

一、去除「企业订阅」弹窗

1️⃣ 禁用企业源(官方付费源)

sed -i 's/^deb/#deb/g' /etc/apt/sources.list.d/pve-enterprise.list

2️⃣ 添加免费源(如果你之前没加过)

echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" \
> /etc/apt/sources.list.d/pve-no-subscription.list

3️⃣ 更新一次

apt update

4️⃣ 去除 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

✅ 保存后重启网络:

reboot

2️⃣ 安装 DHCP 服务(dnsmasq)

apt install dnsmasq -y

3️⃣ 配置 DHCP 地址池

nano /etc/dnsmasq.d/vmbr1.conf

4️⃣ 写入:

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 dnsmasq

4️⃣ 在 PVE Web 中使用

创建虚拟机时:

  • Network Model: VirtIO
  • Bridge: vmbr1

🔹虚拟机启动后 自动获取 IP

三、NAT 转发(让虚拟机能上网)

现在 VM 有 IP 了,下一步:通过宿主机转发访问公网

1️⃣ 开启 Linux 转发

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p

2️⃣ 添加 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 ACCEPT

3️⃣ 保存防火墙规则(防止重启失效)

apt install iptables-persistent -y

中途提示:

  • IPv4 rules → Yes
  • IPv6 rules → Yes(无所谓)

🎉 到这里你已经实现了:

  • ✅ 没有订阅弹窗
  • ✅ 虚拟机 DHCP 自动获取 IP
  • ✅ 虚拟机可以 ping 8.8.8.8 / apt update
  • ✅ 完全新手友好 NAT 环境
CC BY-NC-SA 4.0 Deed | 署名-非商业性使用-相同方式共享
最后更新时间:2025-12-21 17:48:31