Proxmox (PVE) 默认是不带 DHCP 服务功能的。它本质上是一个基于 Debian 的宿主机,默认只提供静态网络桥接(vmbr0)。
当你运行那套 Community Scripts(著名的 Proxmox 辅助脚本)安装 LXC 版的 PBS 时,脚本会尝试从网络中获取 IP。如果你的上级路由器(比如 VPS 服务商的网关)没有开启 DHCP,或者你是在一个隔离的虚拟网桥上操作,脚本就会报错。
要在 PVE 里解决这个问题,通常有三种思路:
1. 最简单的办法:不使用 DHCP(脚本进阶模式)
其实你不需要为了一个脚本专门去配 DHCP。运行脚本时,选择 Advanced(高级设置)。
- 在高级设置中,脚本会询问你是否要使用 DHCP。
- 选择 No,然后手动输入你想要的静态 IP(例如
192.168.1.100/24)和网关。这是最稳妥的办法,因为服务器(PBS)本来就该用静态 IP。
2. 在 PVE 宿主机上安装轻量级 DHCP(dnsmasq)
如果你希望以后所有新建的 LXC 或 VM 都能自动获得 IP,可以在 PVE 宿主机(Debian)上直接装一个 dnsmasq。
步骤如下:
- 安装:
apt update && apt install dnsmasq -y - 配置: 编辑
/etc/dnsmasq.conf,在末尾添加:
# 监听 PVE 的虚拟网桥
interface=vmbr0
# 设置 DHCP 地址池 (根据你的子网修改)
dhcp-range=192.168.1.150,192.168.1.200,12h
# 设置网关
dhcp-option=option:router,192.168.1.1
- 重启服务:
systemctl restart dnsmasq
3. 创建一个专门的“软路由”虚拟机
既然你有很多服务(Discourse, PBS, Mail Gateway),最好的管理方式是开一个极小的虚拟机(如 iKuai 或 OpenWrt)。
-
配置: * 将软路由的一个网口挂在
vmbr0(接公网/服务商)。 -
创建一个新的网桥
vmbr1(不绑定物理网卡,作为私有内网)。 -
让软路由在
vmbr1上开启 DHCP。 -
好处: 你的所有内部服务(包括 PBS)都挂在
vmbr1下,互相访问不走公网流量,安全且方便。
针对你的“远程 S3”和“CPU 限制”环境的特别警告
如果你是在 公共 VPS(如 Hetzner, OVH, Netcup)上直接操作:
- 千万不要在
vmbr0上随便开启 DHCP 服务! - 风险: 你的 DHCP 广播可能会溢出到服务商的内网,导致其他客户的服务器误连你的 DHCP 从而断网。这通常会导致你的账号因“攻击行为”被直接封禁。
- 正确做法: 只有当你创建了私有的虚拟网桥(如
vmbr1)时,才在那个内网桥上运行 DHCP。
总结建议
既然你只需要给 PBS 分配一个 IP,我建议直接再次运行脚本并进入 “Advanced” 模式手动指定 IP。这样既能跳过 DHCP 报错,也能确保 PBS 的 IP 永久固定,方便以后 PVE 连接。