routeros-qemu-chr
QEMU에서 MikroTik RouterOS CHR 실행
MikroTik RouterOS CHR은 테스트 및 개발을 위한 완전한 기능을 갖춘 가상 라우터를 제공하지만, 설정에는 QEMU 옵션, VirtIO 드라이버 및 펌웨어 구성을 탐색해야 합니다. 이 스킬은 가속화, 적절한 VirtIO 설정 및 REST API 통합을 포함한 CHR 실행에 대한 완전한 가이드를 제공합니다.
스킬 ZIP 다운로드
Claude에서 업로드
설정 → 기능 → 스킬 → 스킬 업로드로 이동
토글을 켜고 사용 시작
테스트해 보기
"routeros-qemu-chr" 사용 중입니다. KVM 가속 및 포트 9180에서 REST API로 CHR 부팅
예상 결과:
QEMU가 하드웨어 가속으로 시작됩니다. RouterOS가 약 5초 내에 부팅됩니다. http://127.0.0.1:9180/에서 HTTP 200 응답으로 준비 상태가 확인됩니다. REST API는 admin 자격 증명으로 http://127.0.0.1:9180/rest/에서 액세스 가능합니다.
"routeros-qemu-chr" 사용 중입니다. GitHub Actions Ubuntu 러너에서 KVM 활성화
예상 결과:
/etc/udev/rules.d/99-kvm4all.rules에 udev 규칙이 생성되었습니다. KVM 장치 권한이 0666으로 업데이트되었습니다. QEMU가 하드웨어 가속을 위해 /dev/kvm을 성공적으로 엽니다. 부팅 시간이 약 30초에서 약 5초로 단축되었습니다.
"routeros-qemu-chr" 사용 중입니다. RouterOS 서비스를 위한 포트 포워딩 구성
예상 결과:
호스트 포트 매핑: 9180→80 (REST API), 9122→22 (SSH), 9728→8728 (API), 9729→8729 (API-SSL), 9291→8291 (WinBox). 로컬호스트 포트를 통해 호스트에서 서비스 액세스 가능.
보안 감사
낮은 위험Documentation and reference skill for running RouterOS CHR in QEMU. Static analysis flagged 343 patterns, but evaluation reveals these are false positives: shell backtick notation in markdown code examples (not execution), sudo in GitHub Actions CI (expected), MD5 references in kernel history docs (not actual usage), and legitimate acceleration detection commands. All network access targets MikroTik infrastructure for downloading CHR images. Risk level set to LOW due to external command patterns in documentation examples, but no actual malicious code present.
높은 위험 문제 (4)
중간 위험 문제 (3)
낮은 위험 문제 (2)
위험 요인
⚙️ 외부 명령어 (3)
🌐 네트워크 접근 (2)
📁 파일 시스템 액세스 (2)
품질 점수
만들 수 있는 것
CI에서 자동화된 RouterOS REST API 테스트
RouterOS CHR을 CI 테스트 픽스처로 실행하여 REST API 호출을 검증하고, RAML 스키마를 생성하며, 수동 라우터 설정 없이 /app YAML 구성을 테스트합니다.
개발 및 학습 환경
무료 라이선스 CHR 인스턴스를 부팅하여 프로덕션 하드웨어 없이 RouterOS 기능을 탐색하고, 방화벽 규칙을 테스트하며, 브리징을 실험하고, 네트워킹 개념을 학습합니다.
멀티 아키텍처 테스트
QEMU를 사용하여 적절한 펌웨어 (x86용 SeaBIOS, ARM용 UEFI) 및 가속 옵션으로 x86_64 및 aarch64 아키텍처 전반에서 RouterOS 구성을 테스트합니다.
이 프롬프트를 사용해 보세요
QEMU에서 RouterOS CHR을 설정할 수 있도록 도와주세요. 최신 안정 이미지를 다운로드하고 KVM 가속 및 REST API용 포트 9180으로 부팅해야 합니다.
RouterOS CHR을 다운로드하고, 사용 가능한 경우 KVM으로 부팅하고 (TCG로 폴백), 부팅을 대기한 다음 REST API 테스트를 실행하는 GitHub Actions 워크플로우를 작성해 주세요.
macOS Apple Silicon에서 RouterOS CHR aarch64를 부팅하도록 QEMU를 구성해 주세요. UEFI pflash 설정과 명시적 virtio-blk-pci 장치 구성을 포함해 주세요.
RouterOS CHR이 빈 화면과 함께 부팅에 실패합니다. 디스크 이미지가 aarch64에서 if=virtio를 사용합니다. 어떤 문제가 있을 수 있으며 어떻게 수정하나요?
모범 사례
- aarch64에서 묵시적 부팅 실패를 방지하기 위해 if=virtio 약어 대신 명시적 -device virtio-blk-pci를 사용하세요
- KVM 활성화 전에 /dev/kvm 존재 여부가 아닌 쓰기 가능 여부를 확인하고, KVM을 사용할 수 없는 경우 항상 TCG로 원활하게 폴백하세요
- localhost IP를 하드코딩하는 대신 tcp::9180-:80과 같은 포트 포워딩 패턴을 사용하여 구성을 휴대 가능하고 재사용 가능하게 만드세요
피하기
- aarch64 아키텍처에서 if=virtio를 사용하지 마세요 - RouterOS가 지원하지 않는 MMIO로 해석되어 묵시적 부팅 실패를 초래합니다
- KVM 권한 확인을 건너뛰지 마세요 - /dev/kvm이 존재하지만 읽을 수 없을 수 있으며, QEMU는 권한 오류 시 TCG로 묵시적으로 폴백하지 않습니다
- 동시 CI 빌드에서 git pull && git push를 사용하지 마세요 - 경쟁 조건으로 인한 push 거부를 피하기 위해 retry-with-rebase 패턴을 사용하세요