13년차의 서버실

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

[태그:] 홈네트워크

  • [HomeLabs] 홈랩 네트워크 보안 강화: VLAN 기반 망 분리 체크리스트

    [HomeLabs] 홈랩 네트워크 보안 강화: VLAN 기반 망 분리 체크리스트

    홈랩 네트워크 보안 강화: VLAN 기반 망 분리 체크리스트

    안녕하세요, 13년차 서버실을 지키고 있는 인프라 엔지니어입니다. 요즘 홈랩 꾸미는 재미에 푹 빠져 계신 분들 많으시죠? 저도 그렇습니다! 그런데 홈랩이 커지면 커질수록 문득 ‘이대로 괜찮을까?’ 하는 불안감이 엄습할 때가 있더라고요. 특히 스마트 홈 기기들, 서버들, 그리고 개인 노트북과 스마트폰이 모두 같은 네트워크에 뒤섞여 있을 때 말이죠. 만약 IoT 기기 중 하나가 해킹당하면, 우리 집의 모든 소중한 데이터가 위험해질 수도 있겠다는 생각, 혹시 해보셨나요?

    제가 처음 홈랩을 구성했을 때도 그랬습니다. 편리함에만 집중하다 보니 보안은 뒷전이었죠. 그러다 문득 ‘기업 네트워크처럼 내 홈랩도 좀 더 안전하게 만들 수는 없을까?’ 하는 생각이 들더라고요. 그래서 VLAN(Virtual Local Area Network) 기반의 망 분리(Network Segmentation)를 직접 구현해보면서 많은 삽질을 했습니다. 오늘은 그 경험을 바탕으로, 여러분의 홈랩 네트워크 보안을 한층 강화할 수 있는 VLAN 기반 망 분리 체크리스트를 공유해볼까 합니다. 저의 시행착오를 통해 여러분은 좀 더 빠르고 안전하게 홈랩을 구축하시길 바랍니다. 🎉

    홈랩 네트워크 전체 아키텍처 다이어그램, VLAN 기반 망 분리 구성도

    홈랩 네트워크의 전체적인 구성과 VLAN으로 분리된 논리적 망을 보여주는 다이어그램입니다.

    VLAN과 망 분리, 왜 중요할까요?

    우선, 핵심 개념부터 잡고 갈게요. VLAN(Virtual Local Area Network, 가상 근거리 통신망)은 물리적으로는 하나의 스위치에 연결되어 있지만, 논리적으로는 여러 개의 독립적인 네트워크로 분리하는 기술입니다. 쉽게 말해, 한 아파트 건물에 살면서도 각 세대가 별도의 현관문을 가지고 독립적으로 생활하는 것과 비슷하다고 생각하시면 됩니다. 서로 다른 세대끼리는 함부로 드나들 수 없죠? 💡

    그리고 망 분리(Network Segmentation, 네트워크 세그멘테이션)는 이렇게 VLAN을 활용해서 전체 네트워크를 여러 개의 작은 논리적 네트워크로 나누는 작업을 의미합니다. 이게 왜 중요하냐면요:

    • 보안 강화: 만약 IoT 기기 하나가 해킹당하더라도, 해당 VLAN 내에서만 피해가 확산되고 다른 중요한 네트워크(예: 개인 PC가 있는 신뢰 네트워크)로는 침투하기 어려워집니다. Lateral Movement(측면 이동) 공격을 방지하는 데 아주 효과적이죠.
    • 성능 향상: 브로드캐스트 도메인을 분리하여 네트워크 트래픽 부담을 줄이고, 특정 네트워크의 트래픽이 다른 네트워크에 영향을 미치는 것을 최소화합니다.
    • 관리 용이성: 네트워크 정책을 특정 VLAN에만 적용하거나, 문제 발생 시 해당 VLAN만 격리하여 트러블슈팅 시간을 단축할 수 있습니다.

    특히 홈랩 네트워크 보안은 정말 중요하거든요. 외부 인터넷에 항상 노출되어 있고, 다양한 출처의 기기들을 연결하기 때문에 잠재적인 위협이 많거든요. 그래서 저는 망 분리를 ‘필수’라고 생각합니다.

    실전 구현: VLAN 기반 망 분리 체크리스트

    자, 이제 직접 홈랩에 VLAN을 적용해보는 실전 단계입니다. 준비물은 VLAN을 지원하는 매니지드 스위치(Managed Switch)와 VLAN 및 멀티 서브넷을 지원하는 라우터(예: pfSense, OpenWrt, MikroTik RouterOS 등)입니다. 저는 개인적으로 pfSense를 메인 라우터로 쓰고 있어서 이 환경에 맞게 설명드리겠지만, 개념은 대부분의 VLAN 지원 라우터에 적용 가능합니다.

    ✅ 1. 네트워크 설계 및 IP 주소 계획

    가장 먼저 할 일은 어떤 네트워크 존을 만들지, 그리고 각 존에 어떤 VLAN ID와 IP 대역을 할당할지 계획하는 겁니다. 이건 마치 건축 설계를 하는 것과 같아요. 대충 시작하면 나중에 큰코다칩니다. 😅

    • 관리 네트워크 (VLAN 1, 기본): 라우터, 스위치, NAS 등 핵심 인프라 장치 관리용. (예: 192.168.1.0/24)
    • 신뢰 네트워크 (VLAN 10): 개인 PC, 스마트폰 등 주로 사용하는 기기. (예: 192.168.10.0/24)
    • IoT 네트워크 (VLAN 20): 스마트 플러그, 카메라, 센서 등 IoT 기기. (예: 192.168.20.0/24)
    • 게스트 네트워크 (VLAN 30): 방문객을 위한 임시 Wi-Fi. (예: 192.168.30.0/24)

    이런 식으로 논리적인 구획을 나누는 게 첫걸음이에요. 각 VLAN ID는 1부터 4094까지 지정할 수 있는데, 보통 1은 기본 관리 VLAN으로 사용하니 다른 번호부터 시작하는 것이 좋습니다.

    ✅ 2. 라우터 설정: 서브 인터페이스 및 DHCP 서버 구성

    라우터에서 각 VLAN에 대한 서브 인터페이스(Sub-interface)를 생성하고, 해당 VLAN에 맞는 IP 주소와 DHCP 서버를 설정해야 합니다. 라우터가 각 VLAN의 게이트웨이 역할을 하게 되는 거죠.

    1. 라우터 관리 페이지에 접속합니다.
    2. ‘인터페이스(Interfaces)’ 또는 ‘VLAN 설정’ 메뉴로 이동합니다.
    3. 물리적 이더넷 포트(예: LAN 포트)에 대해 각 VLAN ID(예: 10, 20, 30)를 가진 서브 인터페이스를 생성합니다.
    4. 각 서브 인터페이스에 계획했던 IP 주소(예: 192.168.10.1, 192.168.20.1)를 할당합니다.
    5. 각 VLAN 인터페이스에 대한 DHCP 서버를 활성화하고, 해당 대역에서 IP 주소를 할당하도록 설정합니다.

    이 과정이 조금 복잡하게 느껴질 수도 있지만, 대부분의 홈랩용 라우터는 GUI로 쉽게 설정할 수 있게 되어 있습니다. 중요한 건 각 VLAN에 맞는 IP 대역과 게이트웨이를 정확히 설정하는 것입니다.

    ✅ 3. 스위치 설정: VLAN 생성 및 포트 할당

    이제 매니지드 스위치 차례입니다. 스위치에 접속해서 VLAN을 생성하고, 각 포트를 적절한 VLAN에 할당해야 합니다. 여기가 가장 핵심적인 부분 중 하나입니다.

    
    # 스위치에 로그인 후 전역 설정 모드로 진입 (장치에 따라 명령어 상이)
    configure terminal
    
    # VLAN 10 생성 및 이름 지정 (신뢰 네트워크용)
    vlan 10
     name TRUSTED_NETWORK
     exit
    
    # VLAN 20 생성 및 이름 지정 (IoT 네트워크용)
    vlan 20
     name IOT_NETWORK
     exit
    
    # VLAN 30 생성 및 이름 지정 (게스트 네트워크용)
    vlan 30
     name GUEST_NETWORK
     exit
    
    # 포트 1번을 VLAN 10 (신뢰)의 Access 포트로 설정
    # 여기에 개인 PC, Wi-Fi AP 등을 연결합니다.
    interface GigabitEthernet0/1
     switchport mode access
     switchport access vlan 10
     exit
    
    # 포트 5번을 VLAN 20 (IoT)의 Access 포트로 설정
    # 여기에 IoT 기기들을 연결합니다.
    interface GigabitEthernet0/5
     switchport mode access
     switchport access vlan 20
     exit
    
    # 포트 10번을 VLAN 30 (게스트)의 Access 포트로 설정
    # 게스트용 Wi-Fi AP 등을 여기에 연결할 수 있습니다.
    interface GigabitEthernet0/10
     switchport mode access
     switchport access vlan 30
     exit
    
    # 라우터와 연결될 포트 (예: 24번 포트)를 Trunk 모드로 설정
    # 모든 VLAN 트래픽이 이 포트를 통해 라우터로 전달됩니다.
    interface GigabitEthernet0/24
     switchport mode trunk
     switchport trunk allowed vlan 10,20,30
     # 혹은 모든 VLAN 허용: switchport trunk allowed vlan all
     exit
    
    # 설정 저장 (장치에 따라 명령어 상이: copy running-config startup-config, write memory 등)
    write memory
    end
    

    여기서 중요한 건 Access Port(액세스 포트)와 Trunk Port(트렁크 포트)의 개념입니다. Access Port는 특정 하나의 VLAN에만 속하는 포트로, 일반적인 종단 장치(PC, IoT 기기 등)를 연결할 때 사용합니다. 반면 Trunk Port는 여러 VLAN의 트래픽을 동시에 전달할 수 있는 포트로, 주로 라우터나 다른 스위치와 연결할 때 사용합니다. 라우터와 연결되는 포트는 반드시 Trunk 모드로 설정해야 합니다. ⚠️

    매니지드 스위치 VLAN 설정 및 포트 할당 완료 화면

    매니지드 스위치에서 각 VLAN을 생성하고 포트를 할당하는 설정 화면입니다.

    ✅ 4. 방화벽 규칙 설정: VLAN 간 통신 정책 정의

    마지막이자 가장 중요한 단계입니다. 라우터의 방화벽에서 각 VLAN 간의 통신 정책을 정의해야 합니다. VLAN으로 망 분리를 해놨다고 해서 끝이 아닙니다. 필요한 통신은 허용하고, 불필요한 통신은 엄격히 차단해야 진정한 보안 강화가 이루어집니다.

    기본적으로 라우터는 다른 서브넷 간의 통신을 허용하지만, VLAN을 분리한 목적이 보안 강화이므로 명시적으로 차단 규칙을 먼저 적용하고, 필요한 것만 허용하는 ‘Deny All, Allow Exception (기본 차단, 예외 허용)’ 정책을 사용하는 것이 좋습니다.

    예를 들어:

    • IoT 네트워크 ➡️ 신뢰 네트워크: 🚫 차단 (가장 중요!)
    • 신뢰 네트워크 ➡️ IoT 네트워크: ✅ 허용 (스마트폰으로 IoT 기기 제어 등)
    • 게스트 네트워크 ➡️ 모든 내부 네트워크: 🚫 차단 (오직 인터넷만 허용)
    • 모든 내부 네트워크 ➡️ 관리 네트워크: 🚫 차단, 단 관리 PC ➡️ 관리 네트워크는 ✅ 허용

    이 규칙들을 라우터의 방화벽 설정(예: pfSense의 Firewall Rules, OpenWrt의 Firewall Zones)에서 적용하면 됩니다. 처음엔 이 방화벽 규칙 때문에 삽질을 많이 했었는데, ‘어떤 트래픽이 어떤 방향으로 가야 하는가’를 명확히 정의하는 것이 핵심이더라고요. 하나씩 꼼꼼히 따져봐야 합니다.

    ⚠️ 주의사항 및 트러블슈팅 팁

    제가 직접 겪었던 문제들과 해결 팁을 공유해드릴게요. 아마 여러분도 비슷한 상황을 겪을 수 있을 겁니다.

    1. IP 주소를 못 받아와요! (DHCP 문제)
      라우터에서 해당 VLAN 인터페이스에 대한 DHCP 서버가 제대로 활성화되어 있는지, IP 풀(Pool) 범위는 올바른지 확인하세요. 스위치의 포트가 Access 모드로 잘 설정되어 있는지, VLAN ID가 정확한지 다시 한번 체크해봐야 합니다.
    2. 특정 VLAN끼리 통신이 안 돼요! (방화벽 문제)
      가장 흔한 문제입니다. 라우터의 방화벽 규칙을 다시 확인하세요. 기본적으로 VLAN 간 통신은 차단될 수 있으니, 필요한 통신은 명시적으로 ‘허용(Allow)’ 규칙을 추가해야 합니다. 로그를 확인하면 어떤 트래픽이 차단되는지 알 수 있습니다.
    3. VLAN 태그가 안 먹어요! (Trunk/Access 포트 설정 오류)
      라우터와 스위치를 연결하는 포트가 Trunk 모드로 설정되었는지, 그리고 허용된 VLAN 목록이 정확한지 확인해야 합니다. 일반 장치를 연결하는 포트는 Access 모드여야 하고, 할당된 VLAN ID가 정확한지 보세요. 태그가 없는(Untagged) 트래픽과 태그가 있는(Tagged) 트래픽의 개념을 이해하는 게 중요합니다.

    ✅ 검증: 제대로 작동하는지 확인하기

    모든 설정을 마쳤다면, 이제 제대로 작동하는지 확인해야겠죠? 저는 주로 다음 방법들을 사용합니다.

    
    # 1. 클라이언트 장치에서 IP 주소 확인
    # VLAN이 잘 적용되었다면, 해당 VLAN에 맞는 IP 대역을 받을 겁니다.
    # 예: IoT 기기는 192.168.20.x 대역을 받아야 합니다.
    ip addr show
    
    # 예시 출력 (enp0s31f6.20은 VLAN 20 인터페이스)
    # ...
    # 3: enp0s31f6.20@enp0s31f6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    #     link/ether aa:bb:cc:dd:ee:ff brd ff:ff:ff:ff:ff:ff
    #     inet 192.168.20.50/24 brd 192.168.20.255 scope global dynamic enp0s31f6.20
    #        valid_lft 3599sec preferred_lft 3599sec
    # ...
    
    # 2. 다른 VLAN 대역의 장치로 Ping 테스트
    # 차단되어야 하는 네트워크로는 ping이 가지 않아야 합니다.
    # 예: IoT 네트워크에서 신뢰 네트워크 장치(192.168.10.10)로 Ping 시도 시 실패 예상
    ping 192.168.10.10
    
    # 예: IoT 네트워크에서 IoT 게이트웨이(192.168.20.1)로 Ping 시도 시 성공 예상
    ping 192.168.20.1
    
    # 3. 라우터의 방화벽 로그 확인
    # 라우터 관리 페이지에서 방화벽 로그를 확인하여 차단된 트래픽이 올바른지 검증합니다.
    # 예상치 못한 차단이나, 허용되어야 할 트래픽이 차단되는 경우 규칙을 조정해야 합니다.
    

    이런 테스트를 통해 각 VLAN이 의도한 대로 분리되었고, 방화벽 규칙도 제대로 작동하는지 확인할 수 있습니다. 저는 이 과정을 여러 번 반복하면서 ‘드디어 됐다!’ 하고 외쳤던 기억이 나네요. 🎉

    VLAN별 네트워크 트래픽 및 방화벽 차단 로그 모니터링 대시보드

    VLAN별 트래픽 흐름이나 방화벽 차단 로그를 보여주는 모니터링 대시보드 예시입니다.

    마무리하며: 홈랩 네트워크 보안은 선택이 아닌 필수!

    지금까지 홈랩 네트워크 보안을 강화하기 위한 VLAN 기반 망 분리 체크리스트를 자세히 살펴봤습니다. 13년차 인프라 엔지니어로서 제가 수많은 삽질 끝에 얻은 결론은, ‘홈랩 네트워크 보안은 이제 선택이 아닌 필수’라는 겁니다. 특히 IoT 기기들이 늘어나면서 보안 위협도 기하급수적으로 증가하고 있거든요.

    어떤 홈랩 환경이든, 최소한 ‘신뢰 네트워크’와 ‘IoT/게스트 네트워크’는 반드시 분리하는 것을 강력히 권장합니다. 저처럼 처음부터 완벽하게 모든 것을 나누기 어렵다면, 가장 취약하다고 생각되는 부분부터 점진적으로 분리해나가는 것도 좋은 방법입니다. VLAN 설정은 한 번 해두면 두고두고 든든한 방어막이 되어줄 겁니다.

    네트워크 존 (VLAN ID) 설명 주요 연결 장치 보안 정책 (라우터 방화벽)
    관리 네트워크 (VLAN 1) 라우터, 스위치, NAS 등 핵심 인프라 장치 관리용. 관리 PC, NAS, 서버 모든 내부 네트워크 접근 허용, 외부 접근 엄격히 제한
    신뢰 네트워크 (VLAN 10) 주로 사용하는 PC, 스마트폰 등 개인 기기. 인터넷 접근 허용. 개인 PC, 스마트폰, 태블릿 외부 인터넷 및 관리 네트워크 접근 허용, IoT/게스트 네트워크 접근 차단
    IoT 네트워크 (VLAN 20) 스마트 플러그, 전구, 로봇 청소기 등 IoT 기기. 스마트 플러그, 카메라, 센서 외부 인터넷 제한적 허용 (필요한 서버만), 신뢰/관리 네트워크 접근 차단
    게스트 네트워크 (VLAN 30) 방문객을 위한 임시 네트워크. 방문객 스마트폰, 노트북 외부 인터넷만 허용, 모든 내부 네트워크 접근 차단
    VLAN 기반 망 분리 이점 및 핵심 단계 요약 인포그래픽

    VLAN 기반 망 분리의 주요 이점과 핵심 설정 단계를 한눈에 볼 수 있는 요약 정보입니다.

    다음번에는 이렇게 분리된 네트워크에 침입 탐지 시스템(IDS/IPS)을 어떻게 적용해서 보안을 한층 더 고도화할 수 있는지, 제가 직접 구축한 경험을 바탕으로 이야기해보는 시간을 가져볼까 합니다. 궁금하시다면 다음 글도 기대해주세요! 그럼 오늘도 안전하고 즐거운 홈랩 생활 되시길 바랍니다. 😊

  • [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] 미니PC 홈서버 구축: 저전력 서버 완벽 가이드

    월 전기요금 보고 깜짝 놀란 그날부터 시작됐습니다

    홈서버 구축을 처음 시작했을 때 저는 ATX 풀타워 케이스에 데스크톱 CPU를 꽂아서 24시간 돌렸습니다. 결과는… 다음 달 전기요금 고지서가 저를 가르쳐줬죠. “이건 아니다” 싶었어요. 그때부터 저전력 서버, 특히 미니PC를 진지하게 알아보기 시작했습니다.

    13년 동안 인프라 엔지니어로 일하면서 홈랩(Home Lab)을 꾸준히 운영해왔는데요, 솔직히 말하면 홈랩 환경에서 가장 중요한 건 성능이 아니라 지속 가능성이더라고요. 아무리 좋은 장비도 전기세 때문에 꺼놓으면 의미가 없잖아요.

    이 글에서는 홈서버 구축을 처음 고민하시는 분들, 혹은 기존 홈서버의 전력 소비가 너무 많아서 고민이신 분들을 위해 저전력 미니PC를 활용한 홈서버 구축 가이드를 공유해드리려고 합니다. 실제로 제가 삽질했던 경험들도 솔직하게 담았으니 끝까지 읽어보세요.

    ▲ 미니PC 기반 홈서버의 일반적인 네트워크 구성도 — 인터넷 공유기부터 NAS, 모니터링까지 한눈에 볼 수 있습니다.

    왜 미니PC인가? 저전력 서버의 장단점

    “미니PC가 서버로 쓸 만해요?” 이 질문 정말 많이 받습니다. 결론부터 말씀드리면, 홈서버 용도로는 충분히 쓸 만합니다. 다만 어떤 용도로 쓸지에 따라 달라지긴 해요.

    미니PC 홈서버의 장점

    • 전력 소비가 낮습니다 — 일반 데스크톱 대비 훨씬 적은 전력으로 동작합니다. 24시간 365일 켜두는 홈서버 특성상 이 차이가 연간 전기요금에서 크게 체감됩니다.
    • 소음이 적습니다 — 거실이나 서재에 놔도 크게 신경 쓰이지 않는 수준이에요.
    • 공간을 차지하지 않습니다 — 책상 한 구석, 공유기 옆에 얌전히 자리 잡습니다.
    • 발열이 낮습니다 — 여름에 서버실처럼 방이 더워지는 걱정을 덜 수 있어요.
    • 구입 비용이 상대적으로 낮습니다 — 동급 성능의 일반 데스크톱 대비 저렴한 경우가 많습니다.

    미니PC 홈서버의 단점

    • 확장성이 제한됩니다 — PCIe 슬롯이 없거나 제한적이라 GPU 추가, HBA 카드 장착 등이 어렵습니다.
    • 스토리지 베이가 적습니다 — 내장 드라이브 슬롯이 2개 이하인 경우가 많아 대용량 NAS 구성이 어렵습니다.
    • ECC 메모리 지원이 없는 경우가 많습니다 — 중요한 데이터를 다루는 서버라면 이 부분이 아쉬울 수 있어요.

    홈서버 구축 전 — 용도부터 정하세요

    여기서 중요한 포인트! 미니PC 홈서버를 시작하기 전에 “이걸로 뭘 할 건지”를 먼저 정해야 합니다. 저도 처음엔 그냥 “뭔가 돌려봐야지” 하다가 나중에 용도가 바뀌면서 장비를 두 번 교체한 적이 있거든요.

    용도 필요 사양 추천 구성
    파일 서버 / NAS 낮은 CPU, 충분한 RAM, 스토리지 베이 저전력 CPU + 외장 USB 스토리지 또는 NAS 연동
    미디어 서버 (Plex, Jellyfin 등) 트랜스코딩 지원 CPU 또는 iGPU Intel Quick Sync 지원 CPU 탑재 미니PC
    홈 자동화 (Home Assistant 등) 낮은 사양으로도 충분 저전력 x86 미니PC 또는 ARM 보드
    컨테이너/가상화 서버 멀티코어 CPU, 16GB+ RAM Intel N100 이상 CPU, 16~32GB RAM 구성
    VPN 서버 / 라우터 낮은 CPU, 다중 NIC(네트워크 카드) 2.5GbE 듀얼 포트 지원 미니PC

    미니PC 선택 기준 — 이 5가지는 꼭 확인하세요

    시장에 미니PC 제품이 워낙 많아서 처음 보시면 뭘 골라야 할지 막막하실 거예요. 저도 처음엔 그랬거든요. 제가 홈서버용 미니PC를 고를 때 기준으로 삼는 항목들을 공유해드릴게요.

    1. TDP(열설계전력) 확인

    TDP(Thermal Design Power, 열설계전력)는 CPU가 최대 부하 시 발생하는 열량의 기준값으로, 실제 전력 소비와 비례합니다. 홈서버용으로는 TDP 15W 이하 제품을 권장합니다. Intel N-시리즈(구 Celeron/Pentium 계열)나 AMD Ryzen Embedded 계열이 이 범주에 들어옵니다.

    2. RAM 확장 가능 여부

    미니PC 중에는 RAM이 메인보드에 납땜(온보드)되어 있어서 교체가 불가능한 제품도 있습니다. 홈서버 용도라면 반드시 SO-DIMM 슬롯이 있어 메모리 업그레이드가 가능한 제품을 고르세요. 처음엔 8GB면 충분해 보여도 Docker 컨테이너 몇 개 올리다 보면 금방 부족해집니다.

    3. 스토리지 인터페이스

    M.2 NVMe 슬롯이 있는지, SATA 2.5인치 베이가 있는지 확인하세요. 가능하면 M.2 슬롯 2개 이상이거나 M.2 + 2.5인치 조합을 지원하는 제품이 활용도가 높습니다.

    4. 네트워크 포트

    기가비트 이더넷(1GbE)은 기본이고, 요즘은 2.5GbE를 지원하는 미니PC도 많아졌습니다. 홈서버에서 대용량 파일 전송이나 미디어 스트리밍을 많이 한다면 2.5GbE 이상을 추천합니다.

    5. 베어본 vs 완제품

    베어본(Barebone)은 RAM과 스토리지 없이 본체만 파는 형태이고, 완제품은 RAM과 SSD가 포함된 형태입니다. 직접 조립하는 걸 즐기신다면 베어본이 비용 효율적이고, 번거로움 없이 바로 시작하고 싶다면 완제품이 낫습니다.

    ▲ 일반적인 홈서버용 미니PC 내부 구조 — M.2 슬롯, SO-DIMM 메모리, 2.5인치 SATA 베이 위치를 확인할 수 있습니다.

    OS 선택 — 뭘 깔아야 할까요?

    하드웨어를 골랐다면 이제 OS 선택입니다. 홈서버 구축 목적에 따라 OS 선택이 달라지는데요, 제가 주로 쓰는 조합을 소개해드릴게요.

    Ubuntu Server (우분투 서버)

    범용성이 가장 높습니다. Docker, Kubernetes, 각종 서비스 설치 관련 자료가 가장 많아서 처음 홈서버를 구축하시는 분들께 추천합니다. LTS(Long Term Support, 장기 지원) 버전을 사용하면 안정성도 좋아요.

    Proxmox VE (프록스목스 VE)

    가상화(Virtualization)에 특화된 오픈소스 플랫폼입니다. KVM 기반 가상머신과 LXC 컨테이너를 웹 UI로 편하게 관리할 수 있어서 홈랩 환경에서 정말 많이 써요. 저도 현재 홈랩 메인 서버에 Proxmox를 쓰고 있거든요. 무료로 쓸 수 있고 UI가 직관적이라 강력 추천합니다.

    TrueNAS SCALE (트루나스 스케일)

    NAS(Network Attached Storage, 네트워크 결합 스토리지) 전용 OS입니다. ZFS 파일시스템을 기반으로 데이터 무결성이 뛰어나고, 웹 UI에서 대부분의 설정을 처리할 수 있어요. 파일 서버 용도가 메인이라면 이걸 추천합니다.

    Debian (데비안)

    우분투의 베이스가 되는 OS입니다. 우분투보다 더 가볍고 안정적인 편이라 서버 용도에 적합해요. 다만 자료가 우분투보다 약간 적은 편이긴 합니다.

    실전 구현 — Ubuntu Server + Docker로 홈서버 세팅하기

    이제 진짜 실전입니다. 제가 가장 많이 추천하는 조합인 Ubuntu Server + Docker 기반 홈서버 구축 과정을 단계별로 알려드릴게요.

    1단계: Ubuntu Server 설치 후 기본 설정

    Ubuntu Server를 설치하고 나면 가장 먼저 시스템을 최신 상태로 업데이트합니다.

    # 패키지 목록 업데이트 및 업그레이드
    sudo apt update && sudo apt upgrade -y
    
    # 자주 쓰는 유틸리티 설치
    sudo apt install -y curl wget git htop net-tools unzip

    2단계: 정적 IP 설정

    홈서버는 IP가 바뀌면 곤란하거든요. Netplan(넷플랜)을 사용해서 정적 IP를 설정합니다. 아래는 예시 설정이니 본인 환경에 맞게 IP 주소와 게이트웨이를 수정하세요.

    # /etc/netplan/00-installer-config.yaml
    network:
      version: 2
      ethernets:
        eth0:  # 본인의 네트워크 인터페이스 이름 확인 필요 (ip link 명령어로 확인)
          dhcp4: false
          addresses:
            - 192.168.1.100/24  # 원하는 정적 IP
          routes:
            - to: default
              via: 192.168.1.1  # 게이트웨이 IP
          nameservers:
            addresses:
              - 8.8.8.8
              - 1.1.1.1
    # 설정 적용
    sudo netplan apply

    3단계: Docker 설치

    Docker(도커)는 컨테이너 기반 가상화 도구입니다. 쉽게 말해 각각의 서비스를 독립된 환경에서 실행할 수 있게 해주는 도구예요. 공식 스크립트로 설치하는 게 가장 간편합니다.

    # Docker 공식 설치 스크립트 실행
    curl -fsSL https://get.docker.com -o get-docker.sh
    sudo sh get-docker.sh
    
    # 현재 사용자를 docker 그룹에 추가 (sudo 없이 docker 명령어 사용 가능)
    sudo usermod -aG docker $USER
    
    # 변경사항 적용을 위해 재로그인 또는 아래 명령어 실행
    newgrp docker
    
    # 설치 확인
    docker --version
    docker run hello-world

    4단계: Docker Compose로 서비스 올리기

    Docker Compose(도커 컴포즈)는 여러 컨테이너를 YAML 파일 하나로 정의하고 관리할 수 있게 해주는 도구입니다. 홈서버에서 자주 쓰이는 서비스들을 예시로 보여드릴게요.

    # docker-compose.yml 예시
    version: '3.8'
    
    services:
      # Portainer — 도커 컨테이너 웹 UI 관리 도구
      portainer:
        image: portainer/portainer-ce:latest
        container_name: portainer
        restart: unless-stopped
        ports:
          - "9000:9000"
        volumes:
          - /var/run/docker.sock:/var/run/docker.sock
          - portainer_data:/data
    
      # Nginx Proxy Manager — 리버스 프록시 및 SSL 관리
      nginx-proxy-manager:
        image: jc21/nginx-proxy-manager:latest
        container_name: nginx-proxy-manager
        restart: unless-stopped
        ports:
          - "80:80"
          - "443:443"
          - "81:81"  # 관리자 UI
        volumes:
          - npm_data:/data
          - npm_letsencrypt:/etc/letsencrypt
    
      # Uptime Kuma — 서비스 가동 상태 모니터링
      uptime-kuma:
        image: louislam/uptime-kuma:latest
        container_name: uptime-kuma
        restart: unless-stopped
        ports:
          - "3001:3001"
        volumes:
          - uptime_kuma_data:/app/data
    
    volumes:
      portainer_data:
      npm_data:
      npm_letsencrypt:
      uptime_kuma_data:
    # 서비스 시작
    docker compose up -d
    
    # 실행 중인 컨테이너 확인
    docker ps
    
    # 로그 확인
    docker compose logs -f

    5단계: 자동 업데이트 설정 (Watchtower)

    Watchtower(워치타워)는 실행 중인 Docker 컨테이너의 이미지를 자동으로 업데이트해주는 도구입니다. 홈서버는 관리에 많은 시간을 쏟기 어렵기 때문에 이런 자동화 도구를 활용하면 편해요.

    # Watchtower 실행 — 매일 새벽 4시에 업데이트 확인
    docker run -d \
      --name watchtower \
      --restart unless-stopped \
      -v /var/run/docker.sock:/var/run/docker.sock \
      containrrr/watchtower \
      --schedule "0 0 4 * * *" \
      --cleanup

    ⚠️ 삽질 경험 공유 — 이건 꼭 미리 알아두세요

    이 섹션은 제가 직접 겪었던 문제들입니다. 미리 알아두시면 같은 실수를 반복하지 않을 수 있어요.

    문제 1: 정전 후 서버가 자동으로 안 켜지는 문제

    홈서버는 24시간 운영이 목표인데 정전 후 자동으로 켜지지 않으면 원격에서 손쓸 방법이 없습니다. BIOS/UEFI 설정에서 “AC Power Recovery” 또는 “Restore on AC Power Loss” 옵션을 찾아서 “Power On”으로 설정하세요. 이 설정을 빠뜨리는 분들이 생각보다 많아요.

    문제 2: SSH 접속이 갑자기 끊기는 문제

    장시간 SSH 세션을 유지할 때 자동으로 끊기는 경우가 있습니다. 서버 측과 클라이언트 측 모두 설정이 필요합니다.

    # 서버 측 SSH 설정 수정
    sudo nano /etc/ssh/sshd_config
    
    # 아래 줄 추가 또는 수정
    # ClientAliveInterval 60
    # ClientAliveCountMax 3
    
    # SSH 서비스 재시작
    sudo systemctl restart sshd

    문제 3: 디스크 공간 부족 경고

    Docker를 쓰다 보면 사용하지 않는 이미지, 컨테이너, 볼륨이 쌓여서 디스크를 잡아먹습니다. 주기적으로 정리해주세요.

    # 사용하지 않는 Docker 리소스 정리
    docker system prune -a --volumes
    
    # 디스크 사용량 확인
    df -h
    docker system df

    문제 4: 외부 접속 시 보안 설정 미흡

    홈서버를 외부에서 접근 가능하게 열어두면 보안이 중요해집니다. 최소한 아래 사항은 꼭 챙기세요.

    • SSH 포트 변경 — 기본 22번 포트는 자동화된 공격 대상이 됩니다
    • SSH 키 인증 사용 — 비밀번호 인증 대신 공개키 인증을 사용하세요
    • 방화벽 설정 — UFW(Uncomplicated Firewall)로 필요한 포트만 열어두세요
    • Fail2ban 설치 — 반복적인 로그인 시도를 자동으로 차단해줍니다
    # UFW 방화벽 설정
    sudo apt install -y ufw
    
    # 기본 정책 설정
    sudo ufw default deny incoming
    sudo ufw default allow outgoing
    
    # SSH 허용 (포트를 변경했다면 해당 포트 번호 입력)
    sudo ufw allow 22/tcp
    
    # 웹 서비스 포트 허용
    sudo ufw allow 80/tcp
    sudo ufw allow 443/tcp
    
    # 방화벽 활성화
    sudo ufw enable
    sudo ufw status

    ▲ Uptime Kuma와 Portainer를 활용한 홈서버 모니터링 대시보드 예시 — 서비스 가동 상태와 컨테이너 현황을 한눈에 확인할 수 있습니다.

    ✅ 검증 — 제대로 돌아가고 있는지 확인하기

    설정을 다 마쳤다면 제대로 동작하는지 확인해봐야죠. 드디어 됐다! 싶은 순간이 여기서 옵니다 🎉

    서비스 상태 확인

    # 실행 중인 컨테이너 전체 목록
    docker ps
    
    # 시스템 리소스 사용량 모니터링
    htop
    
    # 네트워크 포트 열림 확인
    ss -tlnp
    
    # 서비스 자동 시작 확인
    sudo systemctl is-enabled docker

    웹 UI 접속 확인

    • Portainer: http://서버IP:9000 접속 후 초기 관리자 계정 설정
    • Nginx Proxy Manager: http://서버IP:81 접속 (초기 계정: [email protected] / changeme)
    • Uptime Kuma: http://서버IP:3001 접속 후 모니터링할 서비스 추가

    💡 팁: 원격 접속 환경 구성

    외부에서 홈서버에 안전하게 접근하고 싶다면 VPN을 구성하는 게 좋습니다. WireGuard(와이어가드)나 Tailscale(테일스케일)을 추천합니다. Tailscale은 특히 설정이 정말 간단해서 처음 시작하시는 분들께 좋아요. 이 부분은 별도 글에서 자세히 다룰 예정이니 참고하세요.

    홈서버 구축 요약 — 이것만 기억하세요

    ▲ 미니PC 홈서버 구축 단계별 요약 — 하드웨어 선택부터 서비스 운영까지의 전체 흐름을 한눈에 정리했습니다.

    자주 묻는 질문 (FAQ)

    Q. 미니PC 홈서버, 얼마나 안정적인가요?

    저는 미니PC 기반 홈서버를 수년째 운영 중인데, 하드웨어 고장보다 설정 실수로 인한 다운이 훨씬 많았습니다. 안정적인 리눅스 배포판과 UPS(무정전전원장치)를 함께 쓰면 충분히 안정적으로 운영할 수 있어요.

    Q. RAM은 얼마나 있어야 하나요?

    파일 서버나 홈 자동화만 할 거라면 8GB로도 충분합니다. Docker로 여러 서비스를 돌린다면 16GB를 권장하고, 가상머신까지 올린다면 32GB 이상이 편해요.

    Q. SSD와 HDD 중 뭘 써야 하나요?

    OS와 Docker 데이터는 반드시 SSD(NVMe 권장)에 설치하고, 대용량 파일 저장은 외장 HDD나 NAS를 별도로 연결하는 구성을 추천합니다. SSD에 모든 걸 저장하면 비용이 많이 들고, HDD에 OS를 설치하면 속도가 너무 느려요.

    Q. 처음 홈서버를 시작한다면 어떤 서비스부터 올리면 좋을까요?

    Portainer로 Docker 관리 UI를 먼저 구성하고, Uptime Kuma로 모니터링을 설정한 다음, 본인이 가장 필요한 서비스(파일 서버라면 Nextcloud, 미디어 서버라면 Jellyfin 등)를 추가하는 순서를 권장합니다.

    마무리 — 홈서버는 꾸준히 배우는 과정입니다

    홈서버 구축, 처음엔 막막해 보이지만 막상 시작하면 생각보다 빠르게 동작하는 걸 볼 수 있어요. 저도 처음 홈서버를 구성할 때 며칠 밤을 새웠던 기억이 나는데, 지금은 새로운 서비스를 올리는 게 취미 수준이 됐거든요.

    미니PC 기반 저전력 홈서버는 홈서버를 처음 시작하거나, 전기요금 걱정 없이 24시간 운영하고 싶은 분들에게 정말 좋은 선택입니다. 완벽한 장비가 없어도 괜찮아요. 지금 있는 장비로 시작하고, 부족한 부분은 운영하면서 채워나가면 됩니다.

    다음 글에서는 Proxmox VE를 활용한 홈랩 가상화 환경 구성을 다룰 예정입니다. 미니PC 한 대로 여러 개의 가상머신을 돌리는 방법, 궁금하시죠? 이전 글에서 네트워크 기초 설정을 다뤘으니 함께 보시면 더 도움이 될 거예요.

    혹시 홈서버 구축하면서 막히는 부분이 있으시면 댓글로 남겨주세요. 제가 아는 범위 내에서 최대한 도움을 드리겠습니다. 🎉