4. PVE 방화벽

개요

종류설명
PVE Datacenter 방화벽클러스터 내 PVE 호스트에 공통으로 적용 (VM에 적용되는 것은 아님)
PVE Host 방화벽특정 PVE 호스트에 적용
PVE VM 방화벽

특정 VM이 PVE 호스트의 bridge 에 붙을 때 적용

VM 방화벽 없이도 적용

Stateful Firewall
기본설정: Out-bound ACCEPT, in-bound DROP (패키지 다운로드 가능, 외부에서 접속 불가)

VM 방화벽firewalld, ufw 등으로 VM에서 설정


IP Set

IP Set은 미리 만들어 둔 IP 주소 묶음입니다.

방화벽 규칙 안에서 주소 대신에 사용할 수 있습니다.

Proxmox 웹 로그인 → Datacenter → Firewall → IP Set

파일을 직접 수정해도 됩니다.

/etc/pve/firewall/cluster.fw
...
[IPSET management]

100.100.100.0/24 # Office 1
...


Security Group

Security Group은 미리 만들어 둔 방화벽 규칙 묶음입니다.

추후 VM에 방화벽을 적용할 때 편리하게 적용할 수 있습니다.

Proxmox 웹 로그인 → Datacenter → Firewall → Security Group

파일을 직접 수정해도 됩니다.

/etc/pve/firewall/cluster.fw
...
[group sg001-ping_inside]

IN Ping(ACCEPT) -source +dc/inside -log nolog
...


PVE Datacenter 방화벽

클러스터 내 PVE 호스트와 Web UI에 접속 할 수 있는 IP 범위를 제한합니다.

Proxmox 웹 로그인 → Datacenter → Firewall → Options → Firewall = Yes 로 설정

Proxmox 웹 로그인 → Datacenter → Firewall → IPSet → management 추가 → IP/CIDR 추가

파일을 직접 수정해도 됩니다.

/etc/pve/firewall/cluster.fw
[OPTIONS]

enable: 1

[IPSET management]

100.100.100.0/24 # Office 1
...


PVE Host 방화벽

특정 PVE 호스트와 Web UI에 접속 할 수 있는 IP 범위를 제한합니다.

Proxmox 웹 로그인 → 특정 PVE 호스트 선택 → Firewall → Options → Firewall = Yes 로 설정

Proxmox 웹 로그인 → 특정 PVE 호스트 선택 → Firewall → Add 를 클릭하여 특정 방화벽 규칙 추가

파일을 직접 수정해도 됩니다.

/etc/pve/nodes/<prox-hostname>/host.fw
[OPTIONS]

enable: 1
nftables: 1
tcpflags: 1

[RULES]

IN ACCEPT -p tcp -dport 3300,6789,6800:7568 -log nolog # ceph


PVE VM 방화벽

특정 VM에 접속 할 수 있는 IP 범위를 제한합니다.

VM이 PVE 호스트의 bridge에 붙을 때 적용됩니다. VM에 ufw, firewalld 등이 없어도 방화벽이 적용됩니다.

Proxmox 웹 로그인 → 특정 VM 선택 → Firewall → Options

  • Firewall = Yes 로 설정
  • IP filter = No 로 설정 (버그로 인해 Yes로 되어 있으면 방화벽이 동작 안하는 경우가 있음)

Proxmox 웹 로그인 → 특정 VM 선택 → Firewall → 규칙 추가

Proxmox 웹 로그인 → 특정 VM 선택 → Hardware → Network Device 클릭 → Firewall 체크

파일을 직접 수정해도 됩니다.

/etc/pve/nodes/<prox-hostname>/qemu-server/<vm-id>.conf
...
net0: virtio=...,bridge=vmbr0,firewall=1,mtu=9000,tag=...
...
/etc/pve/firewall/<vm-id>.fw
[OPTIONS]

log_level_in: nolog
policy_out: ACCEPT
log_level_out: nolog
ipfilter: 0
enable: 1
dhcp: 0

[RULES]

GROUP sg001-ping_inside
GROUP sg002-sshd_secured
GROUP sg009-zabbix_agent
GROUP sg003-web_public
GROUP sg004-mail_public