准备工作
以下是教程中所需要的一些文件:
Ventoy
Proxmox VE 8.4 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
这一步小主机不要插网线,连接好键盘鼠标显示器。
这一步是配置网络,建议选择最后一个网口,第一个网口后面作为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
。
配置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虚拟机了,点击控制台,再点击右上角的启动。在开机的时候按下esc键,按3通过dvd/cd启动。
这时候按下win+r键,输入ncpa.cpl
打开网络连接,将以太网的IPv4地址和DNS改为自动获取,最好禁用再重新启用下,电脑的网络就正常了。
此时还需要配置一下PVE的DNS才能正常的让pve宿主机有网络,按下图操作即可。
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
配置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与图中实际不符。
这个文中说过了,后面懒得重新截图了。