13년차의 서버실

서버, 인프라, 홈랩 기술 블로그

[태그:] pfSense

  • [HomeLabs] OPNsense 방화벽 1년 사용 후기: 장점, 단점, 마이그레이션 가이드

    [HomeLabs] OPNsense 방화벽 1년 사용 후기: 장점, 단점, 마이그레이션 가이드

    [네트워크 보안] OPNsense 방화벽 1년 사용 후기: 장점, 단점, 마이그레이션 고민

    안녕하세요, 13년차 서버실을 지키고 있는 인프라 엔지니어입니다. 홈랩을 운영하면서 가장 중요하게 생각하는 부분 중 하나가 바로 네트워크 보안인데요. 오늘은 제가 지난 1년간 홈랩의 최전방에서 수많은 패킷들을 검사하고 필터링해 준 OPNsense(오피엔센스) 방화벽 사용 후기를 솔직하게 풀어보려고 합니다. 처음엔 이게 뭔가 싶었는데, 막상 써보니까 정말 매력적인 친구더라고요. 물론 삽질도 좀 했습니다만, 그 경험들이 여러분께 작은 팁이라도 되기를 바랍니다. 💡

    홈랩 네트워크 중앙에서 OPNsense 방화벽이 인터넷과 내부 네트워크를 보호하는 아키텍처 다이어그램

    OPNsense가 홈랩 네트워크의 중앙에서 인터넷과 내부 네트워크를 연결하고 보호하는 모습을 보여주는 다이어그램입니다.

    OPNsense, 정확히 뭘까요?

    혹시 pfSense(피에프센스)라고 들어보셨나요? OPNsense는 바로 이 pfSense에서 포크(fork)된 오픈소스 방화벽 프로젝트입니다. FreeBSD 운영체제를 기반으로 하고 있어서 안정성과 성능이 뛰어나죠. 쉽게 말해, 여러분의 오래된 PC나 저전력 미니 PC에 설치해서 강력한 네트워크 방화벽, 라우터, VPN 서버 등으로 활용할 수 있는 솔루션이거든요.

    주요 기능들을 살펴보면:

    • Stateful Firewall (스테이트풀 방화벽): 연결 상태를 기억하여 더 정교한 트래픽 제어
    • VPN (Virtual Private Network): OpenVPN, WireGuard 등 다양한 VPN 프로토콜 지원으로 안전한 원격 접속
    • IDS/IPS (Intrusion Detection System / Intrusion Prevention System): Suricata(슈리카타) 등을 활용하여 실시간으로 악성 트래픽을 탐지하고 차단
    • Proxy (프록시): 웹 캐싱, 콘텐츠 필터링 등 다양한 프록시 기능
    • Captive Portal (캡티브 포털): 공용 와이파이처럼 인증 후 인터넷 사용을 허용하는 기능

    이런 기능들을 웹 기반의 직관적인 GUI(Graphical User Interface, 그래픽 사용자 인터페이스)로 쉽게 설정할 수 있어서 정말 편하더라고요.

    1년 사용, 이래서 좋았습니다 (장점) 🎉

    제가 OPNsense를 1년 동안 사용하면서 가장 만족했던 부분들을 이야기해볼게요.

    1. 강력한 기능과 확장성

    오픈소스라고 해서 기능이 부족할 거라는 편견은 넣어두세요. Suricata 같은 강력한 IDS/IPS 엔진을 내장하고 있어서, 제 홈랩으로 들어오고 나가는 모든 트래픽을 실시간으로 감시하고 의심스러운 활동을 차단해 줍니다. 실제로 몇 번의 웹 공격 시도를 미리 막아내는 걸 보고는 ‘이거 진짜 물건이네!’ 싶었어요. OpenVPN과 WireGuard 지원 덕분에 외부에서도 안전하게 홈랩 네트워크에 접속할 수 있었고, 다양한 플러그인(Plugins)을 통해 기능을 확장할 수 있는 점도 매력적이었습니다.

    2. 직관적인 웹 GUI

    사실 저는 CLI(Command Line Interface, 명령줄 인터페이스)에 익숙한 엔지니어지만, OPNsense의 웹 GUI는 정말 편하더라고요. 복잡한 방화벽 룰(Rule) 설정부터 VPN 터널 관리, 시스템 모니터링까지 모든 걸 웹 브라우저에서 몇 번의 클릭만으로 할 수 있어요. 덕분에 설정에 할애하는 시간을 줄이고, 다른 실험에 더 집중할 수 있었죠. 😉

    OPNsense 방화벽의 웹 기반 GUI 대시보드 화면

    OPNsense의 웹 GUI 대시보드 화면입니다. 시스템 상태와 트래픽 현황을 한눈에 파악할 수 있죠.

    3. 활발한 커뮤니티와 문서화

    오픈소스 프로젝트는 커뮤니티가 생명이라고 생각합니다. OPNsense는 포럼도 활발하고, 공식 문서도 잘 정리되어 있어서 문제가 생겼을 때 정보를 찾기 수월했어요. 물론 모든 케이스에 대한 명확한 답변이 있진 않지만, 대부분의 일반적인 문제는 커뮤니티의 도움으로 쉽게 해결할 수 있었습니다.

    솔직히 아쉬웠던 점들 (단점 및 삽질 경험) ⚠️

    모든 것이 완벽할 수는 없죠. 1년 동안 OPNsense를 사용하면서 아쉬웠던 점들과 제가 직접 겪었던 삽질 경험들을 공유합니다.

    1. 하드웨어 요구사항, 생각보다 높은 편

    IDS/IPS나 VPN처럼 CPU 자원을 많이 사용하는 기능을 활성화하면, 저사양 하드웨어에서는 성능 병목(Bottleneck) 현상이 쉽게 발생합니다. 저도 처음엔 펜티엄 J 시리즈 같은 저전력 시스템에 OPNsense를 설치했다가 Suricata 룰셋 몇 개만 켜도 CPU 사용률이 90%를 넘나들어서 당황했던 기억이 있네요. 🚨 특히 패킷 검사가 많은 환경에서는 더합니다. 넉넉한 CPU와 RAM(메모리)을 가진 시스템에 설치하는 것이 정신 건강에 이롭습니다. 개인적인 경험으로는 최소 Intel Core i3급 이상, 4GB 이상의 RAM을 권장드립니다.

    2. 업데이트 후 예기치 않은 문제 발생

    오픈소스 소프트웨어의 업데이트는 새로운 기능과 보안 패치를 가져다주지만, 가끔은 예기치 않은 문제를 발생시키기도 합니다. 한번은 마이너 업데이트 후에 특정 VPN 터널이 제대로 연결되지 않아서 밤새 로그를 뒤졌던 적도 있어요. 결국 롤백(Rollback)하고 다음 업데이트를 기다렸죠. 😭

    이럴 때 유용한 CLI(Command Line Interface) 명령어가 있습니다. OPNsense 셸에서 다음 명령어를 사용해 특정 버전으로 롤백하거나, 업데이트 상태를 확인할 수 있어요.

    # 현재 OPNsense 버전 확인
    opnsense-update -v
    
    # 업데이트 가능한 패키지 미리 확인 (실제 업데이트는 하지 않음)
    pkg update
    pkg upgrade -n
    
    # 전체 시스템 업데이트 실행
    opnsense-update
    
    # 특정 버전으로 롤백 (예: 23.7.10 버전으로 롤백)
    # 롤백 전에 반드시 백업을 해두는 것이 좋습니다.
    opnsense-update -r 23.7.10
    

    업데이트 후 문제가 발생하면 /var/log/system.log 파일을 확인하거나, top -aSH 명령으로 CPU 사용률이 비정상적으로 높은 프로세스가 있는지 확인하는 것이 좋습니다.

    OPNsense Suricata IDS/IPS 위협 탐지 및 차단 로그 화면

    OPNsense의 Suricata IDS/IPS가 잠재적 위협을 탐지하고 차단하는 로그 화면 예시입니다.

    OPNsense 마이그레이션, 해야 할까요? (결론/추천)

    1년 동안 OPNsense와 함께 울고 웃었던 시간들이었습니다. 강력한 기능과 유연성 덕분에 홈랩 네트워크를 원하는 대로 구성할 수 있었죠. 하지만 최근에는 ‘좀 더 안정적이거나, 상용 솔루션처럼 간편한 건 없을까?’ 하는 생각과 함께 마이그레이션(Migration)을 진지하게 고민하고 있습니다. 더 강력한 하드웨어로 교체하는 것뿐만 아니라, Sophos Home(소포스 홈), Fortigate VM(포티게이트 VM) 같은 다른 솔루션으로의 전환도 염두에 두고 있어요.

    그렇다면 언제 OPNsense를 유지하고, 언제 마이그레이션을 고려해야 할까요? 제가 경험한 바를 바탕으로 간단한 비교표를 만들어봤습니다.

    기준 OPNsense 유지 추천 마이그레이션 고려 추천
    비용 (Cost) 저렴한 하드웨어 재활용 또는 소액 투자로 강력한 기능 필요 시 상용 솔루션의 라이선스 비용을 감당할 수 있을 때
    기능 (Features) 오픈소스의 유연한 기능 확장 및 커스터마이징이 중요할 때 특정 벤더의 독점 기능이나 통합 솔루션이 필요할 때
    관리 편의성 (Management) DIY 및 자체 트러블슈팅에 익숙하고 시간 투자가 가능할 때 전문적인 기술 지원과 간편한 관리 인터페이스가 중요할 때
    성능 요구사항 (Performance) 중소규모 홈랩 또는 일반적인 네트워크 트래픽 처리 대규모 네트워크, 높은 처리량, 다수의 VPN 연결 등 고성능 요구 시
    안정성 (Stability) 커뮤니티 기반의 정보와 자체 검증을 선호할 때 기업 수준의 검증된 안정성과 벤더 지원이 필수적일 때

    결론적으로 말씀드리면, 순수하게 오픈소스 솔루션의 자유도와 강력한 기능을 홈랩에서 저렴하게 구축하고 싶다면 OPNsense는 여전히 매력적인 선택지입니다. 웬만한 네트워크 요구사항은 충분히 커버하고도 남죠. 하지만 복잡한 환경에서 상용 솔루션에 준하는 안정성과 전문적인 지원이 필요하거나, 강력한 성능을 요구하는 대규모 네트워크를 운영할 계획이라면 마이그레이션을 진지하게 검토해볼 시점이라고 생각합니다. 저도 아직 고민 중이지만, 다음 단계에 대해서는 꾸준히 실험하고 또 공유해 드릴 예정입니다.

    OPNsense, pfSense, Sophos Home 방화벽 솔루션 비교 인포그래픽

    OPNsense와 pfSense, Sophos Home 등 다른 방화벽 솔루션의 주요 특징을 비교하는 인포그래픽입니다.

    마무리하며

    13년차 인프라 엔지니어로서 OPNsense와의 1년은 저에게 많은 것을 알려주었습니다. 홈랩을 운영하면서 마주하는 수많은 문제들을 직접 해결하고, 새로운 기술을 실험하며 성장하는 과정은 언제나 즐겁거든요. OPNsense는 그런 여정에 훌륭한 동반자였습니다. 다음 글에서는 마이그레이션을 결정하게 된다면 그 과정이나, 다른 방화벽 솔루션을 직접 설치하고 테스트해본 후기를 들려드릴 수 있을 것 같네요. 긴 글 읽어주셔서 감사합니다! 궁금한 점이 있다면 언제든지 댓글로 남겨주세요. 제가 아는 선에서 최대한 도움을 드리겠습니다. 😊

  • [HomeLabs] 홈랩 고급 라우터/방화벽 선택: pfSense, OPNsense, MikroTik 비교 분석

    [HomeLabs] 홈랩 고급 라우터/방화벽 선택: pfSense, OPNsense, MikroTik 비교 분석

    홈랩 고급 라우터/방화벽 선택: pfSense, OPNsense, MikroTik 비교 분석

    안녕하세요, 13년차 인프라 엔지니어입니다. 오늘은 많은 홈랩 운영자분들이 한 번쯤 고민했을 법한 주제, 바로 고급 라우터/방화벽 선택에 대해 이야기해보려고 합니다. 저도 처음 홈랩을 꾸릴 때는 통신사에서 제공하는 기본 공유기로 버티다가, VLAN(Virtual Local Area Network), VPN(Virtual Private Network), IDS/IPS(Intrusion Detection/Prevention System) 같은 고급 기능들에 눈이 돌아가면서 본격적으로 장비 업그레이드를 고민했거든요.

    기존 공유기들의 펌웨어는 기능이 제한적이고, 내가 원하는 대로 네트워크를 세밀하게 제어하기가 쉽지 않습니다. 특히 보안에 신경 쓰기 시작하면 ‘아, 이건 안 되겠다!’ 싶은 순간이 오죠. 그래서 오늘은 홈랩 환경에서 강력한 네트워크 제어와 보안 기능을 제공하는 대표적인 세 가지 솔루션, pfSense, OPNsense, 그리고 MikroTik에 대해 제 경험을 바탕으로 솔직하게 분석해보겠습니다.

    홈랩 네트워크 구성도: 인터넷, 라우터/방화벽, 내부 네트워크(PC, 서버, IoT) 연결

    홈랩 환경에서 고급 라우터/방화벽이 인터넷과 내부 네트워크 사이에서 핵심적인 역할을 하는 모습을 시각화한 다이어그램입니다.

    네트워크의 심장, 고급 라우터/방화벽은 왜 필요할까요?

    쉽게 말해, 고급 라우터/방화벽은 우리 집 네트워크의 심장이자 경비원 역할을 합니다. 단순히 인터넷 연결을 나눠주는 것을 넘어, 외부의 위협으로부터 내부 네트워크를 보호하고, 내부 트래픽을 효율적으로 관리하며, 필요한 서비스만 접근을 허용하는 등 다양한 기능을 수행하죠.

    • 강력한 보안: IDS/IPS를 통해 악성 트래픽을 탐지하고 차단합니다.
    • 세밀한 제어: VLAN을 이용해 IoT 기기, 게스트 네트워크, 서버 네트워크 등을 분리하여 보안과 관리를 용이하게 합니다.
    • 원격 접속: VPN 서버를 구축하여 외부에서도 안전하게 홈랩에 접속할 수 있어요.
    • 트래픽 관리: QoS(Quality of Service)를 통해 특정 서비스나 기기에 네트워크 우선순위를 부여할 수 있습니다.

    이런 기능들은 일반 공유기에서는 찾아보기 어렵거나, 있더라도 매우 제한적인 경우가 대부분이에요. 그래서 저 같은 인프라 엔지니어들이 홈랩에서 직접 이런 솔루션들을 써보면서 공부하고, 실제 환경에도 적용해보는 거죠. 그럼 이제 각 솔루션에 대해 자세히 살펴보겠습니다.

    pfSense: 안정성의 대명사, 오랫동안 검증된 강자

    pfSense는 FreeBSD 기반의 오픈소스 방화벽/라우터 소프트웨어로, 오랜 역사와 방대한 사용자 커뮤니티를 자랑합니다. 안정성(Stability)과 기능의 풍부함(Feature-rich)이 가장 큰 장점이에요. 제가 처음 홈랩에 고급 라우터를 도입할 때 가장 먼저 고려했던 것도 pfSense였습니다. 워낙 유명하고 자료가 많아서 삽질하더라도 해결책을 찾기 쉬울 것 같았거든요.

    제가 겪은 pfSense 경험

    • 장점: 웹 UI(User Interface)가 직관적이라 처음 접하는 분들도 비교적 쉽게 접근할 수 있어요. 수많은 패키지(Squid Proxy, Snort, OpenVPN 등)를 추가해서 기능을 확장하는 재미가 쏠쏠했습니다. 특히 HA(High Availability) 구성이 용이해서 중요한 서비스에 대한 안정성을 확보하기 좋았습니다.
    • 단점: 하드웨어 호환성(Hardware Compatibility)을 좀 가립니다. 특히 네트워크 카드(NIC)는 Intel 칩셋을 선호하는 경향이 있어서, 저렴한 리얼텍(Realtek) NIC가 달린 미니 PC를 썼다가 성능 문제로 애 좀 먹었어요. 결국 Intel NIC가 달린 장비로 교체했는데, 그때 ‘아, 역시 검증된 하드웨어가 최고구나’ 싶었죠.

    pfSense는 주로 웹 UI를 통해 설정하지만, 콘솔에서도 기본적인 네트워크 설정이 가능해요. 예를 들어, 특정 패키지를 설치하거나 업데이트할 때 다음과 같은 명령어를 사용할 수 있습니다 (물론 웹 UI에서 더 편합니다).

    
    pkg update
    pkg upgrade
    pkg install nmap # 예시: nmap 설치
    

    OPNsense: 현대적인 감각의 보안 특화 라우터

    OPNsense는 pfSense에서 포크(Fork)되어 나온 프로젝트로, 현대적인 UI(Modern UI)와 보안(Security)에 더 중점을 둔 것이 특징입니다. pfSense와 기반은 비슷하지만, 개발 방향이 좀 더 민첩하고 새로운 기술 도입에 적극적이에요. 제가 pfSense를 한동안 쓰다가 OPNsense로 갈아타봤는데, UI가 훨씬 세련되고 반응성이 좋아서 정말 만족스러웠습니다.

    제가 겪은 OPNsense 경험

    • 장점: 웹 UI가 정말 깔끔하고 직관적이에요. HardenedBSD 기반이라 보안에 대한 신뢰도도 높고요. 특히 REST API를 지원해서 자동화에 관심 있는 분들에게는 큰 매력으로 다가올 겁니다. Suricata와 같은 IDS/IPS 기능도 기본적으로 강력하게 제공되더라고요.
    • 단점: 아무래도 pfSense보다는 커뮤니티(Community) 규모가 작은 편입니다. 그래서 특정 문제에 대한 해결책을 찾기가 조금 더 어려울 때도 있었어요. 그리고 pfSense와 마찬가지로 하드웨어 호환성을 고려해야 합니다.

    OPNsense는 설치 후 웹 UI를 통해 대부분의 설정을 진행합니다. 방화벽 규칙 설정 화면은 다음과 같은 느낌으로 구성되어 있죠.

    pfSense/OPNsense 웹 UI 방화벽 규칙 설정 화면 예시

    pfSense 또는 OPNsense의 웹 UI에서 방화벽 규칙(Firewall Rules)을 설정하는 화면의 예시입니다.

    MikroTik: 강력한 CLI의 마스터, 하드웨어와 소프트웨어의 조화

    MikroTik은 라트비아의 네트워크 장비 제조사로, 자체 개발한 RouterOS라는 운영체제를 탑재한 RouterBOARD

    제가 겪은 MikroTik 경험

    • 장점: 압도적인 CLI(Command Line Interface) 기능과 RouterOS의 강력함은 정말 최고예요. 복잡한 라우팅 프로토콜(BGP, OSPF)부터 VPN, 무선 AP 관리(CapMan)까지 안 되는 게 없을 정도입니다. 가격 대비 성능도 뛰어나고, PoE(Power over Ethernet) 지원 장비도 많아서 홈랩에서 깔끔하게 네트워크를 구성하기 좋았어요.
    • 단점: 높은 학습 곡선(Steep Learning Curve)이 가장 큰 진입 장벽입니다. 특히 CLI 기반 설정은 처음에는 멘붕이 올 수 있어요. WinBox라는 GUI 툴도 제공하지만, 진정한 MikroTik의 힘은 CLI에서 나옵니다. 저도 처음에는 ‘이걸 내가 쓸 수 있을까?’ 싶었는데, 삽질 좀 하면서 매뉴얼을 찾아보고 예제들을 따라 하다 보니 어느새 CLI로 척척 설정하고 있는 저를 발견했죠. 😅

    MikroTik RouterOS CLI는 정말 강력해요. 간단한 방화벽 규칙 하나를 추가하는 것도 CLI로 이렇게 할 수 있습니다.

    
    /ip firewall filter
    add chain=forward action=drop src-address=192.168.1.100 protocol=tcp dst-port=80 comment="Block specific internal host from accessing port 80"
    

    위 명령어는 `192.168.1.100` IP를 가진 내부 호스트가 외부의 80번 포트(HTTP)로 나가는 트래픽을 차단하는 방화벽 규칙을 `forward` 체인에 추가하는 예시입니다. 이렇게 세밀한 제어가 CLI로 가능하니, 익숙해지면 웹 UI보다 훨씬 빠르게 설정할 수 있어요.

    홈랩 고급 라우터/방화벽 비교 및 선택 가이드

    자, 이제 세 가지 솔루션의 장단점과 제 경험을 바탕으로 여러분이 어떤 선택을 해야 할지 정리해볼 시간입니다. 홈랩 환경은 개인마다 요구사항이 다르기 때문에, ‘어떤 것이 최고다!’라고 단정하기는 어렵습니다. 대신 여러분의 상황에 맞는 최적의 선택을 할 수 있도록 비교표와 함께 가이드를 드릴게요.

    특성 pfSense OPNsense MikroTik
    기반 FreeBSD (소프트웨어) HardenedBSD (소프트웨어) RouterOS (전용 OS/하드웨어)
    UI/CLI 웹 UI 중심, 콘솔 CLI 지원 현대적 웹 UI 중심, REST API, 콘솔 CLI 지원 WinBox GUI, 강력한 CLI 중심, WebFig GUI
    학습 곡선 중간 (웹 UI 익숙하면 쉬움) 중간 (웹 UI 익숙하면 쉬움) 높음 (CLI 마스터 필요)
    하드웨어 범용 x86 (Intel NIC 선호) 범용 x86 (Intel NIC 선호) 전용 RouterBOARD 하드웨어
    주요 강점 안정성, 방대한 커뮤니티, 기능 확장성 현대적 UI, 보안 강화, 빠른 업데이트, API 강력한 라우팅/CLI, 가격 대비 성능, 다양한 하드웨어
    가격대 하드웨어 비용 (중저가 미니PC ~ 고가 서버) 하드웨어 비용 (중저가 미니PC ~ 고가 서버) 하드웨어 일체형 (저가 ~ 중고가)
    pfSense, OPNsense, MikroTik 고급 라우터/방화벽 비교 인포그래픽

    pfSense, OPNsense, MikroTik의 주요 특징과 장단점을 한눈에 비교할 수 있는 시각적 요약입니다.

    주의사항 및 삽질 경험 공유 ⚠️

    홈랩에서 이런 고급 장비들을 다루다 보면 예상치 못한 문제에 부딪히기 마련입니다. 저도 수많은 삽질을 거쳤는데요, 몇 가지 중요한 주의사항과 제 경험을 공유해 드릴게요.

    1. 하드웨어 호환성: pfSense나 OPNsense를 설치할 때는 반드시 Intel 기반 네트워크 카드를 사용하는 것을 추천합니다. 저도 처음에는 저렴한 Realtek 칩셋 NIC가 달린 미니 PC를 썼다가, 점보 프레임(Jumbo Frame) 설정이나 특정 상황에서 패킷 손실이 발생하는 등 알 수 없는 문제로 고생했어요. 결국 Intel I210/I211 칩셋이 달린 장비로 바꾼 뒤에야 문제가 해결되더라고요. 네트워크 성능은 NIC에서 시작된다는 걸 뼈저리게 느꼈습니다.
    2. 백업의 중요성: 펌웨어 업데이트나 설정 변경 전에는 항상 백업하세요! 특히 MikroTik은 CLI로 설정하다가 실수로 `export compact` 명령어 한 번 잘못 치면 전체 설정이 날아갈 수도 있습니다. pfSense/OPNsense도 마찬가지로 설정 파일을 주기적으로 백업해야 해요. ‘설마’ 하는 순간 ‘역시나’가 되는 경험을 하고 싶지 않다면 말이죠.
    3. MikroTik의 학습 곡선: 앞에서 말씀드렸지만, MikroTik은 정말 강력한 도구지만, 그만큼 배우는 데 시간이 걸립니다. 처음에는 WinBox로 간단한 설정만 하다가, 나중에는 CLI 매뉴얼을 옆에 끼고 살았어요. 하지만 한 번 익숙해지면 다른 어떤 장비보다 빠르게 원하는 설정을 할 수 있게 되니, 투자를 아끼지 마세요!

    설정 검증 및 결과 확인 ✅

    라우터/방화벽 설정을 마쳤다면, 제대로 작동하는지 반드시 확인해야 해요. 제가 주로 사용하는 방법들을 알려드릴게요.

    1. 네트워크 연결 확인: 가장 기본적이지만 필수적입니다. 설정한 VLAN 간 통신이 되는지, 외부 인터넷 연결은 잘 되는지 확인하세요. 특정 IP나 도메인으로 `ping`을 날려보거나, `traceroute` 명령어로 경로를 확인해보세요.
    
    ping -c 4 google.com # 구글로 4번 핑 테스트
    traceroute 8.8.8.8    # 구글 DNS 서버까지 경로 추적
    
    1. 방화벽 규칙 테스트: 설정한 방화벽 규칙이 제대로 트래픽을 차단하거나 허용하는지 테스트해야 해요. 예를 들어, 특정 포트를 막았다면 해당 포트로 접속을 시도해서 차단되는지 확인하고, 열어두었다면 접속이 되는지 확인하는 거죠.
    2. 로그 확인: pfSense/OPNsense의 경우 `Status -> System Logs -> Firewall` 메뉴에서 방화벽 로그를 확인할 수 있습니다. MikroTik은 `Log` 메뉴에서 다양한 시스템 로그를 볼 수 있어요. 차단된 트래픽이나 의심스러운 활동이 있는지 주기적으로 확인하는 습관을 들이세요.
    3. 성능 모니터링: CPU 사용량, 메모리 사용량, 네트워크 트래픽 등을 모니터링하여 장비가 과부하 상태에 있는지 확인합니다. pfSense/OPNsense는 대시보드에서, MikroTik은 `Tools -> Torch`나 `Graphing` 메뉴에서 확인할 수 있어요. 특정 값이 임계치를 넘으면 병목 현상이 발생하고 있다는 신호일 수 있으니, 설정을 최적화하거나 하드웨어 업그레이드를 고려해야 합니다.
    홈랩 라우터/방화벽의 실시간 네트워크 트래픽 및 시스템 모니터링 대시보드

    라우터/방화벽의 실시간 트래픽, CPU, 메모리 사용량 등을 보여주는 모니터링 대시보드입니다.

    마무리: 당신의 홈랩에 맞는 최적의 선택은? 🎉

    자, 오늘은 홈랩 고급 라우터/방화벽의 대표 주자인 pfSense, OPNsense, MikroTik에 대해 제 경험과 함께 자세히 알아봤습니다. 각 솔루션마다 명확한 장단점이 있기 때문에, 여러분의 홈랩 환경과 네트워크 지식 수준, 그리고 예산에 따라 최적의 선택은 달라질 수 있습니다.

    • 나는 안정성과 넓은 커뮤니티, 그리고 익숙한 웹 UI가 최우선이다! → pfSense를 추천합니다. 처음 고급 방화벽을 접하는 분들도 비교적 쉽게 시작할 수 있을 거예요.
    • 나는 현대적인 UI와 최신 보안 기능, 그리고 API 연동에 관심이 많다! → OPNsense가 좋은 선택이 될 겁니다. pfSense의 강력한 대안으로 떠오르고 있는 솔루션이죠.
    • 나는 강력한 CLI 기반의 세밀한 제어와 하드웨어/소프트웨어 통합 솔루션을 원한다! → MikroTik에 도전해보세요. 높은 학습 곡선을 넘어서면 정말 강력한 나만의 네트워크를 구축할 수 있을 겁니다.

    어떤 솔루션을 선택하든, 중요한 것은 직접 설치하고 설정해보면서 배우는 경험이라고 생각해요. 저도 수많은 삽질을 통해 지금의 지식을 쌓았거든요. 여러분의 홈랩도 이 글을 통해 한층 더 강력하고 안전해지기를 바랍니다.

    다음 글에서는 이 라우터/방화벽을 활용한 고급 VPN 구축기에 대해 자세히 다뤄볼 예정이니, 많은 기대 부탁드립니다!

  • [HomeLabs] 오픈소스 방화벽/라우터 구축: pfSense vs OPNsense 비교 및 설치 가이드

    [HomeLabs] 오픈소스 방화벽/라우터 구축: pfSense vs OPNsense 비교 및 설치 가이드

    안녕하세요, 13년차 서버실 지킴이입니다. 오늘은 홈 네트워크 보안과 성능을 한 단계 끌어올릴 수 있는 아주 흥미로운 주제, 바로 오픈소스 방화벽/라우터 구축에 대해 이야기해볼게요. 여러분의 집 네트워크, 혹시 아직도 통신사에서 제공하는 공유기에만 의존하고 계신가요?

    사실 저도 처음엔 ISP(Internet Service Provider) 공유기로 충분하다고 생각했었거든요. 하지만 홈랩(Homelab)을 꾸리고, VPN(Virtual Private Network) 서버도 돌리고, IoT(Internet of Things) 기기들을 분리 관리하고 싶어지면서 홈 네트워크에 대한 갈증이 생기더라고요. 기본적인 NAT(Network Address Translation) 기능만으로는 한계가 명확했거든요.

    이런 고민을 하던 중, 우연히 pfSense와 OPNsense라는 오픈소스 방화벽 솔루션을 접하게 됐어요. 처음엔 “이걸 어떻게 설치하고 관리하지?” 막막했지만, 직접 써보니 기업용 방화벽 못지않은 강력한 기능과 유연성에 깜짝 놀랐습니다. 오늘 이 글에서는 저의 삽질 경험을 바탕으로, 이 두 가지 솔루션을 비교하고 홈 네트워크를 구축하는 과정을 자세히 알려드릴게요. 여러분도 저처럼 진정한 네트워크의 주인이 될 수 있습니다! 🎉

    오픈소스 방화벽을 활용한 홈 네트워크 구성도입니다. 기존 공유기 대신 pfSense/OPNsense가 메인 라우터 역할을 하는 모습을 시각적으로 보여줍니다.

    pfSense와 OPNsense: 오픈소스 방화벽이란?

    pfSense와 OPNsense는 모두 FreeBSD 운영체제를 기반으로 하는 오픈소스 방화벽 및 라우터 소프트웨어거든요. 쉽게 말해, 일반적인 PC나 소형 서버에 이 소프트웨어를 설치하면 강력한 기능을 가진 전용 방화벽 장비로 변신하는 겁니다. 복잡한 홈 네트워크 환경을 구축하거나, 보안을 강화하고 싶을 때 아주 유용해요.

    💡 왜 오픈소스 방화벽을 사용할까요?

    • 비용 효율성 (Cost-Effectiveness): 고가의 상용 방화벽 장비 없이, 기존에 사용하지 않던 PC나 저전력 미니 PC를 활용할 수 있습니다.
    • 강력한 기능 (Powerful Features): 기본적인 방화벽, 라우팅 기능은 물론이고 VPN 서버/클라이언트, VLAN(Virtual Local Area Network), Multi-WAN(다중 회선), IDS/IPS(침입 탐지/방지 시스템) 등 기업용 솔루션에서나 볼 수 있던 기능들을 사용할 수 있거든요.
    • 완전한 제어 (Full Control): 홈 네트워크의 트래픽 흐름을 완벽하게 이해하고 제어할 수 있습니다. 예를 들어, 특정 기기의 인터넷 사용 시간을 제한하거나, 특정 서비스의 외부 접속을 차단하는 등 세밀한 설정이 가능해요.

    그럼 이 둘은 어떤 관계일까요? 사실 OPNsense는 pfSense의 포크(Fork) 프로젝트거든요. 2014년에 pfSense 개발 방향에 대한 이견으로 인해 갈라져 나와 독립적으로 개발되고 있죠. 그래서 기본적인 기능은 비슷하지만, UI/UX나 일부 기능 구현 방식에서 차이가 있습니다.

    pfSense vs OPNsense: 어떤 것을 선택할까?

    제가 직접 두 솔루션을 모두 써본 경험을 바탕으로, 여러분의 환경과 성향에 따라 어떤 것이 더 적합할지 비교해볼게요. 사실 정답은 없고, 개인의 취향과 목적에 따라 달라질 수 있어요.

    항목 pfSense OPNsense
    개발 주체 Netgate (상업적 지원) Decisio (오픈소스 커뮤니티 중심)
    UI/UX 전통적이고 기능 중심적. 다소 올드하게 느껴질 수 있으나 익숙하면 빠름. 현대적이고 직관적인 디자인. 메뉴 구성이 깔끔하고 사용하기 편합니다.
    업데이트 주기 안정성을 중시하며 비교적 느린 편입니다. 빠르고 꾸준한 업데이트. 새로운 기능 도입에 적극적이더라고요.
    기능 오랜 역사만큼 검증된 강력한 기능들. Suricata, OpenVPN 등. pfSense의 기능을 대부분 포함하며, LibreSSL, Sensei (유료 플러그인) 등 차별점 존재.
    커뮤니티 오랜 역사를 가진 거대한 커뮤니티. 자료가 풍부해요. 성장하는 커뮤니티. 포럼 활동이 활발하고 문서화가 잘 되어 있습니다.
    성능 안정성과 성능 최적화에 강점이 있습니다. 최신 기술 적용에 적극적이며, 성능 면에서도 꾸준히 발전하고 있어요.
    개인적 의견 안정성을 최우선하거나, 이미 pfSense에 익숙하다면 추천합니다. 깔끔한 UI와 최신 기능을 선호한다면 추천. 저는 OPNsense에 더 손이 가더라고요.

    결론적으로, 저는 OPNsense의 현대적인 UI와 활발한 업데이트 주기가 마음에 들어서 홈 네트워크 구축에 OPNsense를 주로 사용하고 있습니다. 하지만 pfSense도 여전히 강력한 선택지라는 점은 분명합니다!

    실전 구현: OPNsense 설치 가이드

    자, 이제 직접 OPNsense를 설치해볼 시간입니다. pfSense 설치 과정도 크게 다르지 않으니, 이 가이드를 참고하시면 충분히 따라하실 수 있을 거예요. 저는 주로 OPNsense를 사용하니, OPNsense 기준으로 설명해드릴게요.

    ✅ 준비물

    • 하드웨어: 최소 2개의 LAN 포트(NIC, Network Interface Card)가 있는 PC 또는 미니 PC (WAN 연결용 1개, LAN 연결용 1개). 저는 저전력 J4125 기반의 미니 PC를 사용하고 있거든요.
    • USB 드라이브: 설치용 부팅 USB를 만들 때 사용합니다. (최소 8GB 이상)
    • 모니터 및 키보드: 설치 과정에서 필요합니다.
    • OPNsense ISO 이미지: OPNsense 공식 웹사이트에서 최신 버전을 다운로드합니다.
    • 부팅 USB 생성 툴: 저는 주로 Rufus를 사용하더라고요.

    단계별 설치 과정

    1. OPNsense ISO 다운로드 및 부팅 USB 생성

      공식 웹사이트에서 자신의 하드웨어 아키텍처(대부분 AMD64)에 맞는 ISO 파일을 다운로드합니다. 그리고 Rufus 같은 툴을 이용해 USB에 ISO 파일을 구워 부팅 가능한 USB를 만들어요. 이때 ‘DD Image mode’를 선택하는 것이 좋습니다.

      Rufus를 사용하여 OPNsense ISO 이미지를 USB에 굽는 화면입니다. ‘DD Image mode’ 선택 옵션을 강조합니다.

    2. 설치 미디어로 부팅

      준비된 PC에 부팅 USB를 꽂고, BIOS/UEFI 설정에서 USB로 부팅하도록 순서를 변경합니다. 부팅이 시작되면 OPNsense 로고와 함께 몇 가지 옵션이 나옵니다. 대부분의 경우 기본값인 <code>Boot Multi User를 선택하고 엔터를 누르면 돼요.

    3. 설치 마법사 (Installer) 시작

      콘솔 화면이 나타나면 installer를 입력하고 엔터를 누릅니다. 키보드 레이아웃 설정 (대부분 us.kbd) 후, Guided Installation을 선택하여 진행하면 됩니다.

      Welcome to the OPNsense installer!
      Enter 'installer' to start the installation wizard.
      # installer
      
    4. 디스크 선택 및 파티션 설정

      설치할 디스크를 선택합니다. 경고 메시지가 뜨면 Yes를 선택하여 디스크의 모든 데이터가 지워지는 것을 확인해요. 이후 기본 파티션 설정 (Auto UFS)으로 진행하는 것이 일반적입니다.

    5. 설치 완료 및 재부팅

      설치가 완료되면 USB를 제거하고 재부팅합니다. 재부팅 후 OPNsense 콘솔 화면이 나타나면 설치가 성공적으로 끝난 거예요! 🎉

    초기 네트워크 설정 및 웹 GUI 접속

    이제 설치된 OPNsense에 접속하여 기본적인 홈 네트워크 설정을 해야 합니다. 이 과정에서 삽질을 좀 했었어요. 처음엔 어떤 LAN 포트가 WAN이고 LAN인지 헷갈리더라고요. ⚠️

    1. 인터페이스 할당 (Interface Assignment)

      재부팅 후 콘솔 화면에서 1) Assign Interfaces를 선택합니다. 물리적인 네트워크 인터페이스 (예: igb0, igb1 등)를 WAN과 LAN에 할당해야 해요. 보통 첫 번째 포트가 WAN, 두 번째 포트가 LAN이 됩니다. 저는 igb0을 WAN, igb1을 LAN으로 할당했거든요. 헷갈리시면 케이블을 꽂고 뺐을 때 어떤 인터페이스의 링크 상태가 변하는지 확인해보세요.

      Available interfaces:
      igb0 (up)
      igb1 (up)
      
      Enter the WAN interface name or 'a' for auto-detection: igb0
      Enter the LAN interface name or 'a' for auto-detection: igb1
      Do you want to proceed? [y/N]: y
      
    2. LAN IP 주소 설정

      인터페이스 할당 후, 다시 메인 메뉴로 돌아와 2) Set interface IP address를 선택하고 LAN을 선택합니다. 홈 네트워크에서 사용할 사설 IP 대역 (예: 192.168.1.1/24)을 설정하면 돼요. 저는 192.168.1.1로 설정했습니다.

      Enter the new LAN IPv4 address: 192.168.1.1
      Enter the new LAN IPv4 subnet bit count: 24
      

      이후 DHCP(Dynamic Host Configuration Protocol) 서버를 활성화할지 묻는데, 당장은 N을 선택하고 웹 GUI에서 설정하는 것이 편합니다.

    3. 웹 GUI 접속

      LAN 포트에 연결된 PC에서 웹 브라우저를 열고, 방금 설정한 LAN IP 주소(예: https://192.168.1.1)로 접속하면 돼요. 초기 사용자 이름은 root, 비밀번호는 opnsense입니다. 로그인 후에는 보안을 위해 반드시 비밀번호를 변경하세요!

      OPNsense 웹 관리 인터페이스의 대시보드 초기 화면입니다. 시스템 정보와 네트워크 상태를 한눈에 볼 수 있습니다.

    ⚠️ 주의사항 및 트러블슈팅: 제가 겪었던 문제들

    제가 처음 OPNsense를 설치하고 홈 네트워크를 구축하면서 겪었던 몇 가지 문제와 해결 팁을 공유해볼게요. 여러분은 저처럼 삽질하지 마시라고요! ㅎㅎ

    • NIC 할당 오류: 처음에는 물리적인 포트와 OPNsense에서 인식하는 인터페이스(igb0, igb1 등) 매칭이 어려웠거든요. 해결책은 간단합니다. WAN 포트에만 인터넷 케이블을 연결하고 부팅한 다음, ifconfig 명령어로 어떤 인터페이스가 링크 업(link up)되었는지 확인하면 돼요. 그리고 그 인터페이스를 WAN으로 할당하면 됩니다. LAN 포트도 마찬가지고요.
    • Double NAT 문제: 기존 통신사 공유기 뒤에 OPNsense를 설치하면 Double NAT(이중 NAT)가 발생할 수 있더라고요. 이렇게 되면 외부에서 내부 네트워크로 접속하는 포트 포워딩(Port Forwarding)이 복잡해지거나, 일부 서비스에서 문제가 발생할 수 있습니다. 가능하면 통신사 공유기를 브릿지 모드(Bridge Mode)로 변경하거나, OPNsense를 통신사 모뎀 바로 뒤에 연결하여 메인 라우터로 사용하는 것이 좋아요.
    • 방화벽 규칙 (Firewall Rules): OPNsense는 기본적으로 매우 강력한 방화벽 기능을 제공합니다. 즉, 허용되지 않은 트래픽은 모두 차단하거든요. 처음에는 인터넷이 안 돼서 당황했는데, LAN to WAN 트래픽을 허용하는 기본 규칙이 제대로 적용되었는지 확인해야 합니다. 특정 포트나 서비스가 작동하지 않을 때는 Firewall > Rules에서 해당 트래픽을 허용하는 규칙을 추가해야 해요.
    • 관리자 비밀번호 변경: 초기 비밀번호(opnsense)는 반드시 변경하세요! 홈 네트워크라도 외부 공격에 노출될 수 있으니, 강력한 비밀번호를 설정하는 것이 중요합니다.

    검증 및 활용: 나만의 홈 네트워크 완성!

    이제 기본적인 설치와 설정이 끝났으니, 제대로 작동하는지 확인해볼 차례입니다. 🎉

    1. 인터넷 연결 확인: LAN에 연결된 PC에서 인터넷 접속을 시도해보세요. 웹페이지가 잘 열린다면 성공입니다!
    2. DHCP 서버 활성화: Services > DHCPv4 > [LAN] 메뉴에서 DHCP 서버를 활성화하고, IP 주소 범위(Pool)를 설정하면 홈 네트워크에 연결되는 기기들이 자동으로 IP 주소를 받아갈 수 있어요.
    3. DNS 설정: System > Settings > General에서 DNS 서버를 설정할 수 있습니다. 저는 주로 Cloudflare DNS(1.1.1.1, 1.0.0.1)나 Google DNS(8.8.8.8, 8.8.4.4)를 사용하더라고요.

    여기까지 완료하셨다면, 여러분은 이제 기본적인 라우터 겸 방화벽을 성공적으로 구축하신 거예요! 이젠 단순히 인터넷만 되는 공유기가 아니라, 여러분의 의지대로 트래픽을 제어하고 보안을 강화할 수 있는 강력한 홈 네트워크 장비를 가지게 된 겁니다.

    💡 다음 단계로 나아가기

    OPNsense는 여기서 끝이 아닙니다. 더 많은 기능들을 활용해볼 수 있어요.

    • VPN 서버 구축 (OpenVPN, WireGuard): 외부에서 홈 네트워크로 안전하게 접속할 수 있게 해줍니다.
    • VLAN 설정: IoT 기기나 게스트 네트워크를 분리하여 홈 네트워크 보안을 강화할 수 있습니다.
    • 침입 탐지/방지 시스템 (IDS/IPS): Suricata나 Zenarmor(Sensei) 플러그인을 사용하여 네트워크 위협을 실시간으로 탐지하고 차단해요.
    • Multi-WAN: 두 개 이상의 인터넷 회선을 연결하여 로드 밸런싱(Load Balancing)이나 페일오버(Failover)를 구성할 수 있습니다.

    pfSense와 OPNsense의 핵심 기능을 비교하는 인포그래픽입니다. 각 솔루션의 장점을 시각적으로 보여줍니다.

    마무리하며: 나만의 홈 네트워크, 그 시작점!

    오늘은 오픈소스 방화벽/라우터의 세계, 특히 pfSense와 OPNsense에 대해 깊이 파고들어 봤어요. 처음엔 다소 복잡하게 느껴질 수 있지만, 직접 하나하나 설정해보면서 네트워크가 어떻게 작동하는지 이해하게 되는 과정은 정말 값진 경험이거든요.

    저도 13년차 인프라 엔지니어지만, 홈 네트워크를 구축하면서 새로운 기술을 만날 때마다 여전히 설레고, 가끔은 삽질도 하면서 배우고 있습니다. 여러분도 이번 기회를 통해 나만의 홈 네트워크를 직접 구축하고, 더 안전하고 효율적인 환경을 만들어보시길 강력히 추천합니다.

    다음 글에서는 OPNsense에 VPN 서버를 구축하는 방법에 대해 좀 더 자세히 다뤄볼 예정이니 기대해주세요! 홈 네트워크의 재미는 이제 시작입니다. 궁금한 점이 있다면 언제든지 댓글로 남겨주세요. 제가 아는 선에서 성심성의껏 답변해드리겠습니다! 😊

  • [HomeLabs] pfSense/OPNsense 홈랩 방화벽 구축: 네트워크 보안 강화 완벽 가이드

    홈랩에 방화벽이 필요한 이유 — 공유기로는 부족하더라고요

    홈서버를 처음 구축했을 때 저도 그랬어요. “집에서 쓰는 건데 뭐, 공유기 방화벽이면 충분하지 않나?” 싶었거든요. 그런데 포트포워딩 몇 개 열어두고 Jellyfin이랑 Nextcloud 운영하다 보니까 생각이 바뀌었습니다. 어느 날 서버 로그를 들여다봤더니 중국, 러시아 IP에서 SSH 브루트포스 시도가 하루에도 수백 건씩 들어오고 있는 거예요. 그때부터 진지하게 홈랩 방화벽 구축을 고민하기 시작했죠.

    일반 가정용 공유기의 NAT(Network Address Translation, 네트워크 주소 변환) 기능이 기본적인 외부 접근은 막아주지만, 세밀한 트래픽 제어나 IDS/IPS(침입 탐지/방지 시스템), VPN 게이트웨이 기능 같은 건 기대하기 어렵거든요. 그래서 선택한 게 바로 pfSense와 OPNsense였습니다.

    이 글에서는 제가 직접 구축하면서 겪었던 경험을 바탕으로, 두 솔루션의 차이점부터 실제 설치·설정까지 단계별로 정리해드릴게요. 홈서버 보안을 한 단계 끌어올리고 싶으신 분들께 도움이 됐으면 합니다.

    ▲ 일반적인 홈랩 방화벽 구성 — 인터넷 → 방화벽(pfSense/OPNsense) → 내부 네트워크 세그먼트로 트래픽이 흐르는 전체 아키텍처

    pfSense vs OPNsense — 뭐가 다른 건가요?

    둘 다 FreeBSD 기반의 오픈소스 방화벽 소프트웨어인데, 뿌리는 같지만 지향점이 조금 달라요. 저도 처음엔 “그냥 비슷한 거 아냐?” 했는데, 직접 써보니 체감 차이가 꽤 있더라고요.

    항목 pfSense CE (Community Edition) OPNsense
    기반 OS FreeBSD FreeBSD (HardenedBSD 기반)
    UI 스타일 전통적, 기능 중심 모던, 직관적
    업데이트 주기 비교적 느림 격주 릴리즈 (빠른 보안 패치)
    IDS/IPS Snort, Suricata Suricata (기본 통합)
    플러그인 생태계 pfSense 패키지 OPNsense 플러그인 (더 활발)
    라이선스 Apache 2.0 BSD 2-Clause
    상업적 지원 Netgate (유료 플랜) Deciso (유료 플랜)

    솔직히 말씀드리면, 저는 최근에는 OPNsense를 메인으로 쓰고 있어요. 이유는 단순한데, UI가 훨씬 깔끔하고 보안 업데이트가 빠르거든요. 특히 CVE(Common Vulnerabilities and Exposures, 공개된 보안 취약점)가 나왔을 때 OPNsense 쪽이 패치 대응이 빠르더라고요. 다만 pfSense가 커뮤니티 문서나 유튜브 튜토리얼이 훨씬 많아서, 처음 입문하시는 분들한테는 pfSense가 진입 장벽이 낮을 수 있어요.

    하드웨어 선택 — 어디에 설치할 건가요?

    방화벽 소프트웨어를 고르는 것만큼 중요한 게 하드웨어 선택이에요. 저는 세 가지 방법을 다 써봤는데, 각각 장단점이 있더라고요.

    옵션 1: 전용 x86 미니PC / 어플라이언스

    • Intel NIC(Network Interface Card, 네트워크 인터페이스 카드)가 달린 미니PC 추천 — Realtek NIC는 FreeBSD 드라이버 이슈가 있어서 고생할 수 있어요
    • 듀얼 포트 이상의 NIC가 필요 (WAN 1개, LAN 1개 이상)
    • 전력 소비가 낮고 팬리스 모델이면 24/7 운영에 유리
    • 💡 팁: AES-NI(하드웨어 암호화 가속) 지원 CPU를 선택하면 VPN 성능이 크게 올라가요

    옵션 2: 기존 홈서버의 VM (가상머신)

    • Proxmox 같은 하이퍼바이저에서 VM으로 운영 가능
    • NIC 패스스루(PCIe Passthrough)나 VLAN 트렁킹 설정이 필요
    • 서버가 꺼지면 인터넷도 끊기는 단점 있음 ⚠️

    옵션 3: Raspberry Pi (제한적)

    • pfSense/OPNsense 공식 지원은 x86/amd64 기준 — Pi는 공식 지원 아님
    • 소규모 트래픽 환경에서만 대안 고려 가능 (이 경우 OpenWrt 쪽이 더 현실적)

    OPNsense 설치 — 단계별 가이드

    이제 본격적으로 설치해봅시다. 제가 설치할 때 가장 헷갈렸던 부분을 중심으로 설명할게요.

    ▲ OPNsense 웹 관리 인터페이스(WebGUI) — 설치 후 처음 접속하면 보이는 대시보드 화면. 시스템 상태, 인터페이스 정보, 게이트웨이 상태를 한눈에 확인할 수 있어요.

    1. ISO 다운로드: opnsense.org 공식 사이트에서 최신 DVD ISO 이미지 다운로드 (amd64 기준)
    2. 부팅 USB 제작: Rufus(Windows) 또는 dd 명령어(Linux/Mac)로 부팅 USB 제작
    3. 설치 진행: 기본 계정으로 로그인 후 installer 실행
    4. 인터페이스 할당: WAN / LAN 인터페이스 지정 (가장 중요!)
    5. WebGUI 접속: LAN IP(기본 192.168.1.1)로 브라우저 접속

    부팅 USB 제작할 때 dd 명령어 쓰시는 분들 참고하세요:

    # Linux/macOS에서 USB 부팅 디스크 만들기
    # /dev/sdX 부분은 본인 USB 장치 경로로 변경 필요 (lsblk 명령어로 확인)
    sudo dd if=OPNsense-버전-dvd-amd64.iso of=/dev/sdX bs=4M status=progress
    sync

    ⚠️ 주의: dd 명령어는 잘못 입력하면 다른 디스크를 덮어쓸 수 있어요. of= 경로를 반드시 두 번 확인하세요. 저도 처음에 식은땀 흘렸던 기억이 있어요 ㅎㅎ

    기본 방화벽 규칙 설정 — 여기가 핵심이에요

    설치 후 WebGUI에 접속하면 Setup Wizard(설정 마법사)가 뜨는데, 이걸 따라가면 기본 설정은 금방 끝나요. 근데 여기서 멈추면 안 됩니다. 진짜 보안 강화는 방화벽 규칙 설정에서 시작하거든요.

    WAN 규칙 — 기본 원칙은 “모두 차단, 필요한 것만 허용”

    OPNsense/pfSense 모두 기본적으로 WAN에서 들어오는 모든 인바운드(Inbound, 외부→내부) 트래픽을 차단해요. 이 기본값을 유지하는 게 맞습니다.

    # OPNsense Shell에서 현재 방화벽 규칙 확인 (pfctl 명령어)
    pfctl -sr
    
    # 특정 인터페이스의 규칙만 보기
    pfctl -sr | grep WAN

    LAN 규칙 — VLAN으로 네트워크 세분화하기

    홈랩에서 제가 가장 효과적으로 쓰는 방법이 VLAN(Virtual LAN, 가상 네트워크 분리)이에요. 예를 들어 이런 식으로 나눌 수 있어요:

    • VLAN 10 (신뢰 네트워크): 개인 PC, 노트북
    • VLAN 20 (서버 네트워크): 홈서버, NAS
    • VLAN 30 (IoT 네트워크): 스마트 TV, 공기청정기 등 IoT 기기
    • VLAN 40 (게스트 네트워크): 방문객 Wi-Fi

    IoT 기기들을 별도 VLAN으로 격리하는 게 진짜 중요해요. 스마트 TV나 IP 카메라 같은 장치들은 보안이 취약한 경우가 많거든요. 이것들이 메인 네트워크에 있으면 한 기기가 뚫렸을 때 전체가 위험해지는 거니까요.

    OPNsense WebGUI에서 VLAN 추가하는 경로: Interfaces → Other Types → VLAN

    # 방화벽 규칙 예시 — IoT VLAN에서 서버 VLAN으로의 접근 차단
    # OPNsense WebGUI의 Firewall → Rules → VLAN30 에서 설정
    # Action: Block
    # Interface: VLAN30
    # Source: VLAN30 net
    # Destination: VLAN20 net
    # Description: IoT to Server VLAN Block

    Suricata IDS/IPS 활성화

    OPNsense에는 Suricata(수리카타)가 기본 플러그인으로 포함돼 있어요. IDS(Intrusion Detection System, 침입 탐지 시스템)와 IPS(Intrusion Prevention System, 침입 방지 시스템) 기능을 제공하는데, 활성화해두면 알려진 악성 트래픽 패턴을 자동으로 탐지하고 차단해줘요.

    활성화 경로: Services → Intrusion Detection → Administration

    • Enabled 체크
    • IPS Mode 체크 (탐지만 할지, 실제 차단까지 할지 결정)
    • Ruleset: ET Open 룰셋 무료로 사용 가능 — 이걸로도 충분해요

    💡 처음에 IPS 모드를 바로 켜면 정상 트래픽이 차단될 수 있어요. IDS 모드로 며칠 모니터링하면서 False Positive(오탐)를 확인한 다음에 IPS 모드로 전환하는 걸 추천합니다.

    VPN 게이트웨이 설정 — WireGuard로 원격 접속

    홈랩을 외부에서 안전하게 접속하려면 VPN이 필수예요. 예전엔 OpenVPN 많이 썼는데, 요즘은 WireGuard(와이어가드)로 완전히 넘어왔어요. 설정이 훨씬 간단하고 성능도 좋거든요.

    OPNsense에서 WireGuard 설치: System → Firmware → Plugins → os-wireguard 설치

    # WireGuard 키 쌍 생성 (서버에서 실행)
    wg genkey | tee server_private.key | wg pubkey > server_public.key
    wg genkey | tee client_private.key | wg pubkey > client_public.key
    
    # 키 내용 확인
    cat server_private.key
    cat server_public.key

    생성된 키는 OPNsense WebGUI의 VPN → WireGuard → Local / Endpoints 설정에 입력하면 돼요. 스마트폰에서는 WireGuard 공식 앱으로 QR 코드 스캔하면 바로 연결 가능하고, 이게 진짜 편하더라고요. 드디어 외부에서 집 서버에 안전하게 붙을 수 있게 됐을 때 기분이 얼마나 좋던지 🎉

    ▲ OPNsense 방화벽 규칙 설정 화면 및 Suricata IDS 경보 로그 — 실시간으로 차단된 트래픽과 탐지된 위협을 모니터링할 수 있어요.

    ⚠️ 삽질 모음 — 제가 겪은 트러블슈팅

    설치하면서 제가 실제로 막혔던 부분들이에요. 이거 보고 같은 삽질 반복하지 않으셨으면 해서 솔직하게 적어봤어요.

    문제 1: WAN 인터페이스 인식 안 됨

    증상: 설치 후 WAN 쪽 인터페이스가 잡히지 않음
    원인: Realtek NIC의 FreeBSD 드라이버 이슈 (FreeBSD에서 Realtek은 가끔 문제가 생겨요)
    해결: Intel 기반 NIC로 교체. em(Intel PRO/1000 계열) 또는 igb 드라이버가 인식되는 NIC 사용 추천

    문제 2: NAT Reflection 설정 안 해서 내부에서 외부 도메인 접속 불가

    증상: 외부에서는 되는데 내부 LAN에서 자기 도메인으로 접속 안 됨
    원인: NAT Reflection(헤어핀 NAT) 미설정
    해결: Firewall → Settings → Advanced → Reflection for port forwards: Enable

    문제 3: Suricata 켜고 나서 일부 사이트 접속 불가

    증상: IPS 모드 활성화 후 특정 스트리밍 사이트 접속이 끊김
    원인: 공격 패턴과 유사한 정상 트래픽을 오탐(False Positive)으로 차단
    해결: 해당 룰 ID를 Suppress List에 추가하거나, 해당 IP를 Whitelist에 등록

    # OPNsense Shell에서 Suricata 로그 실시간 확인
    tail -f /var/log/suricata/eve.json | python3 -m json.tool | grep -E '"alert"|"src_ip"|"dest_ip"'

    문제 4: 재부팅 후 방화벽 규칙이 일부 초기화

    증상: 수동으로 추가한 규칙이 재부팅 후 사라짐
    원인: WebGUI가 아닌 Shell에서 직접 pfctl로 임시 추가한 규칙
    해결: 반드시 WebGUI를 통해 규칙 추가. Shell 명령어는 테스트용으로만 사용

    ✅ 구축 결과 확인 — 이렇게 검증하세요

    설정 다 했다고 끝이 아니에요. 실제로 제대로 동작하는지 검증하는 게 중요해요.

    외부에서 포트 스캔으로 노출 여부 확인

    Shodan(shodan.io)이나 nmap으로 외부에서 내 IP를 스캔해보세요. 방화벽이 제대로 동작한다면 열어둔 포트 외에는 아무것도 안 보여야 해요.

    # 다른 네트워크(모바일 데이터 등)에서 내 WAN IP로 포트 스캔
    nmap -sV -p 1-1024 [내 WAN IP 주소]
    
    # 결과 예시 — 방화벽이 잘 동작하면 이렇게 나와야 함
    # All 1024 scanned ports on [IP] are in ignored states.

    Firewall Logs 확인

    OPNsense WebGUI에서 Firewall → Log Files → Live View로 실시간 차단 로그를 볼 수 있어요. 여기서 외부에서 들어오는 수상한 접근 시도를 확인할 수 있는데, 처음 보시면 “이렇게 많이 들어오고 있었어?” 하고 놀라실 거예요. 저도 그랬거든요 ㅎㅎ

    Dashboard 위젯으로 실시간 모니터링

    • Gateway 상태 (WAN 연결 안정성)
    • Interface 트래픽 그래프
    • Suricata 알림 카운트
    • 시스템 리소스 (CPU, 메모리)

    ▲ 방화벽 구축 완료 후 OPNsense 대시보드 — 게이트웨이 상태, 인터페이스 트래픽, IDS 탐지 현황을 실시간으로 모니터링하는 화면

    마무리 — 홈랩 네트워크 보안, 이제 시작이에요

    pfSense/OPNsense 기반의 홈랩 방화벽을 구축하고 나면 네트워크를 바라보는 눈이 달라져요. 예전엔 그냥 “인터넷 되면 됐지” 였다면, 이제는 트래픽 흐름이 보이기 시작하거든요. 어디서 뭐가 들어오고 나가는지, 어떤 시도가 차단되고 있는지.

    정리하자면 이렇게 구성하시면 됩니다:

    • ✅ Intel NIC 기반 하드웨어 선택
    • ✅ OPNsense 또는 pfSense 설치
    • ✅ WAN 기본 차단 정책 유지
    • ✅ VLAN으로 네트워크 세분화 (IoT 격리 필수!)
    • ✅ Suricata IDS/IPS 활성화
    • ✅ WireGuard VPN으로 원격 접속 구성
    • ✅ 외부 포트 스캔으로 노출 여부 검증

    다음 단계로는 pfBlockerNG(pfSense) 또는 OPNsense의 Unbound DNS 블랙리스트를 활용한 DNS 기반 광고/악성 도메인 차단을 다뤄볼 예정이에요. 이걸 적용하면 집 안 모든 기기에서 광고가 사라지는 마법을 경험할 수 있거든요 — Pi-hole 없이도요. 그 내용은 다음 글에서 자세히 다루겠습니다.

    궁금한 점이나 막히는 부분 있으시면 댓글로 남겨주세요. 같은 삽질을 덜 하셨으면 하는 마음으로 최대한 답변드릴게요 😊

    자주 묻는 질문 (FAQ)

    Q. pfSense와 OPNsense 중 초보자에게 어떤 걸 추천하나요?

    커뮤니티 자료가 많은 pfSense CE가 처음 입문하기엔 조금 더 수월해요. 다만 보안 업데이트 주기와 UI 현대성을 고려하면 OPNsense도 충분히 좋은 선택입니다. 둘 다 무료로 사용 가능하니 VM에서 먼저 테스트해보시는 걸 추천합니다.

    Q. 최소 사양이 어떻게 되나요?

    공식 권장 사양은 CPU 1GHz 이상, RAM 1GB 이상이지만, IDS/IPS나 VPN까지 쓰려면 최소 4GB RAM에 멀티코어 CPU를 권장해요. 기가비트 라인 풀로 쓰려면 더 여유 있는 스펙이 필요합니다.

    Q. 기존 공유기는 어떻게 되나요?

    pfSense/OPNsense가 공유기 역할을 대신하는 구성이 일반적이에요. 기존 공유기는 AP(액세스 포인트) 모드로 전환해서 Wi-Fi 전용으로 활용하면 됩니다.

    Q. Cloudflare Tunnel과 같이 쓸 수 있나요?

    네, 함께 사용 가능해요. Cloudflare Tunnel을 쓰면 WAN 포트포워딩 없이도 외부 접속이 가능해서 보안상 더 좋은 구성을 만들 수 있어요. 이 조합도 나중에 다뤄볼게요.