Proxmox x OpenWRT 23.05 설치

계기

IP를 구역별로, 용도별로 나누어 사용하는 것을 매우 선호한다. 회사 사무실 또는 내가 살고있는 집에서도 이 기조를 유지하며 IP 할당에 신경쓰는 편인데 최근 다량의 VM을 생성, IP를 할당해야하는 일이 생겨 네트워크를 분리해야겠다는 생각이 들었다.

처음에는 Proxmox에 OPNsense를 생성하여 네트워크를 나누고자 했고, 실제로 설치한 이후 Web GUI를 둘러보며 설치기를 작성하기까지 했으나 효과적인 운영을 해보기도 전에 빠른포기를 선언, 개인적으로 익숙한 OpenWRT로 선회하게 되었다.

목표

  1. OpenWRT를 이용해 Proxmox내 VM을 위한 서브넷 생성
  2. 기존 로컬 네트워크에 속해있으나 로컬 네트워크의 PC, 서버들과는 통신할 수 없도록 방화벽 설정

설치

VM 생성

VM을 먼저 생성한다, 옵션은 다음과 같다

  • 일반 > 부팅시 시작 체크 해제
  • OS > 미디어 사용 안 함
  • 시스템 > BIOS > SeaBios
  • 디스크 > scsi0 제거 (디스크는 후술할 예정)
  • CPU > Cores: 2 (필요시 확장 또는 축소 가능)
  • Memory > Memory (MiB): 2048 (필요시 확장 또는 축소 가능)
  • 네트워크 > 브릿지 > vmbr0 (기본 브릿지 사용, 필요시 다른 브릿지 사용 가능)

OpenWRT 디스크 생성

  1. Proxmox 대시보드에서 설치를 진행할 Proxmox 노드를 선택하고 Shell 메뉴를 선택한다.

  2. 2024년 12월 12일 현재 최신버전의 AMD64 이미지를 다운로드한다

    curl https://mirror-03.infra.openwrt.org/releases/23.05.5/targets/x86/64/openwrt-23.05.5-x86-64-generic-ext4-combined.img.gz
  3. 다운로드된 압축파일을 푼다

    gunzip ./openwrt-23.05.5-x86-64-generic-ext4-combined.img.gz
  4. 디스크 이미지 크기를 변경한다, 이 때 용량은 자신이 원하는 대로 지정한다 (예시로 512M 지정)

    qemu-img resize -f raw ./openwrt-23.05.5-x86-64-generic-ext4-combined.img 512M
  5. 디스크 이미지와 VM 연결

    qm importdisk 1002 ./openwrt-23.05.5-x86-64-generic-ext4-combined.img local-lvm
    # qm importdisk {VM_ID} ./openwrt-23.05.5-x86-64-generic-ext4-combined.img {DISK_ID}

디스크 사용 설정

  1. Proxmox 대시보드에서 OpenWRT VM을 선택하고 하드웨어 메뉴를 선택한다.
  2. 사용하지 않은 디스크 0으로 표기된 연결된 디스크를 더블클릭한다.
  3. 나타나는 팝업에서 추가 버튼을 클릭해 디스크를 VM에서 사용하도록 한다

VM 부트 순위 설정

  1. Proxmox 대시보드에서 OpenWRT VM을 선택하고 옵션 메뉴를 선택한다.
  2. 부트 순서 메뉴를 더블클릭하고 이어 나타난 팝업에서 디스크(scsi0)를 제외한 모든 항목을 체크해제한다

OpenWRT 실행

  1. 설정이 완료되면 VM을 실행한다