Proxmox 폐쇄망 VM 구축 가이드
이 가이드는 Proxmox VE에서 폐쇄망(외부 네트워크와 격리된 사설 네트워크) 환경의 가상 머신(VM)을 구축하는 방법을 설명합니다. 폐쇄망은 보안이 중요한 환경에서 VM 간 내부 통신만 허용하고 외부 접근을 차단하는 데 유용합니다.
1. Proxmox VE 개요
Proxmox VE는 Debian Linux 기반의 오픈소스 Type-1 하이퍼바이저로, KVM 가상화와 LXC 컨테이너를 지원합니다. 웹 기반 UI를 통해 VM과 컨테이너를 쉽게 관리할 수 있으며, 네트워크 설정을 유연하게 구성할 수 있습니다.
2. 폐쇄망 설정을 위한 준비
- Proxmox VE 설치: 최신 버전의 Proxmox VE가 설치되어 있어야 합니다. 공식 사이트(proxmox.com)에서 ISO 이미지를 다운로드하여 설치하세요.
- 네트워크 인터페이스 확인: 서버의 물리 네트워크 인터페이스(예: eno1)를 확인합니다.
- IP 대역 계획: 폐쇄망에 사용할 사설 IP 대역(예: 10.10.20.0/24)을 결정합니다.
3. 폐쇄망용 가상 브리지 설정
폐쇄망을 위해 외부 네트워크와 연결되지 않은 가상 브리지(vmbr1)를 생성합니다. 이는 VM 간 내부 통신만 허용합니다.
3.1 네트워크 설정 파일 수정
Proxmox 호스트의 네트워크 설정 파일(/etc/network/interfaces)을 편집합니다.
sudo nano /etc/network/interfaces
아래와 같이 vmbr1을 추가합니다:
auto lo
iface lo inet loopback
iface eno1 inet manual
auto vmbr0
iface vmbr0 inet static
address 192.168.0.84/24
gateway 192.168.0.1
bridge-ports eno1
bridge-stp off
bridge-fd 0
auto vmbr1
iface vmbr1 inet static
address 10.10.20.1/24
bridge-ports none
bridge-stp off
bridge-fd 0
설명:
vmbr0
: 외부 네트워크와 연결된 기본 브리지(기존 설정).vmbr1
: 폐쇄망용 브리지로, 물리 인터페이스(bridge-ports none)와 연결되지 않아 외부 통신이 차단됩니다.address 10.10.20.1/24
: vmbr1에 할당된 사설 IP 대역.
3.2 네트워크 설정 적용
설정을 저장한 후 네트워크를 재시작합니다.
sudo systemctl restart networking
또는 서버를 재부팅합니다:
sudo reboot
4. VM 생성 및 네트워크 설정
Proxmox 웹 UI를 통해 VM을 생성하고 폐쇄망에 연결합니다.
4.1 VM 생성
- Proxmox 웹 UI(https://[Proxmox_IP]:8006)에 로그인합니다.
- 오른쪽 상단의 Create VM 버튼을 클릭합니다.
- VM 설정을 구성합니다:
- General: VM 이름과 ID를 지정합니다.
- OS: 사용할 OS의 ISO 이미지를 선택합니다(예: Ubuntu).
- System: 기본 설정 유지.
- Disks: 디스크 크기를 지정합니다.
- CPU/Memory: 필요에 따라 CPU 코어와 메모리를 설정합니다.
- Network:
- Bridge:
vmbr1
선택. - Model: VirtIO (성능 최적화).
- Firewall: 선택적으로 활성화.
- Bridge:
- 설정을 확인하고 VM을 생성합니다.
4.2 VM 내부 네트워크 설정
VM 내부에서 사설 IP를 수동으로 설정합니다. 예를 들어, Ubuntu VM의 경우:
sudo nano /etc/netplan/01-netcfg.yaml
다음과 같이 설정합니다:
network:
version: 2
ethernets:
ens18:
addresses:
- 10.10.20.2/24
gateway4: 10.10.20.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
설정을 적용합니다:
sudo netplan apply
참고: ens18
은 VM의 네트워크 인터페이스 이름으로, 환경에 따라 다를 수 있습니다. ip a
명령어로 확인하세요.
5. 폐쇄망 테스트
VM 간 통신을 테스트하여 폐쇄망이 정상적으로 작동하는지 확인합니다.
- 두 개 이상의 VM을 vmbr1에 연결하고 각각 다른 IP(예: 10.10.20.2, 10.10.20.3)를 설정합니다.
- 한 VM에서 다른 VM으로 ping 테스트를 수행합니다:
ping 10.10.20.3
- 외부 네트워크(예: google.com)에 접근을 시도하여 차단됨을 확인합니다:
ping google.com
참고: ping이 실패하면 VM의 방화벽 설정(iptables) 또는 Proxmox의 방화벽을 확인하세요.
6. (선택) NAT를 통한 외부 통신 활성화
폐쇄망 VM이 외부 네트워크에 접근해야 하는 경우(예: 소프트웨어 업데이트), NAT를 설정할 수 있습니다.
6.1 iptables 설정
Proxmox 호스트에서 iptables를 사용하여 NAT를 구성합니다:
sudo iptables -t nat -A POSTROUTING -s 10.10.20.0/24 -o vmbr0 -j MASQUERADE
sudo sysctl -w net.ipv4.ip_forward=1
설정을 영구적으로 저장합니다:
sudo apt-get install iptables-persistent
설치 중 규칙 저장 여부를 묻는 메시지에 동의합니다.
7. 보안 고려사항
- 방화벽 활성화: Proxmox와 VM 내부에 방화벽을 설정하여 불필요한 포트를 차단합니다.
- 스냅샷: VM 설정 변경 전 스냅샷을 생성하여 복구 가능성을 확보합니다.
- 업데이트: Proxmox와 VM의 소프트웨어를 최신 상태로 유지합니다.
8. 참고 자료
- Proxmox VE 공식 문서: pve.proxmox.com
- Proxmox 네트워크 설정 가이드: malwareanalysis.tistory.com
- Proxmox SDN 가이드: svrforum.com