Pangolin – Cloudflare Tunnels의 오픈소스 대체제
(github.com/fosrl)- Cloudflare Tunnels와 유사한 기능을 제공하는 셀프호스팅 터널링 역방향 프록시 관리 서버
- WireGuard 기반 암호화 터널을 통해 포트포워딩 없이도 프라이빗 네트워크 자원을 안전하게 외부에 노출할 수 있음
- 역방향 프록시, 역방향 인증 및 접근제어, OAuth2/OIDC 지원 등 다양한 인증과 보안 기능, 직관적인 웹 대시보드 제공
- 도커 컴포즈(Docker Compose) 기반 배포로 손쉬운 설치 및 운영, API와 플러그인 연동을 통한 자동화와 확장성 확보
- IoT, 홈랩, 멀티클라우드, 비즈니스 서비스 등 다양한 환경에서 네트워크 제약을 우회하고 안전하게 자원을 관리할 수 있음
Pangolin 개요
- Pangolin은 자체 호스팅이 가능한 터널링 기반 역방향 프록시 서버로, 중앙 관리형 인증과 접근제어 기능을 제공함
- WireGuard 유저스페이스 클라이언트(Newt) 및 다양한 WireGuard 클라이언트와 연동되어, 방화벽 및 NAT 제약 환경에서도 안전하게 연결 가능함
- 포트포워딩 없이도 내부 자원을 외부에 노출할 수 있어 공개 IP를 숨기고 네트워크를 보호할 수 있음
- 대시보드에서 사이트, 사용자, 역할, 자원을 쉽게 관리할 수 있고, 다크모드 및 모바일 지원 UI 제공
주요 기능
-
WireGuard 터널을 통한 역방향 프록시
- 방화벽을 뚫지 않고 네트워크 자원 노출 가능 (포트 오픈 불필요)
- 자체 WireGuard 클라이언트(Newt)와 연동, 모든 WireGuard 클라이언트 지원
- 자동 SSL 인증서(Let's Encrypt) 발급 및 HTTP/HTTPS, TCP/UDP 서비스 지원
- 로드밸런싱 기능 내장
-
인증 및 접근제어
- 중앙화된 인증 시스템(플랫폼 SSO, OAuth2/OIDC, 외부 IdP 연동)
- 역할 기반 접근제어(RBAC), 자원별 IP/URL/범위 지정
- 이메일 OTP, TOTP, PIN코드, 임시 공유 링크 등 다양한 추가 인증 옵션
- 조직/사이트/사용자/역할 구성을 통한 체계적 관리
-
직관적인 대시보드
- 사이트/자원/사용자/역할을 한눈에 관리하는 클린 UI
- 사용량, 연결 상태 실시간 모니터링
- 라이트/다크 모드, 모바일 대응
-
손쉬운 배포 및 확장성
- Docker Compose 기반 설치, 클라우드/온프레미스 모두 지원
- API 및 Swagger 문서 제공, 자동화 및 커스텀 스크립트 연동 가능
- Traefik 플러그인(CrowdSec, Geoblock) 등과 연동해 WAF 및 지오블로킹 적용
- 여러 사이트를 하나의 중앙 서버로 통합 관리
대표 활용 사례
- 포트포워딩 제한된 환경(홈랩/ISP 제한) 에서 웹서비스 노출
- 사내/온프레미스 및 클라우드 어플리케이션을 안전하게 외부에 서비스
- IoT 네트워크 통합 관리: 분산된 IoT 현장을 중앙 서버에서 안전하게 연결 및 접근
- 멀티클라우드, 하이브리드 네트워크 통합 리버스 프록시/로드밸런서로 활용
유사 프로젝트와 차별점
- Cloudflare Tunnels: SaaS 기반의 역방향 프록시 서비스와 비슷하지만, Pangolin은 셀프호스팅으로 완전한 인프라 제어권을 가짐
- Authelia: 중앙 인증, 역할 관리에서 영감을 받았음
배포 및 라이선스
- Docker Compose로 중앙 서버 배포, 도메인 연동, 사이트 연결, 자원 노출까지 단계별 가이드 제공
- AGPL-3 및 Fossorial 상용 라이선스로 듀얼 라이선스 정책
Hacker News 의견
- 안녕하세요, 저는 이 프로젝트의 다른 메인테이너임. 시스템의 다른 컴포넌트들에 대해 좀 더 자세히 설명하고 싶음. Pangolin은 HTTP 프록시 동작을 위해 내부적으로 Traefik을 사용함. Badger라는 플러그인이 모든 요청의 인증을 Pangolin으로 처리함. 두 번째 서비스인 Gerbil은 Pangolin이 연결을 위한 WireGuard 피어를 만들 수 있게 해 주는 관리 서버임. 마지막으로 Newt가 있는데, 사용자 공간에서 완벽하게 WireGuard를 활용하고, Gerbil과 통신해 로컬 리소스를 프록시해 주는 CLI 툴 및 Docker 컨테이너임. 이를 통해 서비스 노출 시 루트 권한 프로세스나 특권 컨테이너를 실행할 필요 없음
- 몇 달 동안 Hetzner의 작은 VPS에서 집으로 트래픽 터널링하는 용도로 이걸 사용해 왔음. 경험이 매우 원활하고 안정적이었음. 한 가지 이슈가 있다고 생각했으나 Pangolin과는 무관했음. 관련 내용은 여기에서 확인 가능함
- 여기에 언급한 각 사용 사례마다 문서에 미니 튜토리얼이 있으면 테스트를 빠르게 해보고 도움이 되는지 확인할 수 있을 것 같음
- 이거 정말 흥미로움. Cloudflare Tunnel에 종속되는 것이 항상 불만이었는데, 오픈 소스 대안을 보니 진짜 신선함. Pangolin이 네트워크 불안정, 인증 이슈, 스케일링 등 까다로운 부분을 어떻게 처리하는지 궁금함. 실제로 써본 분들은 Cloudflare의 "그냥 된다" 매직과 비교해서 어떤지 알려주면 좋겠음. 특히 집에서 자가 호스팅을 할 때 잘 작동하는지 궁금함. 참고로 나는 라즈베리파이로 블로그와 다양한 취미 프로젝트를 집에서 운영 중임. 실제 경험담이 정말 도움이 될 것 같음
- 이거 원격 개발 박스 여러 대를 다루거나 비슷한 용도로 정말 흥미로워 보임. 사실 그런 인프라에 깊게 관여해본 적이 없는 입장이라 질문이 조금 기초적일 수 있음. CF 터널은 사용해 본 적 없고, 지금까지는 SSH로 리버스 프록시 터널을 만들거나 Tailscale 정도만 써 봤음. 테스트용 내부 서비스가 특정 디바이스(EC2 인스턴스나 집에 있는 노트북)에만 있어서 그렇게 했었음. 쉽게 말해 tailscale 같은 솔루션과 비교해 Pangolin이 어떤 점이 다른지 설명해 줄 수 있는지 궁금함
- 네가 사용 중인 SSH나 Tailscale은 그 목적에 정말 잘 맞는 선택임. Pangolin은 일반적으로 ssh 터널처럼 일시적이기보다는, 서비스로 향하는 정적이고 상시적인 터널에 가까움. 네트워크 내부 앱을 가족 등 외부 사람들이 웹브라우저로 접근할 수 있게 공개하고 싶을 때 적합함. 예를 들어 비즈니스용 내부 앱이나 Immich, Grafana 같은 홈랩 서비스를 브라우저에서 외부에 제공하고 싶다면 이 도구가 매우 유용할 것임. 이해되었기를 바람
- 나는 집에 있는 unraid 서버에서 CF 터널을 광범위하게 사용함. 요약하자면, 특정 앱을 공개하고 싶고 Tailscale 노드를 추가하고 싶지 않을 때(예: 내 Plex 서버를 쓰는 내 동생) CF에서 서브도메인을 하나 만들고, 그 서브도메인을 CF 터널로 라우팅함. 사이트/서비스 하나당 폼 세 칸만 입력하면 되고, 자동으로 SSL 인증서도 발급됨. 그래서 만족하면서 사용 중임
- Tailscale(그리고 headscale)은 외부에서 접근 불가능한 내부 리소스 접속에 아주 적합함. NAS를 외부에서 차단하고 내부에서만 접근하고 싶을 때 쓰기도 함. Cloudflare 터널은 외부에 서비스를 노출하면서도 약간의 보호를 제공함. 일부 사용자는 백엔드는 tailscale로만 접근하게 하고, 퍼블릭 쪽은 Cloudflare 터널로만 열기도 함. 중앙 nginx 프록시 매니저로 Cloudflare 터널을 직접 연결하는 것도 충분히 가능한 방법임. 물론 Tailscale로도 공개 서비스로 라우팅할 수는 있지만, Cloudflare가 조금 더 견고한 보호를 제공함. Pangolin도 충분히 흥미로워 보여서 테스트해볼 만하고, 테스트할 땐 Cloudflare 터널 뒤에 두었다가 필요하면 전면에 둘 수도 있을 것 같음
- 진지한 보안 초보 질문임. 이런 류의 솔루션을 사용할 때, 보안 관점에서 최악의 시나리오는 무엇인지 궁금함. 인증이 뚫리면 내부 포트라도 공개될 것 같긴 한데, 그 외에 추가로 주의해야 할 점이 있는지 알고 싶음
- 인증 서비스 특성상 영향 범위가 크기 때문에, 전문 보안 감사를 진행했는지와 공식적인 공개 보안 침투 테스트 프로그램이 있는지 궁금함
- 만약 감사를 했다면 문서에 표시되어 있을 것이라고 생각함
- 정말 좋아 보임. 나도 최근 비슷하게 OPNSense 박스를 활용해 DNS, WireGuard 인스턴스, 그리고 인증서를 Synology의 Nginx 리버스 프록시에 전달하는 구조를 구축했음. 클라이언트에선 WG 터널을 내부 IP 대역에서만 켜고, 내부 DNS로만 동작하게 하여 공인 인증서에 내 IP를 노출하지 않게 했음. 이렇게 하면 집에서 동작하는 네트워크엔 문제없지만, 여러 사이트를 다룰 땐 Pangolin이 더 세련되고 설정도 간단할 것 같음. Newt가 WireGuard 서버의 별도 구현인지, 그리고 보안 감사를 받은 적이 있는지도 궁금함
- Pangolin과 NetBird의 차이가 궁금함. NetBird도 셀프 호스팅과 완전 오픈 소스임. NetBird 깃허브 링크
- 내가 알기로 NetBird는 오픈 소스 버전에 모든 기능이 포함되어 있지는 않음. 결정적으로 SSO 비용 문제 때문에 사용을 포기하게 되었음
- 나도 더 자세히 알고 싶음. 사용 사례는 비슷한데, 기술적으로는 다름. NetBird는 WireGuard를 활용한 Tailscale 대안이고, Pangolin은 Traefik을 사용함. 나는 NetBird 사용자이며 매우 만족함. UI 디자인은 두 곳 다 비슷한 점이 있음
- 이것이 zrok 같은 다른 오픈소스와는 어떻게 다른지 궁금함
- 정말 멋진 프로젝트임. 나는 tailscale과 VPS에 설치한 nginx proxy manager로 내 앱을 외부에 공개했고, 해당 내용을 여기에 적어 놓았음. Pangolin은 이와 비슷하면서도 더 좋은 UI와 컨트롤을 제공하는 듯하니 꼭 사용해 볼 예정임. 한 가지 궁금한 점은 여러 도메인 처리가 가능한지임. 나는 여러 도메인을 VPS로 포인트하여 nginx proxy manager에서 프록시하는데, Pangolin도 이렇게 여러 도메인을 지원하는지 궁금함
- Cloudflare Tunnels의 오픈소스 대안이 상당히 많음: awesome-tunneling 깃허브 링크. 그중에서 Pangolin이 가장 완성도 높고 다듬어진 솔루션 중 하나라고 생각함