Tailscale! 원격근무 시대에 걸맞는 VPN

  • Post Author:
  • Post Category:칼럼
  • Post Comments:0 Comments
  • Post last modified:March 23, 2020

주의

이 글은 출시한지 얼마 안 된 서비스를 소개합니다. 구현의 완성도보다는 제품의 개념과 접근방법에 집중합니다.

자택근무해보면 일반적인 VPN 체계가 매우 부자연스럽다는 걸 느낄 겁니다. 개발환경, 운영환경, 사무실 등 환경마다 VPN이 따로 있어 매번 새롭게 연결을 맺어야 한다던가. 사무실에 있을 때와는 달리 동료에게 파일을 보낼 방법이 마땅치 않다던가. 이는 일차적으로 VPN 게이트웨이를 중심으로 네트워크 토폴리지를 구성했기 때문입니다. 이런 문제를 해결하고자 작년부터 고민을 많이 했는데 이번에 우연히 저와 동일한 해법을 실제로 구현한 제품을 찾았습니다. 서비스를 개시한지 몇 개월 안 되는 모양이니 비슷한 시기에 비슷한 고민을 한 사람이 창업을 한 모양입니다.

Tailscale 은 실질적으론 여러 개의 데이터센터, 사무실, 각 가정 등 여러 네트워크 환경을 하나의 네트워크인 것처럼 묶어줍니다. 로그인은 한번만 하면 되고, 각 단말을 암호화된 메시네트워크로 구성하는데 Wireguard를 이용하는데다 P2P 네트워크를 거미줄처럼 엮기 때문에 더 빠르고 더 안정적일 겁니다. 이론적으론 원격으로 일할 때라도 사무실에서 일할 때와 차이가 거의 없을 겁니다. 어쩌면 원격근무용이라 꼬리를 달 필요가 없을지 모릅니다. 사무실이든 집이든 항상 암호화된 VPN 을 이용해도 되겠지요. 이는 재택근무시의 수칙을 따로 마련하고 교육할 필요가 없다는 뜻이기도 합니다.

Tailscale의 주요기능을 보면 확실히 기업 시장을 잘 이해한단 생각이 듭니다. 우선 Tailscale은 Okta와 같은 IDP를 지원하므로 인증과 권한제어를 어느 정도 통합할 수 있다고 합니다. 여기에 ACL만 적절히 구현해주면, 무슨 시스템 들어갈 때마다 별도의 VPN 게이트웨이에 로그인해야 하는 불편함은 겪지 않아도 됩니다. 개인용 무료 요금제인 Solo에선 이러한 기능에 제약이 있어 아직 구현의 완성도를 평가해보진 못했으니 어디까지나 이론적인 이야기입니다.

Wireguard는 UDP 프로토콜을 이용하는데 대부분의 환경에서는 UDP 프로토콜을 매우 제한적으로 허용합니다. Tailscale은 그런 것까지 고려해서 UDP를 TCP로 감싸 통신하는 기능(Encrypted TCP relays)을 제공합니다. 이와 더불어 Tailscale은 감사 로그도 제공합니다. 감사 기록이 어느 정도로 치밀한지는 앞으로 살펴볼 예정입니다. 기회가 있다면 공유하겠습니다.

이상으로 Tailscale의 소개를 마칩니다. 머릿 속으로 구상했던 그런 서비스를 발견하다니 흥분되기도 하고 아쉽기도 하고 감정이 복잡합니다. 🙂

참고

Buy me a coffeeBuy me a coffee

최 재훈

Kubernetes, DevSecOps, Golang, 지속적인 통합 등 다양한 주제에 관심이 많다.