OpenWRT上搭建IP-KVM实现硬件级远程控制(IPMI平替)

发布于 / 未分类 / 0 条评论

随着对IDC/公有云的不信任,越来越多的人选择在家庭自建IDC搭建NAS以提高私有数据的安全性和完全自主可控的能力。但是普通家庭级硬件和大船货往往稳定性欠佳,为了保证远程可以操控管理NAS,IPKVM应运而生。

博主遇到过这样的场景,某天早上收到了大量离线报警信息,发现NAS上所有服务无法访问。通过VPN远程连回NAS主机所在网络环境,发现主机已经ping不通。后来通过排查发现NAS经历了意外断电重启,自己进入并停留在了BIOS界面,接上键盘按一下ESC和回车就好了= =。

IPKVM本质上就是通过采集卡,将NAS的屏幕重定向到浏览器供远程用户查看,并通过虚拟键鼠设备将远程用户的键鼠操作传回NAS。最著名的IPKVM方案是PIKVM,但是这货硬件成本较高。如果你恰好有一个独立的openwrt软路由,不妨试试在软路由上安装IPKVM,实现通过软路由远程操控NAS。

本文使用的方案是One-KVM。开源软件开发不易,如果你安装成功,并且有条件的话,请考虑打赏One-KVM作者

硬件准备

HDMI转USB采集卡一个,淘宝搜MS2109采集卡,我买的是腾飞家的,20元左右

USB CH340+CH9329一个,我买的是淘宝华乔电子科技家的,16元

Openwrt软路由,我的是x86的,理论上arm的也没问题,可以试试

将采集卡一端插被控主机HDMI口,另一端usb插软路由上;将USB CH340+CH9329的串口端插入软路由,Hid端插入被控主机的USB接口,这样就完成了硬件安装

OpenWrt内核模块安装

ssh连接软路由,执行如下命令安装内核模块

opkg update
opkg install usbutils kmod-usb-core kmod-usb-serial kmod-usb-serial-ch341 kmod-video-uvc kmod-video-core kmod-video-videobuf2 
lsusb

理论上应该能看到usb串口和采集卡硬件设备了

image.png

输入命令

ls /dev

如果能看到ttyUSB0和video0两个设备就算成功了image.png

One-KVM安装

openwrt上执行如下命令安装docker

opkg update
opkg install docker dockerd luci-i18n-dockerman-zh-cn

接着下载镜像并创建一个docker容器

docker run --name kvmd -itd \
    --device /dev/video0:/dev/video0 \
    --device /dev/ttyUSB0:/dev/ttyUSB0 \
    -p 8080:8080 -p 4430:4430 -p 5900:5900 -p 623:623 \
    --restart=always \
    registry.cn-hangzhou.aliyuncs.com/silentwind/kvmd:dev

等待下载完成后,https协议访问你主路由的4430端口,例如 https://192.168.1.1:4430,默认用户名密码均为admin  

点击kvm

image.png

如果一切正常,你应该能看到被控主机的画面了,并且能够在画面上操控被控主机了

image.png

如果运行不正常,输入如下命令查看onekvm的日志

docker logs kvmd

转载原创文章请注明,转载自: 斐斐のBlog » OpenWRT上搭建IP-KVM实现硬件级远程控制(IPMI平替)
目前还没有评论,快来抢沙发吧~