准备工作
以下是教程中所需要的一些文件:
Ventoy
Proxmox VE 8.2 ISO镜像
微PE 工具箱
爱快iKuai ISO 64位镜像
OpenWrt 镜像
在硬件方面,需要准备:
- 一台多网口小主机。我使用的是 畅网 N5105 4个I226的2.5G网口。
- 另一台电脑和一个容量不少于 4GB 的空 U 盘。
制作启动盘
下载好 Ventoy 并解压后,将 U 盘插入电脑,打开其中的Ventoy2Disk.exe
,在设备列表中选择你的 U 盘,点击安装,会提示两次格式化磁盘,点击确定后,Ventoy 就安装成功了。若原来有数据,请注意备份。
打开微PE安装程序,点击右下角的光盘图标,在 ISO 输出位置中选择你的 U 盘,最后点击“立即生成”就可以了。
把之前下载的PVE镜像也复制进U盘中,启动盘就制作完成了。
清空硬盘分区
PVE安装需要空硬盘,若本来就是空的可以跳过此步骤
将 U 盘插入小主机,连续按下 F11 键(请自行查询你的设备的快捷键),进入启动设备选择页面,选择你的 U 盘,例如我的设备上是“UEFI OS (JMicron Generic 2102)”。如果你的设备启用了安全启动(Secure Boot),请先关闭该功能。
在此界面使用键盘移动到 “WePE” 选项,然后按下回车键两次即可进入。
进入wepe后打开桌面的DiskGenius,右键选择你的硬盘,点击删除所有分区。
在弹出的确认框中选择是,点击左上角的保存更改,再次点击是,分区就已经清空完成了。
安装Proxmox VE
这一步小主机不要插网线,连接好键盘鼠标显示器。
开机按F11,选择你的U盘启动,移动到proxmox-ve_8.2-2.iso
并启动,选择Install Proxmox VE
并回车
I Agree
填写你想设置的密码和你的邮箱
这一步是配置网络,建议选择最后一个网口,第一个网口后面作为wan口,剩下的作为lan口
Hostname输入pve.lan,由于最终目标是实现 10.0.0.1
作为主路由,10.0.0.2
作为旁路由,10.0.0.3
用于 PVE 管理,10.0.0.4
用于 Docker,因此在“IP 地址”一栏中填写 10.0.0.3
,后面的 24
不用改动。在“网关”(Gateway)一栏中填写 10.0.0.1
,在 DNS 配置中填写 10.0.0.1
。
确认所有信息无误后,点击Install按钮。等待安装进度条完成后,点击Reboot按钮。在重启时,请确保已将 U 盘拔掉。
当看到这个页面时,就代表 PVE 安装成功了。
配置pve
在另一台电脑上按下“Win+R”键,输入 ncpa.cpl
并按下回车键,打开“网络连接”页面。然后按照如下图所示的方式配置 IPv4 地址,修改完成后将电脑与 PVE 管理口(eth1
)用网线连接。)
没错误的情况下就可以打开pve的管理后台了,若提示不安全请点击继续访问。
Language处可切换至中文Chinese (Simplified)
,用户名root,密码为你自己设置的密码。成功登录后,会提示“无有效订阅”的窗口,可以直接关闭。
这样就成功的登录到了管理的后台
成功进入后就需要开始配置硬件直通了,进行硬件直通之前,请确保你的 BIOS 中已开启虚拟化功能(若未开启请自行开启),点击数据中心下方的pve,在旁边点击“Shell”按钮,即可进入 PVE 宿主机的 Shell 界面
执行命令nano /etc/default/grub
,将光标移动到GRUB CMDLINE LINUX DEFAULT="quiet"
这一行前,输入#号注释掉这一行
光标移至下一行开头,按回车,在中间的空行输入以下内容。
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"
编辑完文件后按 "Ctrl + X" → "Y" → 回车,确认保存并退出。
执行nano /etc/modules
命令,在四行注释后粘贴如下内容
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
同样的按 "Ctrl + X" → "Y" → 回车,确认保存并退出。
执行以下代码更新Grub并重启
update-grub
update-initramfs -u -k all
reboot
安装iKuai
如图操作,上传iKuai的镜像文件。
添加直通的网口,因为管理口是最后一个,所以只能添加第一、二、三网口直通,这里需要手动添加三次,一次一个口。
引导顺序中只保留scsi这一个,其余都取消勾选。
现在就可以启动iKuai虚拟机了,点击控制台,再点击右上角的启动。在开机的时候按下esc键,按3通过dvd/cd启动。
set wan1 eth1
点击高级设置,将eth2 eth3勾选上并保存。
客户端地址填写10.0.0.10-10.0.0.254,预留了3.1-3.10的ip,子网掩码默认。网关设置为10.0.0.1也就是iKuai的ip,dns填写119.29.29.29和223.6.6.6
填写好之后保存并刷新页面,就能看到DHCP服务正常工作了。
这时候按下win+r键,输入ncpa.cpl
打开网络连接,将以太网的IPv4地址和DNS改为自动获取,最好禁用再重新启用下,电脑的网络就正常了。
pve换源
在配好iKuai之前pve内是没有外网的,所以一直没换源,在PVE的shell里执行以下命令更换pve的源
wget https://mirrors.ustc.edu.cn/proxmox/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
rm -rf /etc/apt/sources.list.d/pve-enterprise.list
echo "deb https://mirrors.ustc.edu.cn/proxmox/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list
因为pve的底层系统是debian,所以debian的源也需要更换,首先备份下原来的源。
mv /etc/apt/sources.list /etc/apt/sources.list.bak
复制下方代码并执行即可更换为中科大的源
cat > /etc/apt/sources.list <<EOF
deb https://mirrors.ustc.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
deb https://mirrors.ustc.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
deb https://mirrors.ustc.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
deb https://mirrors.ustc.edu.cn/debian-security/ bookworm-security main contrib non-free non-free-firmware
deb-src https://mirrors.ustc.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
deb-src https://mirrors.ustc.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
deb-src https://mirrors.ustc.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
deb-src https://mirrors.ustc.edu.cn/debian-security/ bookworm-security main contrib non-free non-free-firmware
EOF
换源后更新下
apt update -y
apt upgrade -y
apt dist-upgrade -y
PVE温度和频率显示
PVE默认是不显示硬件温度的,需要显示温度及其他硬件信息可执行以下脚本。
这里用恩山大佬@a904055262的脚本来开启温度显示,在PVE的shell里输入
(curl -Lf -o /tmp/temp.sh https://raw.githubusercontent.com/a904055262/PVE-manager-status/main/showtempcpufreq.sh || curl -Lf -o /tmp/temp.sh https://mirror.ghproxy.com/https://raw.githubusercontent.com/a904055262/PVE-manager-status/main/showtempcpufreq.sh) && chmod +x /tmp/temp.sh && /tmp/temp.sh remod
效果如图,实测8.2.7版本运行完是正常的。
配置OpenWrt作为旁路由。
点击右上角的创建虚拟机,名称设置为OpenWrt,记住此处的vmid,操作系统选择为不使用任何介质,系统直接下一步,磁盘直接点击scsi0右边的垃圾桶删除掉,cpu核心4核,类别选择host,内存1024mb,一直点下一步直到完成。
解压openwrt的压缩包,解压出来x86.img,像上传iKuai镜像一样上传,上传完成后复制红框中的文件实际路径
根据pve中的情况修改以下命令,将100改为openwrt虚拟机的vmid,镜像的位置改为上面复制的路径,路径前后均有空格,比如我的修改完为qm importdisk 101 /var/lib/vz/template/iso/x86.img local-lvm
。
qm importdisk 100 镜像的位置 local-lvm
将修改完的命令复制到pve的shell中执行。
导入磁盘成功后打开openwrt的硬件,双击未使用的磁盘,将总线设备改为sata,然后点击添加。
将选项中的开机自启动打开,启动顺序中的ide和net0取消勾选,勾选上sata0,然后按住序号左边的三个横杠将sata这一项拖动到第一行,并点击保存。
现在就可以点击控制台再点击上面的启动运行此虚拟机,代码跑完之后按回车看到 LEDE 就代表openwrt已经启动成功。
输入以下命令来修改openwrt的网络配置文件。
vi /etc/config/network
按下 i 键进入编辑模式,使用方向键将光标移动到192.168.2.1处,将其改为10.0.0.2
按下esc键,在英文状态下输入 :wq 即可退出编辑并保存,输入reboot重启openwrt。
重启后在浏览器内使用10.0.0.2就能打开openwrt的管理页面了,op的默认密码为password。
点击 网络 → 接口 → lan → 修改
将网关改为iKuai的ip,dns填写114.114.114.114和223.5.5.5,下滑基础设置,勾选上忽略此接口,然后保存。
因为某个op*****sh服务提示:使用此插件建议关闭IPv6DHCP,如需关闭进入“接口”→“lan”→“修改”,将高级设置中的使用内置的ipv6管理
取消勾选,并将下面的“路由通告服务”和“DHCPv6服务”都选择禁用,然后保存。
如果需要所有的设备都通过旁路由的话,就将iKuai里dhcp网关改为openwrt的IP地址。
网关配置完成后,按如下图配置SNMP服务,IP为旁路由IP,其他默认即可。
这一步的作用是让通过旁路由的设备在iKuai正确里显示出mac地址。
Docker安装
Docker是通过pve的LXC容器运行的
在pve的shell中输入以下命令更换CT模板源并重启pve服务
cp /usr/share/perl5/PVE/APLInfo.pm /usr/share/perl5/PVE/APLInfo.pm_back
sed -i 's|http://download.proxmox.com|https://mirrors.ustc.edu.cn/proxmox|g' /usr/share/perl5/PVE/APLInfo.pm
systemctl restart pvedaemon.service
local-CT模板-模板选项下,选择debian11(更推荐选debian,因为pve的底层系统是debian),下载即可
下载完成后就可以开始创建了,主机名填Docker,把无特权的容器取消勾选,密码自行设置,模板选择刚下载的debian,磁盘分配15G,CPU分配4核,内存和swap都设置2048m
网络如下图配置,IP地址后需要加一个 /24 ,若需要经过旁路由,网关就填openwrt的ip,不需要的话就填iKuai的IP地址,dns填写114.114.114.114,再点击下一步就创建好了。
按照下图打开嵌套虚拟功能
点击启动,看到如下界面代表运行正常。账号为root,密码为你自己设置的,密码输入的时候是看不到的。
此LXC容器内ssh不允许root用户通过密码登录,如需修改命令如下,进入nano编辑器后使用方向键向下
nano /etc/ssh/sshd_config
看到#PermitRootLogin prohibit-password
后将前面 #删掉,把后面的prohibit-password
改为yes
,按 "Ctrl + X" → "Y" → 回车保存
LXC容器中的debian换源
mv /etc/apt/sources.list /etc/apt/sources.list.bk
nano /etc/apt/sources.list
执行完会进入nano编辑器,粘贴以下内容后按 "Ctrl + X" → "Y" → 回车保存
deb https://mirrors.ustc.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
deb https://mirrors.ustc.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
deb https://mirrors.ustc.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
deb https://mirrors.ustc.edu.cn/debian-security/ bookworm-security main contrib non-free non-free-firmware
deb-src https://mirrors.ustc.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
deb-src https://mirrors.ustc.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
deb-src https://mirrors.ustc.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
deb-src https://mirrors.ustc.edu.cn/debian-security/ bookworm-security main contrib non-free non-free-firmware
换源后更新下
apt update
apt upgrade -y
安装Docker以及docker-compose命令(CE源推荐选择华为云,Registry源推荐选择上海交通大学)
apt install curl -y
bash <(curl -sSL https://linuxmirrors.cn/docker.sh)
更改时区
命令行里执行tzselect
,分别输入 4 9 1 1 依次回车,看到如下图代表执行正确。
之后执行nano /etc/profile
,将以下一行添加到最后,添加完成后按 "Ctrl + X" → "Y" → 回车保存。
export TZ='Asia/Shanghai'
执行命令source /etc/profile
更新系统变量。
执行命令date -R
就可以看到最终效果了,显示 +8000就代表已经修改到东八区了。
选装 :
portainer-ce汉化版
安装成功后访问 创建Docker这个lxc容器时填写的的IP
:9000使用
docker run -d --restart=always --name="portainer" -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock 6053537/portainer-ce
Fast Os Docker
安装成功后访问 创建Docker这个lxc容器时填写的的IP
:8081使用
docker run --name fastos --restart always -p 8081:8081 -p 8082:8082 -e TZ="Asia/Shanghai" -d -v /var/run/docker.sock:/var/run/docker.sock -v /etc/docker/:/etc/docker/ -v /root/data:/fast/data -e FAST_STORE=http://8.210.124.47:8080 wangbinxingkong/fast:latest
Win
请查看以下文章
参考的一些教程,在此处一块感谢他们。:
向北的平行世界
司波图
柠了个檬k
恩山-丶企鹅未婚夫
十佳评测
郑羊羊
vedio talk
17 条评论
不好意思在咨询一下,我装好openwrt后,我发现我部署在爱快的动态域名解析用不了了是什么原因
没公网IP,所以没用过DDNS
报错这个
client connection: 127.0.0.1:48788
TASK ERROR: command '/usr/bin/termproxy 5900 --path /nodes/pve --perm Sys.Console -- /bin/login -f root' failed: received interrupt
大佬帮看看啥原因
哪一步的报错?
Docker是通过pve的LXC容器运行的,我用Docker跑某东的脚本和某电某报的线报监控。
在pve的shell中输入以下命令更换CT模板源并重启pve服务
下面三排命令输入进去报错
试了下,也看到了这个提示,不影响后续步骤操作的。你刷新下网页就行。
感谢,分享和回复
请问大佬,我有个需求是:PVE做底,iKuai做主路由,openwrt做旁路由,然后需要两个ssid不同的wifi网络(一个能访问外网工作用,一个完全不能访问外网),可以接两台路由器,这样想法能实现么,具体应该如何实现?不胜感激!
没试过这种,我这只是家用的,你这需求看起来像是公司里用的。你可以参考这个链接看看 https://bbs.ikuai8.com/thread-140013-1-1.html
谢谢!
对比了网上很多教程,这篇真是非常详细的教程,博主很用心,感谢博主的无私分享!!!
感谢支持。
你好,博主,我最近刚开始折腾AIO,比较小白,我还想问下,PVE我是装在一块1TB的M.2上,我想再装一块同型号的M.2,能组成RAID1吗?或者说是否有其他的方式让他们互为备份,为了防止万一某天这块M.2坏了还要一切重新来过(而且还打算在上面虚拟个黑群晖用)。
我的设备不支持同时插两个相同的硬盘,并且我没在这上边搞存储,所以我还不知道怎么在PVE上组RAID。
好吧~
完美复现。不过文中的ip地址网段应为192.168.31.x与图中实际不符。
这个文中说过了,后面懒得重新截图了。