PVE手册

简介

本教程适用于两个或以上网卡服务器配置PVE服务器,并在服务器中配置Openwrt软路由器,KODI应用,以及基于LXC容器的Docker服务。
由于教程面向新手,为了确保成功率和容易理解,请看教程前注意以下两点:

  1. 教程中其中软路由以主路由模式存在于整体网络当中,并不适用于旁路有模式;
  2. 教程中KODI应用直接安装于宿主主机,并未使用显卡直通的虚拟机作为载体;

如果对以上两点在意的话,可以考虑不继续观看。

本教程请与视频配套教程一同观看,视频仅限于本人B站Youtube渠道播放,拒绝转载于任何电商直播间或介绍页面,发现盗用将发动网友投诉,敬请注意。

下载PVE的ISO镜像 & 写盘

安装PVE系统

换国内源:

PVE换源

1
2
3
wget https://mirrors.ustc.edu.cn/proxmox/debian/proxmox-release-bullseye.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bullseye.gpg
echo "#deb https://enterprise.proxmox.com/debian/pve bullseye pve-enterprise" > /etc/apt/sources.list.d/pve-enterprise.list
echo "deb https://mirrors.ustc.edu.cn/proxmox/debian/pve bullseye pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list

Debian换源

1
2
mv /etc/apt/sources.list /etc/apt/sources.list.bk
nano /etc/apt/sources.list

Sources.list加入源

1
2
3
4
5
6
7
deb http://mirrors.ustc.edu.cn/debian stable main contrib non-free
# deb-src http://mirrors.ustc.edu.cn/debian stable main contrib non-free
deb http://mirrors.ustc.edu.cn/debian stable-updates main contrib non-free
# deb-src http://mirrors.ustc.edu.cn/debian stable-updates main contrib non-free

# deb http://mirrors.ustc.edu.cn/debian stable-proposed-updates main contrib non-free
# deb-src http://mirrors.ustc.edu.cn/debian stable-proposed-updates main contrib non-free

更新&安装ethtool

1
2
apt update
apt upgrade -y

识别网口

  1. 安装ethtool
1
apt install ethtool -y
  1. 打开端口自动启动 & 重启系统
  2. 确认所有网卡设备位置
1
lspci | grep -i 'eth'
  1. 通过ethtool识别网口对应设备位置以及系统设备名
1
2
ethtool -i [设备名称]  #查看设备名对应设备位置
ethtool [设备名称] #通过查看是否连接确认设备名对应实际网口,如果硬件支持可以使用ethtool --identify [设备名] 命令确认)
  1. 关闭端口自动启动 & 重启系统

开启硬件直通

BIOS中打开硬件直通相关选项(VT-d & VMX)

编辑Grub

1
nano /etc/default/grub

注释原条目,并增加开启参数

1
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"

更新grub

1
update-grub

上传启动镜像

视频教学中镜像源自 klever1988/nanopi-openwrt
地址:https://github.com/klever1988/nanopi-openwrt

将镜像img扩展名修改为iso,直接通过PVE后台上传

创建虚拟机并设置直通

修改配置文件命令

1
nano /etc/pve/qemu-server/[虚拟机编号].conf

用命令测试端口并确定端口顺序一一对应:ethtool enp4s0

OPENWRT

外部识别 系统设备名 设备位置 软路由内部设备名
LAN1 enp1s0 0000:01:00.0
LAN2 enp2s0 0000:02:00.0 ETH1
LAN3 enp3s0 0000:03:00.0 ETH2
LAN4 enp4s0 0000:04:00.0 ETH3
LAN5 enp5s0 0000:05:00.0 ETH4
LAN6 enp6s0 0000:06:00.0 ETH5

格式转换:

./img2kvm op.img 555 vm-555-disk-2

PVE网络配置

1、SSH服务器编辑:nano /etc/network/interfaces

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
auto lo
iface lo inet loopback
iface lo inet6 loopback

# 注意下面的enp0s31f6改成你自己母鸡的网口名字,默认的配置文件里有,或者用ifconfig命令查看

iface enp0s31f6 inet manual
iface enp0s31f6 inet6 manual

auto vmbr0
iface vmbr0 inet static
#母鸡ip,下面的掩码和网关默认配置里有,或者可以去Hetzner的后台,将鼠标放在ip上,会显示
address XXX.XXX.XXX.XXX
#母鸡掩码
netmask 255.255.255.XXX
#母鸡网关
gateway XXX.XXX.XXX.XXX

# 注意修改enp0s31f6

bridge_ports enp0s31f6
bridge_stp off
bridge_fd 0
bridge_maxwait 0

#这里做内网桥接
auto vmbr1
iface vmbr1 inet static
address 192.168.1.1
netmask 255.255.255.0
bridge_ports none
bridge_stp off
bridge_fd 0
post-up echo 1 > /proc/sys/net/ipv4/ip_forward
post-up iptables -t nat -A POSTROUTING -s '192.168.1.0/24' -o vmbr0 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -s '192.168.1.0/24' -o vmbr0 -j MASQUERADE

iface vmbr0 inet6 static
#母鸡的ipv6地址
address 2a01:4f8:10b:deb::2
netmask 64
gateway fe80::1
#注意修改enp0s31f6
bridge_ports enp0s31f6
bridge_stp off
bridge_fd 0

2、设置网络转发,如果你不开nat小鸡,可以省略

编辑:nano /etc/sysctl.conf

将一下两个命令注释去掉

1
2
net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1

三、输入以下命令回车:

vi /etc/issue

通过键盘上下左右移动到https://这行的IP地址,按一次i进入修改状态,修改为新的IP地址,端口8006不要改,修改完成确认无误后按一次ESC键输入:wq!回车保存退出。

Proxmox VE (PVE) 修改WEB管理IP地址

四、输入以下命令回车:

vi /etc/hosts

通过键盘上下左右移动到第2行的IP地址,按一次i进入修改状态,修改为新的IP地址,修改完成确认无误后按一次ESC键输入:wq!回车保存退出

[Proxmox VE (PVE) 修改WEB管理IP地址

五、reboot,重启PVE,完美解决!

学习网站:

https://www.freesion.com/article/1729679208/

https://foxi.buduanwang.vip/