1. 기본 구성 개념
pfSense를 이용한 폐쇄망의 핵심은 네트워크의 논리적 분리입니다. 가상머신 환경에서 pfSense VM은 일종의 가상 공유기(Router)이자 방화벽 역할을 하게 됩니다.
- WAN (Wide Area Network): 외부 네트워크와 연결되는 인터페이스입니다. 실제 인터넷이 연결된 네트워크(Bridged)에 연결하거나, 또 다른 가상 네트워크에 연결하여 외부 환경을 흉내 낼 수 있습니다.
- LAN (Local Area Network): 우리가 보호하고자 하는 내부망입니다. 이 네트워크에 연결된 다른 가상머신(Client VM)들은 오직 pfSense를 통해서만 외부(WAN)와 통신할 수 있습니다.
pfSense는 이 WAN과 LAN 경계에서 모든 트래픽을 감시하고, 우리가 설정한 규칙(Firewall Rules)에 따라 허용하거나 차단하며 완벽한 폐쇄망을 만들거나 안전한 인터넷 환경을 제공합니다.
pfSense ISO 이미지 파일: pfSense 설치를 위한 파일입니다.
- 공식 다운로드 페이지 : https://www.pfsense.org/download/
- 국내 미러 사이트 (빠른 다운로드): https://repo.ialab.dsu.edu/pfsense/
pfSense VM 생성 및 설치
이제 pfSense를 설치할 가상머신을 생성합니다.
가상머신 생성 마법사를 실행하고, 다운로드한 pfSense ISO 파일을 연결합니다.

- pfSense VM: 두 개의 네트워크 카드(NIC)를 가집니다.
- WAN: VMware의 NAT 네트워크에 연결하여 인터넷에 접속합니다.
- LAN: 별도의 가상 네트워크(VMnet8)에 연결하여 내부망의 게이트웨이 역할을 합니다.


이제 생성한 VM을 부팅하여 pfSense 설치를 시작합니다.

부팅 후 Install을 선택하여 설치를 시작합니다.

파티션 설정에서 Auto (ZFS)를 선택합니다.

ZFS 설정에서 Install -> Stripe (No Redundancy) -> 스페이스바로 가상 디스크 선택 -> YES 순서로 진행하여 설치를 완료합니다.




설치가 완료되면 Reboot를 선택하여 시스템을 재시작합니다.

기본 LAN IP는 192.168.1.1이지만 VMnet8에서 사용중인 10.10.32.x 대역으로 변경해 보겠습니다.
- 콘솔 메뉴에서 2) Set interface(s) IP address를 입력합니다.
- LAN 인터페이스를 선택하기 위해 2를 입력합니다.
- 새로운 LAN IPv4 주소로 10.10.32.1을 입력합니다.
- Subnet mask로 24를 입력합니다.
- Gateway와 IPv6 설정은 그냥 Enter를 눌러 넘어갑니다.
- Do you want to enable the DHCP server on LAN? 질문에 n을 입력합니다. (우리는 클라이언트 VM에 고정 IP를 할당할 것입니다.)


설정이 완료되면 이제 웹 브라우저에서 https://10.10.32.1로 접속할 수 있습니다.

이제 내부망에 속할 클라이언트 VM(예: 리눅스 서버)을 설정할 차례입니다.
- 클라이언트 VM의 네트워크 어댑터를 pfSense LAN과 동일한 VMnet8로 설정합니다.
- VM에 접속하여 네트워크 설정을 고정 IP로 변경합니다.
- IP 주소: 10.10.32.10 (pfSense와 다른 IP)
- Subnet Mask: 255.255.255.0
- Gateway: 10.10.32.1 (pfSense의 LAN IP)

이제 클라이언트 VM에서 ping 8.8.8.8 명령어를 실행하면 pfSense를 통해 인터넷이 정상적으로 연결되는 것을 확인할 수 있습니다.

클라이언트 VM의 인터넷을 차단하는 규칙을 추가해 보겠습니다.
- 호스트 PC의 웹 브라우저에서 https://10.10.32.1에 접속하여 pfSense에 로그인합니다. (초기 ID: admin, PW: pfsense)
- Firewall > Rules > LAN 탭으로 이동합니다.
- Default allow LAN to any rule (기본 허용 규칙) 위에 새로운 규칙을 추가하기 위해 Add (위쪽 화살표) 버튼을 클릭합니다.
- 새로운 규칙을 아래와 같이 설정합니다.
- Action: Block (차단)
- Interface: LAN
- Protocol: Any
- Source: LAN net
- Destination: any
- Save 및 Apply Changes를 클릭하여 규칙을 적용합니다.


규칙이 적용된 후 다시 클라이언트 VM에서 ping 8.8.8.8을 시도하면, 방화벽에 의해 차단되어 통신이 실패하는 것을 볼 수 있습니다. 이처럼 pfSense를 통해 내부 네트워크의 트래픽을 손쉽게 제어할 수 있습니다.

'Infra' 카테고리의 다른 글
| Terraform으로 azure 인프라 코드화 하기 (0) | 2025.10.08 |
|---|---|
| LVM 다뤄보기 (0) | 2025.02.16 |
| terraform으로 aws 인프라 구축하기 (3) (상태 관리) (0) | 2024.12.04 |
| terraform으로 aws 인프라 구축하기 (2) (Auto Scaling) (0) | 2024.12.04 |
| terraform으로 aws 인프라 구축하기 (1) (0) | 2024.12.04 |
