방화벽 이용해서 폐쇄망 구축하기

2025. 8. 20. 19:52·Infra

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 대역으로 변경해 보겠습니다.

 

 

  1. 콘솔 메뉴에서 2) Set interface(s) IP address를 입력합니다.
  2. LAN 인터페이스를 선택하기 위해 2를 입력합니다.
  3. 새로운 LAN IPv4 주소로 10.10.32.1을 입력합니다.
  4. Subnet mask로 24를 입력합니다.
  5. Gateway와 IPv6 설정은 그냥 Enter를 눌러 넘어갑니다.
  6. Do you want to enable the DHCP server on LAN? 질문에 n을 입력합니다. (우리는 클라이언트 VM에 고정 IP를 할당할 것입니다.)

 

 

 

 

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

 

 

 

이제 내부망에 속할 클라이언트 VM(예: 리눅스 서버)을 설정할 차례입니다.

  1. 클라이언트 VM의 네트워크 어댑터를 pfSense LAN과 동일한 VMnet8로 설정합니다.
  2. 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의 인터넷을 차단하는 규칙을 추가해 보겠습니다.

  1. 호스트 PC의 웹 브라우저에서 https://10.10.32.1에 접속하여 pfSense에 로그인합니다. (초기 ID: admin, PW: pfsense)
  2. Firewall > Rules > LAN 탭으로 이동합니다.
  3. Default allow LAN to any rule (기본 허용 규칙) 위에 새로운 규칙을 추가하기 위해 Add (위쪽 화살표) 버튼을 클릭합니다.
  4. 새로운 규칙을 아래와 같이 설정합니다.
    • Action: Block (차단)
    • Interface: LAN
    • Protocol: Any
    • Source: LAN net
    • Destination: any
  5. 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
'Infra' 카테고리의 다른 글
  • Terraform으로 azure 인프라 코드화 하기
  • LVM 다뤄보기
  • terraform으로 aws 인프라 구축하기 (3) (상태 관리)
  • terraform으로 aws 인프라 구축하기 (2) (Auto Scaling)
khjoon
khjoon
  • khjoon
    기록기록
    khjoon
  • 전체
    오늘
    어제
    • 분류 전체보기 (39)
      • Security (2)
      • Dev (14)
      • Infra (14)
      • Ops (9)
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
khjoon
방화벽 이용해서 폐쇄망 구축하기
상단으로

티스토리툴바