---
title: "연구실 네트워크 보호를 위한 pfSense 방화벽 구축 가이드"
description: "pfSense를 이용한 연구실 네트워크 구축 가이드로, OpenStack 시스템을 안전하게 운영하기 위한 VPN 설정과 방화벽 설치 과정을 설명합니다. pfSense는 오픈소스 방화벽/라우터 소프트웨어로, 복잡한 네트워크 설정 없이도 강력한 기능을 제공합니다. 설치 후 WAN과 LAN 설정, NAT 및 포트 포워딩을 통해 외부 서비스 접근을 가능하게 하며, DHCP 서버 설정으로 내부 장치의 자동 IP 할당을 지원합니다. 이 과정을 통해 안정적이고 안전한 연구 환경을 구축할 수 있습니다."
date: "2024-08-09"
last_modified: "2026-05-15T08:36:00.000Z"
type: "Post"
tags:
  - "openstack"
  - "network"
  - "vpn"
categories:
  - "🤖 Computer Science"
canonical_url: "https://blog.pieroot.xyz/pfsense-lab-guide"
markdown_url: "https://blog.pieroot.xyz/pfsense-lab-guide.md"
---

# 연구실 네트워크 보호를 위한 pfSense 방화벽 구축 가이드

pfSense를 이용한 연구실 네트워크 구축 가이드로, OpenStack 시스템을 안전하게 운영하기 위한 VPN 설정과 방화벽 설치 과정을 설명합니다. pfSense는 오픈소스 방화벽/라우터 소프트웨어로, 복잡한 네트워크 설정 없이도 강력한 기능을 제공합니다. 설치 후 WAN과 LAN 설정, NAT 및 포트 포워딩을 통해 외부 서비스 접근을 가능하게 하며, DHCP 서버 설정으로 내부 장치의 자동 IP 할당을 지원합니다. 이 과정을 통해 안정적이고 안전한 연구 환경을 구축할 수 있습니다.

연구실에서 OpenStack 시스템을 운영하고 외부에서 안전하게 접속하기 위한 VPN을 구축하려면 견고한 네트워크 환경이 필수적입니다. 

내부망(OpenStack Management)과 외부망(연구실 VPN)을 안전하게 연결하고 중계해 줄 라우터가 필요했죠. 

고민 끝에 오픈소스 방화벽 OS인 **pfSense**를 도입하여 전용 라우터 겸 방화벽 노드를 구축하기로 했습니다.

## 🤔 왜 pfSense인가요?

> pfSense란?
> 
> FreeBSD를 기반으로 하는 오픈소스 방화벽/라우터 소프트웨어입니다. 웹 인터페이스를 통해 손쉽게 설정과 관리가 가능해, 복잡한 네트워크 지식이 없어도 강력한 기능을 활용할 수 있습니다. 일반적인 방화벽, 스위치, 라우터의 기능을 통합적으로 수행하며, VPN, DHCP, 프록시 등 다양한 부가 기능까지 지원하는 만능 재주꾼입니다.

복잡한 네트워크 장비를 여러 대 두는 대신, pfSense를 설치한 PC 한 대로 이 모든 기능을 해결할 수 있다는 점이 가장 큰 매력입니다.

## ⚙️ 설치 과정 (Network Installer)

---

