✅ Linux | Debain 12 | PVE 8 (网络篇)


第 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 eno1 inet manual

auto vmbr0
iface vmbr0 inet static
        address 108.163.152.211/26
        gateway 108.163.152.254
        bridge-ports eno1
        bridge-stp off
        bridge-fd 0
        dns-search dedi.leaseweb.net
        dns-nameservers 23.19.53.53 23.19.52.52

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
  • 又或者可以下面这样
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o vmbr0 -j MASQUERADE
iptables -A FORWARD -i vmbr1 -o vmbr0 -j ACCEPT
iptables -A FORWARD -i vmbr0 -o vmbr1 -m state --state RELATED,ESTABLISHED -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

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

🎉 在浏览器打开:

https://103.254.63.80:8006

🌐 登录信息:

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