Yufelix's Blog

Yufelix

搭建家庭网络:主路由iKuai + 旁路由OpenWrt,PVE系统搞定!

Nas
23
2025-02-14

大家好!今天我来分享一下如何用PVE系统搭建一个家庭网络,主路由用iKuai,旁路由用OpenWrt。整个过程其实并不复杂,跟着我一步步来,你也能轻松搞定!


一、PVE系统安装

1. 下载PVE系统和写盘工具

首先,我们需要下载PVE系统。你可以直接从PVE官网下载最新版本。

接下来,我们需要一个工具把PVE系统写入U盘。这里推荐使用Ventoy,它特别方便,不需要反复格式化U盘,直接把ISO文件丢进去就能用。下载地址:Ventoy官网

如果你不喜欢Ventoy,也可以试试其他工具,比如rufusbalenaEtcher,都挺好用的。

2. 把PVE系统写入U盘

找一个16G以上的U盘,按照Ventoy的官方文档操作,把PVE系统的ISO文件拷贝到U盘里。这样,你的U盘就变成了一个可以启动的安装盘。

3. 安装PVE系统

把U盘插到你要安装PVE的电脑上,启动电脑,选择从U盘启动。安装过程中,系统会提示你设置一些网络参数:

  • PVE IP10.0.0.8/24(你可以根据自己的喜好设置)
  • 子网掩码255.255.255.0
  • 网关10.0.0.1
  • DNS10.0.0.1

安装完成后,你可以通过浏览器访问PVE的管理界面,地址是:https://10.0.0.8:8006。用户名是root,密码是你安装时设置的。

4. 给PVE扩容(可选)

如果你觉得PVE的默认存储空间不够用,可以给它扩容。不过要注意,移除local-lvm可能会影响快照功能。

在PVE的Shell里输入以下命令:

lvremove pve/data

然后输入:

lvextend -l +100%FREE -r pve/root

接着,进入PVE的管理界面,点击数据中心 -> 存储 -> local-lvm -> 移除。最后,双击local,把所有选项都勾选上。

5. 去除PVE的订阅提示(可选)

PVE安装后会有个订阅提示,看着有点烦。你可以用以下命令去掉它:

sed -i.backup -z "s/res === null || res === undefined || \!res || res\n\t\t\t.data.status.toLowerCase() \!== 'active'/false/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js && systemctl restart pveproxy.service

6. 开启PVE的直通功能

如果你想在PVE里直通硬件设备(比如网卡),需要开启IOMMU功能。根据你的CPU类型,选择以下命令:

  • Intel CPU
sed -i '/^GRUB_CMDLINE_LINUX_DEFAULT/c\GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt pcie_acs_override=downstream"' /etc/default/grub
  • AMD CPU
sed -i '/^GRUB_CMDLINE_LINUX_DEFAULT/c\GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt pcie_acs_override=downstream"' /etc/default/grub

然后,增加一些必要的模块:

echo -e "vfio\nvfio_iommu_type1\nvfio_pci\nvfio_virqfd" | tee -a /etc/modules

最后,更新配置并重启PVE:

update-grub
update-initramfs -u -k all  
reboot

重启后,你可以用以下命令检查IOMMU是否开启成功:

dmesg | grep iommu

如果想看看有哪些设备可以直通,输入:

lspci

二、虚拟路由安装

1. 安装iKuai(主路由)

如果你需要主路由,可以选择iKuai。先下载iKuai的官方镜像:iKuai下载地址

在PVE里创建一个虚拟机,把iKuai的镜像挂载上去。记得给虚拟机分配好网卡,设置好WAN口和LAN口。

  • 网关10.0.0.1(主路由的IP)
  • DNS:可以用阿里的223.5.5.5或者114的114.114.114.114
  • 默认用户名admin
  • 默认密码admin

2. 安装OpenWrt/ImmortalWrt(旁路由)

旁路由可以选择OpenWrt或者ImmortalWrt。这里我以ImmortalWrt为例。

下载ImmortalWrt镜像:点击下载

在PVE里创建一个虚拟机,把ImmortalWrt的镜像挂载上去。输入以下命令:

qm importdisk 101 /var/lib/vz/template/iso/immortalwrt-24.10.0-x86-64-generic-ext4-combined-efi.img local

这里的101是虚拟机的ID,/var/lib/vz/template/iso/immortalwrt-24.10.0-x86-64-generic-ext4-combined-efi.img是镜像的路径,记得替换成你自己的。


三、给PVE换源(建议)

注意:如果你正在使用DG1直通硬解,暂时不要换源,更新PVE配置后DG1直通可能会失效!

1. 备份源文件

首先,备份一下自带的源文件,以防万一:

cp /etc/apt/sources.list /etc/apt/sources.list_bak

2. 编辑源文件

接下来,编辑源文件,把自带的源注释掉,换成国内的源:

nano /etc/apt/sources.list

把自带的源注释掉,添加以下内容:

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware

3. 编辑PVE企业源

接下来,编辑PVE的企业源文件:

nano /etc/apt/sources.list.d/pve-enterprise.list

把自带的源注释掉,添加以下内容:

deb https://mirrors.tuna.tsinghua.edu.cn/proxmox/debian bookworm pve-no-subscription

4. 编辑Ceph源

如果你使用了Ceph,还需要编辑Ceph的源文件:

nano /etc/apt/sources.list.d/ceph.list

把自带的源注释掉,添加以下内容:

deb https://mirrors.ustc.edu.cn/proxmox/debian/ceph-quincy bookworm no-subscription

5. 更新并重启

保存文件后,按Ctrl+X,然后按Y,最后按回车退出。

接下来,更新一下系统:

apt update && apt dist-upgrade -y

最后,重启PVE服务并重启系统:

systemctl restart pvedaemon.service
reboot

四、PVE优化、美化(可选项)

如果你想让PVE界面显示更多信息,比如CPU温度、NVMe温度、主板温度等,可以试试这个脚本。这个脚本来自恩山论坛的大佬,效果不错:

(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

总结

好了,到这里你的家庭网络就搭建得差不多了!主路由iKuai负责主要的网络流量,旁路由OpenWrt可以做一些高级功能,比如科学上网、广告过滤等。整个过程虽然有点复杂,但一步步来,还是挺有成就感的。

如果你有任何问题,欢迎在评论区留言,我会尽力帮你解答!