[Download Installation Media \| pfSense Documentation](https://docs.netgate.com/pfsense/en/latest/install/download-installer-image.html?_gl=1*u7ds3c*_gcl_au*MjM4ODUzNDQ4LjE3MjgzMjk1MDU.*_ga*NTE2NjgyNzExLjE3MjgzMjk1MDU.*_ga_TM99KBGXCB*MTcyODMyOTUwNS4xLjAuMTcyODMyOTUwNi41OS4wLjA)

pfSense 공식 홈페이지에서 ISO 이미지를 다운로드해야 합니다.

이 ISO 이미지는 단순한 부팅 시스템이 아닌 네트워크를 통해 OS를 설치할 수 있는 인스톨러 이미지입니다.

[Prepare a USB Memstick \| pfSense Documentation](https://docs.netgate.com/pfsense/en/latest/install/write-memstick.html)

![image](https://blog.pieroot.xyz/api/image-proxy?id=4746cd1d-4d8b-4809-a556-f473b178e755&kind=s3&pageId=20f067c0-15d0-80f9-98a0-cd882820b88f&source=block&blockId=20f067c0-15d0-80fa-b51c-f3271c95462e)

디스크를 삽입하고 부팅하면 아래와 같은 라이센스 화면이 나타납니다.

![image](https://blog.pieroot.xyz/api/image-proxy?id=9143d50f-0b58-4db2-8dd8-ef3fd50e818e&kind=s3&pageId=20f067c0-15d0-80f9-98a0-cd882820b88f&source=block&blockId=20f067c0-15d0-804a-980d-f4fe351090ab)

![image](https://blog.pieroot.xyz/api/image-proxy?id=c53a354e-7f9b-48a8-b25c-84da0f637c44&kind=s3&pageId=20f067c0-15d0-80f9-98a0-cd882820b88f&source=block&blockId=20f067c0-15d0-8001-b613-cb4d6717ff46)

별도로 선택할 것 없이 계속 "Continue"를 눌러주면 됩니다.

![image](https://blog.pieroot.xyz/api/image-proxy?id=c0a842dd-bca5-48e2-a10e-0c6c65c083ae&kind=s3&pageId=20f067c0-15d0-80f9-98a0-cd882820b88f&source=block&blockId=20f067c0-15d0-80b7-bc41-eae33b13d0d2)

![image](https://blog.pieroot.xyz/api/image-proxy?id=98de66f5-bfea-4910-9bb5-56714154344a&kind=s3&pageId=20f067c0-15d0-80f9-98a0-cd882820b88f&source=block&blockId=20f067c0-15d0-8046-b07e-e93144df5deb)

네트워크 설정을 진행해야 하는데, pfSense는 기본적으로 방화벽 겸 라우터이기 때문에 NIC(네트워크 인터페이스 카드)가 두 개 이상 필요합니다. 

하나는 WAN용, 다른 하나는 LAN용입니다

![image](https://blog.pieroot.xyz/api/image-proxy?id=efcacf6d-7d1a-4ee1-830e-9420f52bd624&kind=s3&pageId=20f067c0-15d0-80f9-98a0-cd882820b88f&source=block&blockId=20f067c0-15d0-8058-8c19-c291cdf5ca07)

WAN 인터페이스는 외부 인터넷 통신 용도로 사용하며, Interface Mode를 Static으로 설정합니다.

![image](https://blog.pieroot.xyz/api/image-proxy?id=6085da06-643b-4cba-8e69-771d6b293e73&kind=s3&pageId=20f067c0-15d0-80f9-98a0-cd882820b88f&source=block&blockId=20f067c0-15d0-801c-b264-fc3ee3f31e4d)

IP 주소는 공인 IP인 117.16.x.x를 사용합니다.

Default Gateway 또한 117.16.x.x로 설정해주면 됩니다.

DNS 서버는 본래 1.1.1.1을 사용하려 했으나 최근 연결이 자주 끊기는 문제가 있어 8.8.8.8로 설정했습니다.

![image](https://blog.pieroot.xyz/api/image-proxy?id=b37e4cf5-3eaf-43cf-9c08-36818bb9c882&kind=s3&pageId=20f067c0-15d0-80f9-98a0-cd882820b88f&source=block&blockId=20f067c0-15d0-80c3-9b33-ebb08fefe1b4)

WAN을 설정한 후에는 LAN을 설정해야 하지만, 이 단계에서는 넘어가도 상관없습니다. 일단은 그냥 진행해도 됩니다.~~(어차피 시스템이 부팅된 후에 다시 설정해야 합니다)~~

![image](https://blog.pieroot.xyz/api/image-proxy?id=26ce1faa-dc87-4ec3-a256-377ddc59efe7&kind=s3&pageId=20f067c0-15d0-80f9-98a0-cd882820b88f&source=block&blockId=20f067c0-15d0-8004-ae33-fc19ba0a4208)

사진과 같이 인터페이스를 다시 설정할지 그대로 진행할지 물어보는 화면이 나타나면, 그대로 'Continue'를 눌러 다음 단계로 넘어가면 됩니다.

![image](https://blog.pieroot.xyz/api/image-proxy?id=91de3155-4280-4d19-977e-3e54d147e57f&kind=s3&pageId=20f067c0-15d0-80f9-98a0-cd882820b88f&source=block&blockId=20f067c0-15d0-80ba-8668-d9e17686c9e8)

시스템에 pfSense Plus 라이선스 키가 없으면 CE(Community Edition) 버전을 설치할지 묻습니다.

CE 버전은 Plus 버전에 비해 기능이 제한된 무료 버전이지만, 우리가 필요로 하는 용도에는 충분합니다.

![image](https://blog.pieroot.xyz/api/image-proxy?id=13523509-f01f-43d0-896a-e5422abfcad1&kind=s3&pageId=20f067c0-15d0-80f9-98a0-cd882820b88f&source=block&blockId=20f067c0-15d0-8094-884f-e0e6336e2b13)

파일 시스템을 선택해야 하는데 ZFS와 UFS 중에 선택할 수 있습니다.

ZFS는 더 고사양의 파일시스템으로, 여러 디스크를 RAID로 구성하거나 디스크 스냅샷 기능을 사용하고 싶다면 필수 선택입니다. 하지만 우리처럼 SSD 250GB 하나에 설치할 경우에는 어떤 것을 선택하든 큰 차이가 없습니다.

파티션은 그대로 두고 진행합니다. 만약 메인보드가 2010년 이전 보드이거나 GPT 파티션이 지원되지 않는다면 MBR로 설치를 권장합니다.~~(이때는 부팅 디스크도 GPT로 못 만들걸..?)~~

![image](https://blog.pieroot.xyz/api/image-proxy?id=fc0e79e1-ba63-4ddb-80de-eb7d5935ef2f&kind=s3&pageId=20f067c0-15d0-80f9-98a0-cd882820b88f&source=block&blockId=20f067c0-15d0-800b-a279-c913ae31d096)

ZFS를 선택할 경우 RAID 구성을 설정할 수 있습니다. 위의 3개 항목은 이 시스템을 설치하는 사람이라면 당연히 이해하고 있을 것입니다.

RAID-Z는 ZFS에서만 특별히 지원되는 RAID 방식입니다. 쉽게 이해하자면, Z1은 RAID-5와 유사하고, Z2는 RAID-6에 해당한다고 볼 수 있습니다.

![image](https://blog.pieroot.xyz/api/image-proxy?id=f16e0f67-8c5d-4f64-b56f-76b707362eec&kind=s3&pageId=20f067c0-15d0-80f9-98a0-cd882820b88f&source=block&blockId=20f067c0-15d0-801d-9a00-c1f4128f5e7d)

설치할 디스크를 선택하고 넘어갑니다. 일반적으로 이런 선택 화면에서는 스페이스바를 누르면 항목이 선택됩니다. ~~(아님 말고)~~

![image](https://blog.pieroot.xyz/api/image-proxy?id=fe3642fc-7665-4b9c-ad43-3552cb5d0003&kind=s3&pageId=20f067c0-15d0-80f9-98a0-cd882820b88f&source=block&blockId=20f067c0-15d0-8071-95bb-c67502f821ab)

초기화를 진행할 디스크가 표시됩니다. 진행하기 전에 디스크에 중요한 데이터가 있는지 반드시 확인하세요.

> **주의:** 다음 단계에서 디스크의 모든 데이터가 삭제되니, 중요한 자료가 있는지 마지막으로 꼭 확인하세요!

UFS는 우리가 사용하지 않으므로 별도로 설명하지 않습니다만, 궁금하시다면 [여기](https://docs.netgate.com/pfsense/en/latest/install/install-ufs.html)에서 확인할 수 있습니다.

![image](https://blog.pieroot.xyz/api/image-proxy?id=84a94506-0dd1-48ce-8437-0572dd83240f&kind=s3&pageId=20f067c0-15d0-80f9-98a0-cd882820b88f&source=block&blockId=20f067c0-15d0-8028-929c-ead5c4f15423)

설치 화면에서는 위 사진과 다른 버전이 표시될 수 있습니다. CE 버전의 경우 2.7.2-release가 표시될 것입니다. 해당 버전을 선택하면 됩니다.

![image](https://blog.pieroot.xyz/api/image-proxy?id=be70c4de-39b9-4a05-b10a-a6afe78e30f3&kind=s3&pageId=20f067c0-15d0-80f9-98a0-cd882820b88f&source=block&blockId=20f067c0-15d0-8046-9604-f958a1ce88f7)

이 화면이 나타났다면 설치가 성공적으로 완료된 것입니다.

확인 버튼을 누른 후 시스템을 재부팅하면 됩니다.

## 재부팅 후

---

![image](https://blog.pieroot.xyz/api/image-proxy?id=240f43ce-6a2b-41f2-9dec-760035bd99d6&kind=s3&pageId=20f067c0-15d0-80f9-98a0-cd882820b88f&source=block&blockId=20f067c0-15d0-8065-822e-e58fa07e20d2)

#### 🚀 초기 부팅 및 인터페이스 설정

재부팅 후, pfSense는 어떤 네트워크 카드(NIC)를 WAN(외부망)과 LAN(내부망)으로 사용할지 물어봅니다.

pfSense는 라우터 역할을 하므로 **최소 2개 이상의 NIC가 필수**입니다. 하나는 외부 인터넷과 연결될 **WAN**, 다른 하나는 내부 네트워크 장비들이 연결될 **LAN**입니다.

만약 인터페이스 이름(예: `igb0`, `em0`)이 헷갈린다면, `Ctrl+C`를 눌러 설정을 잠시 중단하고 셸(Shell)에서 `ifconfig` 명령어로 실제 연결된 인터페이스를 확인한 후 다시 설정할 수 있습니다.

1. **WAN 설정**: 외부 인터넷과 연결될 인터페이스를 선택하고 **고정 IP(Static)** 방식으로 설정합니다. 연구실에서 할당받은 공인 IP(`117.16.x.x`)와 게이트웨이 정보를 입력합니다. DNS는 안정적인 구글 DNS(`8.8.8.8`)를 사용했습니다.

1. **LAN 설정**: 내부 장비들이 연결될 인터페이스를 선택합니다. 이 단계에서는 우선 넘어가도 괜찮습니다. 웹 인터페이스에서 더 쉽게 설정할 수 있습니다.

## 웹 접속

---

#### 🖥️ 웹 인터페이스로 상세 설정하기

이제 내부 네트워크에 컴퓨터를 연결하고, 웹 브라우저에서 pfSense 장비의 LAN IP로 접속합니다. (기본값: `192.168.1.1`)

> 초기 접속 정보
> 
> - ID: `admin`
> 
> - PW: `pfsense`

최초 접속 시 설정 마법사가 반겨줍니다.

![image](https://blog.pieroot.xyz/api/image-proxy?id=93259d23-9359-49b9-b7ba-6ac360d6c784&kind=s3&pageId=20f067c0-15d0-80f9-98a0-cd882820b88f&source=block&blockId=20f067c0-15d0-800c-a86f-c912f468c2bd)

LAN으로 연결하여 게이트웨이의 IP 주소로 접속하면 위와 같은 pfSense 초기 설정 페이지가 나타납니다.

![image](https://blog.pieroot.xyz/api/image-proxy?id=c6354696-3247-4a85-af3a-debbfd260932&kind=s3&pageId=20f067c0-15d0-80f9-98a0-cd882820b88f&source=block&blockId=20f067c0-15d0-8008-a077-e82e6dd280ff)

hostname은 [pfsense.dmslab.xyz](http://pfsense.dmslab.xyz/)로 설정했습니다. 어차피 외부(public network)에서는 접근이 불가능하기 때문에 자유롭게 설정해도 괜찮습니다.

Primary DNS는 8.8.8.8, Secondary DNS는 8.8.4.4로 설정했습니다. 통신사의 DNS를 사용해도 괜찮지만 ~~IT 업계 종사자로서 권장하지 않는다.~~

![image](https://blog.pieroot.xyz/api/image-proxy?id=eefa1fd5-1ced-457d-b1ff-bdf0eff16eee&kind=s3&pageId=20f067c0-15d0-80f9-98a0-cd882820b88f&source=block&blockId=20f067c0-15d0-8048-83d9-cd73aec69764)

시간 동기화는 Asia/Seoul 로 설정

#### WAN 설정

---

![image](https://blog.pieroot.xyz/api/image-proxy?id=206a4dec-c4c6-44fe-bd5f-dc9c10640437&kind=s3&pageId=20f067c0-15d0-80f9-98a0-cd882820b88f&source=block&blockId=20f067c0-15d0-8013-91b6-d0dda480c60d)

WAN은 연구실 환경에서는 Static으로 설정해야 합니다. 반면 가정에서 이런 툴을 사용할 경우에는 DHCP로 설정해야 합니다.

한국 통신사의 가정용 IP는 정책상 반드시 DHCP로 설정되어야 합니다. 통신사에서 DHCP 풀에 없는 IP 연결을 차단하기 때문입니다.

![image](https://blog.pieroot.xyz/api/image-proxy?id=3ad69e64-6585-45fd-a66c-851edc85cd64&kind=s3&pageId=20f067c0-15d0-80f9-98a0-cd882820b88f&source=block&blockId=20f067c0-15d0-8010-92f6-e2d7f0dd2878)

정보통신처에서 MAC 주소로 네트워크 연결을 관리하는 건국대학교와 같은 환경에서는, 인가받은 MAC 주소로 변경해야 외부와 통신이 가능합니다.

![image](https://blog.pieroot.xyz/api/image-proxy?id=093a0c3b-b6e1-4710-81b7-a61d94069932&kind=s3&pageId=20f067c0-15d0-80f9-98a0-cd882820b88f&source=block&blockId=20f067c0-15d0-80a2-85a8-d6c6ad995921)

IP 주소는 117.16.x.x로 설정합니다.

upstream gateway는 117.16.x.254 혹은 117.16.x.1 중 하나입니다. 이는 라우터에 접근한 패킷들을 default routing할 주소입니다.

subnet mask는 보통 서브넷에 맞추어 기재해야 하지만, 24나 32 둘 중 무엇을 선택해도 일단 통신은 됩니다. 다만 broadcast 패킷을 받지 못하는 단점이 있습니다.

![image](https://blog.pieroot.xyz/api/image-proxy?id=a2ee313a-fcc9-499b-82ae-077ab7f1d1e3&kind=s3&pageId=20f067c0-15d0-80f9-98a0-cd882820b88f&source=block&blockId=20f067c0-15d0-80f7-a975-f4b93d194fcd)

이 인터페이스는 공인망에 연결되어 있으므로 private IP로 들어오는 패킷 차단과, IANA에 등록되지 않은 IP 차단을 활성화합니다. IANA는 전 세계 IP 주소를 관리하는 최상위 기관으로 생각하면 되며, 일부 공인 IP는 임의로 할당되어 사용될 수 있기 때문에 이러한 패킷들을 차단하는 역할을 합니다.

![image](https://blog.pieroot.xyz/api/image-proxy?id=b4ae4b1a-08ff-480b-943e-f53bc00beca3&kind=s3&pageId=20f067c0-15d0-80f9-98a0-cd882820b88f&source=block&blockId=20f067c0-15d0-8072-8c28-d24aa509dbb9)

최종적으로 WAN 설정은 위와 같습니다.

#### LAN 설정

---

![image](https://blog.pieroot.xyz/api/image-proxy?id=7c0bcded-6dbb-4a83-8614-31a10a461093&kind=s3&pageId=20f067c0-15d0-80f9-98a0-cd882820b88f&source=block&blockId=20f067c0-15d0-8016-a935-ef0581d11fca)

LAN은 위와 같이 설정하면 됩니다. IP 주소는 172.30.0.1/16으로 설정해야 내부 인터넷이 제대로 구성됩니다.

WAN에서 설정했던 사설 네트워크 차단과 IANA에 등록되지 않은 IP 차단 옵션은 LAN이 로컬 IP를 사용하기 때문에 비활성화해야 합니다.

### interface groups 설정

---

외부 네트워크와 내부 네트워크에서 공인 IP나 도메인을 통해 접근할 때, 로컬 IP로 접근하지 않더라도 대시보드에 접근되는 문제가 있습니다.

이 문제를 해결하기 위해, 공인 IP나 도메인으로 접근할 때 내부 IP로 포트포워딩하거나 접근을 차단하려면 관련 인터페이스들을 하나의 그룹으로 묶을 수 있습니다.

![image](https://blog.pieroot.xyz/api/image-proxy?id=135ddbaa-0bc5-4028-bbbc-d13ee2b03e10&kind=s3&pageId=20f067c0-15d0-80f9-98a0-cd882820b88f&source=block&blockId=20f067c0-15d0-805e-9241-e91fece6e0dc)

인터페이스 그룹은 wan1과 lan1, wan2와 lan2를 각각 하나의 그룹으로 묶어줍니다.

### NAT 설정

---

pfSense는 기본적으로 모든 인터페이스 간의 통신을 차단합니다. 내부(LAN) 장치들이 인터넷(WAN)에 접속하려면, 나가는 패킷을 허용하는 **NAT(Network Address Translation)** 규칙이 필요합니다.

`Firewall > NAT > Outbound` 메뉴로 이동합니다.

![image](https://blog.pieroot.xyz/api/image-proxy?id=42973cbe-0656-4dd2-a7af-306a75a9aafc&kind=s3&pageId=20f067c0-15d0-80f9-98a0-cd882820b88f&source=block&blockId=20f067c0-15d0-8033-908f-e7c87c469d86)

기본 설정은 `Automatic outbound NAT`로, 모든 내부 트래픽이 기본 게이트웨이(WAN)를 통해 밖으로 나갈 수 있게 해줍니다. 하지만 저희는 여러 개의 WAN/LAN 쌍을 각각 독립적으로 운영하고 싶었습니다.

![image](https://blog.pieroot.xyz/api/image-proxy?id=c90965f5-9efd-4878-9ee2-f0570762d8c5&kind=s3&pageId=20f067c0-15d0-80f9-98a0-cd882820b88f&source=block&blockId=20f067c0-15d0-8086-83b7-eea56c735546)

![image](https://blog.pieroot.xyz/api/image-proxy?id=7a9c18f8-b52f-4c3e-a517-17b95db7143d&kind=s3&pageId=20f067c0-15d0-80f9-98a0-cd882820b88f&source=block&blockId=20f067c0-15d0-805d-9bbe-d3d95858126e)

이를 위해 `Manual Outbound NAT rule generation`을 선택했습니다. 이 모드에서는 각 LAN 대역의 트래픽이 지정된 WAN 인터페이스를 통해서만 나가도록 수동으로 규칙을 설정할 수 있습니다.

![image](https://blog.pieroot.xyz/api/image-proxy?id=b7848320-f128-4a1f-924b-1972e493132b&kind=s3&pageId=20f067c0-15d0-80f9-98a0-cd882820b88f&source=block&blockId=20f067c0-15d0-8016-90a9-f038af6359ac)

예를 들어, `LAN1 (172.30.0.0/16)` 대역의 트래픽은 `WAN1`으로만, `LAN2 (10.100.100.0/24)` 대역은 `WAN2`로만 나가도록 규칙을 명확하게 정의할 수 있습니다.

![image](https://blog.pieroot.xyz/api/image-proxy?id=69af7f04-86a7-432a-a7a0-fca1a685d320&kind=s3&pageId=20f067c0-15d0-80f9-98a0-cd882820b88f&source=block&blockId=20f067c0-15d0-8097-a6ed-fd1ed2c32b91)

위와 같이 설정을 완료하면 NAT 구성이 마무리됩니다.

### 포트포워딩

---

외부에서 특정 서비스(예: 웹 서버, SSH)에 접속하려면 **포트 포워딩**이 필요합니다. 외부 IP의 특정 포트로 들어온 요청을 내부 서버의 IP와 포트로 전달해주는 기능입니다.

`Firewall > NAT > Port Forward` 메뉴에서 규칙을 추가합니다.

- **Interface**: 요청이 들어올 외부 인터페이스(`WAN`)를 선택합니다.

- **Protocol**: `TCP/UDP` 등 서비스에 맞는 프로토콜을 선택합니다.

- **Destination port range**: 외부에서 접속할 포트 번호입니다.

- **Redirect target IP**: 실제로 서비스를 운영하는 내부 서버의 IP 주소입니다.

- **Redirect target port**: 내부 서버의 서비스 포트 번호입니다.

이 규칙을 통해 외부에서 `(pfSense 공인 IP):(외부 포트)`로 접속하면, pfSense가 알아서 `(내부 서버 IP):(내부 포트)`로 연결해줍니다.

![image](https://blog.pieroot.xyz/api/image-proxy?id=3f75a486-b00b-4d99-b0f9-57984df31f6c&kind=s3&pageId=20f067c0-15d0-80f9-98a0-cd882820b88f&source=block&blockId=20f067c0-15d0-80f3-8346-c7b948086354)

위는 우리 연구실의 임시 포트포워딩 규칙입니다.

여기서 중요한 점은 interface가 외부 NIC가 아닌 interface group으로 묶은 interface라는 것입니다.

interface 그룹으로 묶어야 내부에서 공인망(pfSense)으로 접근하더라도 내부로 포트포워딩이 되어, 내부에서 호스팅 중인 웹서비스에 정상적으로 연결할 수 있습니다.

### DHCP

---

`Services > DHCP Server` 메뉴에서 각 LAN 인터페이스별로 DHCP 서버를 활성화할 수 있습니다.

![image](https://blog.pieroot.xyz/api/image-proxy?id=e7be1594-a1f2-4925-821b-ece5c9074dda&kind=s3&pageId=20f067c0-15d0-80f9-98a0-cd882820b88f&source=block&blockId=20f067c0-15d0-80b3-80f3-c8a7f813c0a9)

`LAN1` 인터페이스를 선택하고 DHCP 서버를 활성화합니다. 내부 장치들이 자동으로 IP를 할당받을 대역(Range)을 지정하고, Gateway는 pfSense의 LAN IP(`172.30.0.1`)로 설정해 주면, 해당 네트워크에 연결된 장치들은 바로 인터넷 사용이 가능해집니다.

![image](https://blog.pieroot.xyz/api/image-proxy?id=9eae5063-269a-4f47-aff2-cf182155b89f&kind=s3&pageId=20f067c0-15d0-80f9-98a0-cd882820b88f&source=block&blockId=20f067c0-15d0-80b8-be2c-f25900ce7d21)

LAN2는 LAN1과 다른 네트워크 ID를 가져야 합니다. pfSense에서는 각 인터페이스가 동일한 네트워크 서브넷을 가질 수 없습니다. 또한, 여러 개의 WAN NIC도 각각 다른 네트워크 서브넷을 가져야 합니다.

pfSense 방화벽 설정을 완료한 후 네트워크 성능을 모니터링하고 필요에 따라 방화벽 규칙을 조정하는 것이 중요합니다. 특히 처음 설정 후에는 불필요한 포트가 열려있지는 않은지, 트래픽이 의도한 대로 흐르고 있는지 주기적으로 확인하는 것이 좋습니다. 또한 pfSense의 대시보드에서 제공하는 트래픽 그래프와 로그를 통해 네트워크 상태를 실시간으로 모니터링할 수 있습니다.

## 끝

이상으로 pfSense를 이용한 연구실 네트워크 구축 과정을 살펴보았습니다. 오픈소스 방화벽/라우터 솔루션인 pfSense는 상용 장비 못지않은 성능과 기능을 제공하면서도 훨씬 유연한 설정이 가능하다는 장점이 있습니다.

우리 연구실처럼 OpenStack 같은 복잡한 시스템을 운영하는 환경에서는 네트워크 인프라의 안정성과 보안이 매우 중요합니다. pfSense를 통해 네트워크 분리, 접근 제어, 트래픽 관리를 효과적으로 구현할 수 있었고, 이를 통해 더 안전하고 효율적인 연구 환경을 구축할 수 있었습니다.

다음 포스팅에서는 이 네트워크 인프라 위에 구축한 OpenStack 환경 설정에 대해 자세히 다루도록 하겠습니다.
