随着对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串口和采集卡硬件设备了
输入命令
ls /dev
如果能看到ttyUSB0和video0两个设备就算成功了
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
如果一切正常,你应该能看到被控主机的画面了,并且能够在画面上操控被控主机了
如果运行不正常,输入如下命令查看onekvm的日志
docker logs kvmd