Skip to main content

pangolin

또다른 리버스 프록시인 pangolin 입니다. 리버스 프록시이면서 newt라는 wireguard 기반의 VPN 클라이언트가 포함되어 있어서 마치 cloudflare 의 터널 서비스를 연상하게 합니다. 내부적으로는 pangolin UI + traefik + newt 로 구성되어 있습니다.

  • 리버스 프록시와 VPN의 결합 솔루션
  • 기본적인 SSO 기능이 내장되어 있으며, 별도의 OIDC provider 등을 추가하여 인증할 수도 있다.
  • CrowdSec 연동

pangolin 내부에 traefik 이 내장되어 있기 때문에 엄밀하게 말하면 pangolin은 traefik의 wrapper라고 해도 과언은 아니고, 더 가볍게 쓰고 싶다면 traefik을 쓰는게 정답일 수도 있습니다. traefik + authentic 등으로 구현한다면 거의 같은 기능을 구현할 수도 있을것 같습니다. 하지만 편리하게 쓸 수 있는 UI 가 큰 장점인 것 같습니다.

다만, Traefik과 몇가지 다른점이 있습니다.

  • traefik의 경우 k8s, docker의 label 기반으로 자동으로 도메인으로 연결해주는 특징이 있어서 같은 서버에 있는 컨테이너를 도메인과 연결하기 쉽지만 다른 서버의 컨테이너는 따로 dynamic config 파일을 작성해야 하기 때문에 (file provider) 불편함이 있다.
  • pangolin은 내부/외부 구분없이 config 추가해야 하지만, (traefik의 dynamic config 같은) 텍스트 파일 직접 편집이 아닌 UI로 해결이 가능하다.

개인적으로는 외부 VM에 리버스 프록시가 있고 여기에서 집의 로컬 네트워크 내의 서버로 연결해야 하기 때문에 거의 dynamic config를 작성해야 했기 때문에 이를 UI에서 처리할 수 있다면 더 편리한 것이 됩니다.

추가로 newt 가 vpn이므로 tailscale 이 필요 없습니다. ㅎ


현재는 해당 프로젝트도 유료 기능을 준비하고 있습니다. 기업용 기능으로 지원되는 기능은 다음과 같습니다.

  • 티켓 기반 지원
  • 자동 IdP 사용자 프로비저닝
  • 자동화를 위한 강력한 통합 API

하지만 위의 기능은 일반적인 homelab에서는 크게 필요하지 않고 여전히 커뮤니티 에디션으로도 개발이 잘 되고 있는 중입니다. 지금은 유료 기능과 별도로 supporter key 라는 기능이 있어서 기부를 받는 기능 정도만 있습니다.

사람에 따라서는 이러한 유료 기능, 기부 기능 추가가 반갑게 보이지 않겠지만, 글쎄요... pangolin은 아주 좋은 소프트웨어임엔 틀림없는 것 같고, 이제까지 오픈소스가 번아웃으로 없어지거나 수익이 안되서 개발 중단되거나 하는 걸 너무 많이 보고 오픈소스의 연속성에 관해 논의가 많이 되는 시점인데 이런 얘기도 못하게 하면... 글쎄요...