최소 비용으로 ip-kvm 구성하기 (feat.pikvm, 원격) 기록용
pikvm이란?
위 링크 Documentation 에 자세하게 설명되어 있습니다.
크롬원격데스크톱이나 팀뷰어와 같은 기능이라고 생각하시면 됩니다
PC/태블릿/핸드폰(android,ios) -> 서버 <-> 원격PC(PC/태블릿/핸드폰(android,ios)
pikvm은 위의 구조에서 서버 단을 직접 구성하는 것입니다.
원격PC의 화면을 유저에게만 공유/공개되기에 네이티브로 작동되는 기기를 얻는다고 보시면 되겠습니다. 또한 웹UI, 오픈소스 구성으로 별도의 제한이 없습니다.
라즈베리파이4에 오픈소스 pikvm을 올려서 구성해보았습니다.
준비물
라즈베리파이4b
0.96oled포함된 라즈베리파이 케이스
sd카드
hdmi to hdmi
usb-c (pikvm찾아보시다보면 전원선과 kvm을 위한 usb 장치로 인식해야하는 케이블을 만들어야한다고 나와있지만 원격PC의 usb단자에 직렬로 연결해도 사용가능합니다. 전원공급이 충분하지 않으면 pikvm이 불안정할 수 있다고 합니다. 실제로 사용해본 결과 pikvm의 usb-c-> 직렬 -> 원격지PC의 usb단자로 끊어진 적은 없습니다. 또 다른 대안으로는 다음과 같은 제품으로 전원부와 usb 장치를 분리해줄 수 있습니다.)
hdmi to usb(집에 남는 것으로 활용, 옆에 링크말고 알리에서 더 저렴한 것을 구입하세요..) : https://www.coupang.com/vp/products/6183318626?itemId=12155976694&vendorItemId=79427455493&pickType=COU_PICK&q=hdmi+usb+mbf&itemsCount=36&searchId=451942d6dd9b46f18cd79a1cc73a0cdf&rank=2&isAddedCart=
/----------------------
/sd카드에 pikvm 올리기
/----------------------
/imager를 이용하여 다음의 파일로 굽기
/위의 hdmi to usb케이블을 사용할 시에
Raspberry Pi 4
For HDMI-USB dongle 버전을 다운로드
/----------------------
/라즈베리파이와 PC연결
/----------------------
/라즈베리파이 LAN -> 공유기 LAN
/라즈베리파이 USB-A(중요: 가장 좌측 하단부에 연결해야함)에 USB동글연결 -> HDMI -> HDMI -> 원격PC
/라즈베리파이 USB-C -> 원격PC USB-A 연결 (알리에서 전원부 나누어주는 USB전원분배기 사셔도 됩니다. 더 나아가서 KVM으로 다수의 컴퓨터를 연결하실 분은 다음의 제품을 구입해주세요)
/SD카드를 넣고 라즈베리파이 부팅 (시간이 조금 걸립니다)
/----------------------
/원격PC 접속을 위해 다른 PC에서 라즈베리파이 ip확인(공유기 단에서 확인하거나 https://pikvm/
) 후 인터넷창에서 접속
/----------------------
Username: admin
Password: admin
/----------------------
/접속 확인 후 ssh로 접속
/----------------------
su User: root
Password: root
/----------------------
/pi os 업데이트
/----------------------
[root@pikvm ~]# rw
[root@pikvm ~]# pacman -Syu
[root@pikvm ~]# reboot
/에러시
[root@pikvm ~]# curl https://files.pikvm.org/update-os.sh | bash
/----------------------
/pikvm root,admin 비밀번호 바꾸기
/----------------------
[root@pikvm ~]# rw
[root@pikvm ~]# passwd root
[root@pikvm ~]# kvmd-htpasswd set admin
[root@pikvm ~]# ro
/----------------------
/pikvm wifi 설정하기(비추천)
/----------------------
[root@pikvm ~]# rw
[root@pikvm ~]# nano /etc/systemd/network/wlan0.network
[Match]
Name=wlan0
[Network]
DHCP=yes
DNSSEC=no
[DHCP]
ClientIdentifier=mac
RouteMetric=50
/컨트롤+X 로 저장 Y
[root@pikvm ~]# wpa_passphrase 'SSID이름' '비밀번호' > /etc/wpa_supplicant/wpa_supplicant-wlan0.conf
/예시 -> [root@pikvm ~]# wpa_passphrase 'iptime' '12345678' > /etc/wpa_supplicant/wpa_supplicant-wlan0.conf
[root@pikvm ~]# chmod 640 /etc/wpa_supplicant/wpa_supplicant-wlan0.conf
[root@pikvm ~]# systemctl enable wpa_supplicant@wlan0.service
[root@pikvm ~]# ro
/----------------------
/pikvm으로 아이패드나 태블릿, 핸드폰 원격조정을 위한 블루투스 hid설정방법(비추천, 특수목적, 블루투스 이용시 기기와 1:1매칭밖에 되지 않습니다. 여러 기기를 운용해야하시는 분들은 블루투스 설정은 건너뛰셔야 합니다)
/----------------------
[root@pikvm ~]# rw
[root@pikvm ~]# pacman -Syu bluez bluez-utils raspberrypi-bluetooth
[root@pikvm ~]# nano /boot/config.txt
enable_uart=1
dtoverlay=disable-bt
/문구 추가후 컨트롤+X로 저장 Y
[root@pikvm ~]# mkdir /var/lib/bluetooth
[root@pikvm ~]# echo 'tmpfs /var/lib/bluetooth tmpfs nodev,nosuid,mode=0755 0 0' >> /etc/fstab
[root@pikvm ~]# mkdir /etc/systemd/system/bluetooth.service.d
[root@pikvm ~]# cat << EOF > /etc/systemd/system/bluetooth.service.d/override.conf [Service] ExecStart= ExecStart=/usr/lib/bluetooth/bluetoothd --noplugin=* EOF
[root@pikvm ~]# systemctl enable bluetooth
[root@pikvm ~]# systemctl enable raspberrypi-btuart
[root@pikvm ~]# mkdir /etc/systemd/system/kvmd.service.d
[root@pikvm ~]# cat << EOF > /etc/systemd/system/kvmd.service.d/override.conf [Service] AmbientCapabilities=CAP_NET_RAW CAP_NET_BIND_SERVICE CAP_SYS_ADMIN CAP_SETUID CAP_SETGID CAP_CHOWN CapabilityBoundingSet=CAP_NET_RAW CAP_NET_BIND_SERVICE CAP_SYS_ADMIN CAP_SETUID CAP_SETGID CAP_CHOWN EOF
[root@pikvm ~]# nano /etc/kvmd/override.yaml
kvmd:
hid:
type: bt
/문구 추가후 컨트롤+X로 저장 Y
[root@pikvm ~]# ro
[root@pikvm ~]# reboot
/파이kvm 부팅되면 블루투스로 pikvm 연결하면 hid 이용가능(다른 기기 접속시 웹ui에서 system->reset keyboard & mouse 클릭하면 초기화)
/----------------------
/다수의 kvm이용시 kvm지원목록 (앞서 링크드린 것으로 구입하시면 직구를 안하셔도 됩니다)
/----------------------
<참고>
over ip kvm 이용 : 포트 개방 80, 443 필요 (보안을 위해 도큐먼트의 2단계 인증 추천)
over ip kvm 이용 : 외부에 포트 개방이 꺼려진다면 vpn서버를 운용하여 공유기ip로 접속 후 pikvm 접속
웹UI에서 프레임 : 70프레임까지 가능
pikvm WOL을 이용하는 방법 : 원격지의 PC 전원 켜기(pikvm도큐먼트의 wol기능 추천)
공유기WOL을 이용하는 방법 : 공유기에서 PC 전원 켜기
스마트콘센트를 이용하는 방법 : 원격지 pc의 전원공급시 pc켜기 기능 활용
태블릿을 원격 조정하는 방법 : 태블릿에서 블루투스로 pikvm연결, 태블릿과 pikvm hdmi-usb 연결
화면 스위칭은 정품 ft232칩이 들어간 보드가 필요하다네요. 납땜 조금 하면 알리발 KVM 스위치도 사용할 수 있나 봅니다.
https://im4u.wepn.org/51
라즈5를 사용하지 않기에 테스트를 해보지 않았습니다 :)
공식사이트에서는 아직 지원하지 않는다고 합니다(지원예정)
책상에 굴러다니는 캡쳐장치로 테스트 한번 해봐야겠습니다
감사합니다.
싸구려 HDMI 캡쳐카드가 있어서 그걸 테스트해보려 합니다.
USB 로 구성해 보고 tc358743로 셋팅 마무리 했던 제가 한꼭지 드리자면 USB 동글의 경우 자주 끊어지고 제약이
많습니다. 디스플레이 모드도 H264/WebRTC 지원이 안되구요.
이게 프레임이 많이 나와 부드럽죠. 알리에서 Geekworm 이라고 치시면 요거 부품 파는 판매자가 나옵니다.
저는 POE를 사용하기 때문에... USB-C 분배 보드는 제외하고 케이스 하고 tc358743보드 이렇게 구입 했는데
5만원 정도 나온거 같습니다.
케이스는 작은 2핀 팬이 하나달려 있구요. 아쉽게도 케이스는 지금 팔지는 않네요.
HDMI만 출력되는 모델이였거든요. 어쨌든 5만원 선에... 라즈베리파이 있으면 구성 가능합니다.
사양을 많이 타지 않기 때문에... 2G~4G 정도 메모리 가진 모델이면 충분합니다.
외부에서 접속 가능하구요. KVM 도 사용가능합니다. 위에 말씀하신 KVM NEXI-7208KVM이 유일하게 지원되요.
이 제품이 Tesmart 제품입니다.
UI 설정 파일인 /etc/kvmd/override.yaml 파일 수정을 해 주면 됩니다. 추가 사항도 웹사이트에 다 나와 있습니다.
셋팅 거리가 많지가 않아요. 나중에 재설치 후 override.yaml 파일 하나만 덮어 씌워주면... 바로 복구 됩니다.
TOTP도 지원하고 괜찮아요. 복구 하는 경우 새로 셋팅 할때(작동 문제 있을때) useradd로 WebUI 접속 유저
동일 하게 만드시고...htpasswd, totp.secret 이것만 카피해서 넣어주시면 기존 유저 계정과 TOPT 그대로 사용도
가능합니다.
8, 16포트 둘다 Tesmart고, 외관 동일합니다. 포트수만 달라요.
cmt alert