✅ Linux Debain 12 安装PVE 8 并配置网络映射

🧩 适用场景

  • Linux debian 12
  • 1 个公网 IPv4
  • 虚拟机自动获取内网 IP
  • 宿主机做 NAT 出口

用途:学习 / 测试 / 生产均可


🟢 安装前准备(必须做)

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


🟢 第 1 步:配置 正确的网络结构(最关键)

1️⃣ 备份原配置

cp /etc/network/interfaces /etc/network/interfaces.bak

2️⃣ 编辑(把内容里面IP、网关、网卡信息记录后,然后全部清空)

nano /etc/network/interfaces

示例:

  • address 91.134.241.223/32
  • gateway 91.134.240.1
  • 网卡:ens3 或者 eth0

📌 复制以下整份内容粘贴:(把IP、网关和网卡替换以下对应位置)

auto lo
iface lo inet loopback

iface eth0 inet manual

# ===== 公网桥 vmbr0(必须存在)=====
auto vmbr0
iface vmbr0 inet static
        address 5.175.220.71/24
        gateway 5.175.220.1
        bridge-ports eth0
        bridge-stp off
        bridge-fd 0
        dns-nameservers 8.8.8.8 1.1.1.1

# ===== 内网桥 vmbr1(给虚拟机)=====
auto vmbr1
iface vmbr1 inet static
        address 192.168.100.1/24
        bridge-ports none
        bridge-stp off
        bridge-fd 0

保存退出:

Ctrl + O → 回车
Ctrl + X

3️⃣ 应用网络(最稳妥)

reboot

✅ 检查点 A(必须通过)

重连 SSH 后:

ip a | grep vmbr

📌 你应该看到:

  • vmbr0 → 5.175.220.71
  • vmbr1 → 192.168.100.1

🟢 第 2 步:开启 IPv4 转发(一次即可)

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

📌 验证:

sysctl net.ipv4.ip_forward

🟢 第 3 步:配置 NAT(内网 → 公网)

1️⃣ 直接执行规则

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

2️⃣ 安装规则持久化工具(如果没装)

apt update
apt install iptables-persistent -y

3️⃣ 保存当前规则并重启

iptables-save > /etc/iptables/rules.v4
reboot

4️⃣ 验证保存成功,重启机器后执行:

iptables -t nat -L -n -v

能看到最后一行0 0 MASQUERADE 0 -- * vmbr0 192.168.100.0/24 0.0.0.0/0,表示保存成功。

🟢 第 4 步:安装 DHCP(虚拟机自动拿 IP)

apt install dnsmasq -y

⚠️ 配置 DHCP:

nano /etc/dnsmasq.d/vmbr1.conf

📌 写入:

interface=vmbr1
bind-interfaces
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

✅ 检查点 B(宿主机)

  • ping 8.8.8.8

必须能通!

🟢 第 5 步:访问 PVE 管理界面

🎉 在浏览器打开:

https://103.254.63.80:8006

🌐 登录信息:

用户:root
密码:服务器的 root 密码

🟢 第 6 步:去除「企业订阅」弹窗

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

✅ 刷新网页后,订阅弹窗消失

🟢 第 7 步:创建虚拟机(PVE 面板)

  • Network → Bridge:vmbr1
  • Model:VirtIO
  • VM 内网卡设置为 DHCP

✅ 检查点 C(虚拟机内)

ip a
ip route
ping 192.168.100.1
ping 8.8.8.8

全部能通 = 成功 🎉

🟢 第 8 步(可选):端口映射

1️⃣ 虚拟机(Windows-示例):

  • 192.168.100.10
  • 你要映射:公网 25701 → 虚拟机 3389

2️⃣ 添加端口映射(宿主机执行)

iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 25701 -j DNAT --to 192.168.100.10:3389
iptables -A FORWARD -p tcp -d 192.168.100.10 --dport 3389 -j ACCEPT

3️⃣保存规则

iptables-save > /etc/iptables.rules

4️⃣ 永久保存端口映射规则(防止重启失效)

nano /etc/network/interfaces

🔹文件最底部添加这一行(如果没有的话):

pre-up iptables-restore < /etc/iptables.rules

✅ 保存退出:

Ctrl + O(保存)再 Enter
Ctrl + X(退出)

1️⃣ 检查规则是否已生效

运行:

iptables -t nat -L -n --line-numbers

2️⃣ 你应该看到类似:

DNAT       tcp  --  0.0.0.0/0  0.0.0.0/0  tcp dpt:25701 to:192.168.100.10:3389

🎉 表示完全正确

CC BY-NC-SA 4.0 Deed | 署名-非商业性使用-相同方式共享
最后更新时间:2025-12-27 02:53:57