方案描述
之前一直使用联通宽带,而且有公网IP,但是前两年移动做家宽推广时也免费安装了一条500M移动宽带,一直未使用,不想浪费,弄了台GMK M5小主机搞个软路由双拨。虚拟化平台采用PVE。主路由采用iKuai,双拨比较稳定。另外对各种功能插件的需求由OpenWrt旁路由处理,出现问题也不影响主路由上网。
网络拓扑
目前物理连接拓扑方案,现有设备只有一个5口即用型小交换机,不支持VLAN,所以双拨需要PVE直通两个网口到主路由。小主机的无线网卡性能有限,我用原有的小米AX6000做有线中继当AP用,手机以及其他物联网设备都通过他的无线接入,并且扩展了两个电网口。
小主机双2.5G网口,由于我没有支持VLAN的交换机,双拨需要第三个网口,所以用USB3.0转了个千兆口,做500M的移动Wlan。图片虚线是因为我的移动光纤当初师傅偷懒将光猫留在了弱电箱,而我其他设备都在客厅,线管堵住了,需要穿线过来,工具还在路上,所以目前该线路暂未接通T_T。我之前有一个Nas设备,不需要PVE安装黑群晖,2.5G网口共享虚拟口也基本不会遇到瓶颈。
网卡直通
编辑 grub :
nano /etc/default/grub
注释原条目,并增加开启参数,我是AMD的cpu,如果是英特尔替换amd为intel:
#GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on"
更新 grub :
update-grub
重启 PVE 。
显卡直通
我有PC机用,虚机Windows基本做远程桌面堡垒机用,暂时不需要显卡直通,稍后补充。
PVE安装
安装部分操作和使用脚本参考了b站up莫老师的视频。
EP153 - 利用PVE虚拟机,来打造属于自己的All In One系统吧!
参考视频介绍中分享的相关网盘文件,其中,SSH客户端工具、PVE镜像等安装包建议各位自行官网下载,opwrt固件根据自己需要下载对应版本。
img2kvm 是安装openwrt需要用到的磁盘转换脚本工具。
pve_source 是给PVE做配置优化的脚本,类似的还有pvetools
给img2kvm权限
chmod +x img2kvm
执行磁盘格式转换
./img2kvm openwrt-23.05.img 100 vm-100-disk-1
编辑OpenWRT的IP地址
vi /etc/config/network
iKuai安装
OpenWrt
windows
安装windows大家都比较熟悉,不多介绍,需要提醒一下的就是PVE中安装windows时识别不出来磁盘,需要给虚拟机挂载VirtIO光驱,然后通过VirtIO来识别磁盘和后续识别网卡等
设置UPS广播
我家这栋楼电路有点问题,动不动就跳闸,我烧了两块红盘了,找物业多次,一直解决不了,于是上了个UPS。
用的是APC-BK650新款,由于NAS的不间断电源功能就是用NUT实现的,所以UPS通信口接了Nas当做NUT的Server端。PVE安装NUT client,达到断电通知的效果。本来bk650上还插了小米电视,本来打算写个程序想通过小爱API下发关机指令,结果发现小米关闭了个人开发者的注册,改日再研究通过接入第三方平台来实现吧。
PVE安装NUT,首先SSH登入pve后台
apt install nut
nut配置
编辑/etc/nut/nut.conf,MODE设置如下:
MODE=netclient
编辑/etc/nut/upsmon.conf,MONITOR设置如下:
MONITOR ups@ratel 1 monuser secret slave
说明:
MONITOR <system> <powervalue> <username> <password> ("master"|"slave")
#<system>设置为ups@服务器地址或域名,这里我用ups@DannyN 无法识别到我的nas, 应该配置网关Hosts就可以了。
#<powervalue>设置为1
#<username>群晖UPS服务器的默认用户名是monuser
#<password>群晖UPS服务器的默认密码是secret
#("master"|"slave"),客户机设置为slave
测试连接情况
upsc ups@UPS_IP
启用nut-client
systemctl start nut-client #启动网络ups客户端服务
systemctl status nut-client #检查服务状态,如有错误再根据提示进行排查
systemctl enable nut-client #设置网络ups客户端服务自启动
此处评论已关闭