Nylon: Tailscale을 나만의 메시 VPN (Mesh VPN)으로 대체했습니다
요약
사용자는 모든 클라우드 서버, 모바일 기기, 워크스테이션을 하나의 통합된 LAN처럼 연결하기 위해 Tailscale을 대체하는 메시 VPN인 Nylon을 구축했습니다. Nylon은 Babel 프로토콜을 사용하여 네트워크 상태와 프리미엄 링크를 고려한 동적 최적 라우팅을 지원하며, 특히 지연 시간에 민감한 작업에 최적화되어 있습니다.
핵심 포인트
- Tailscale이나 Nebula와 달리 데이터 라우팅에 대한 높은 제어권을 제공함
- Babel(RFC 8966)을 사용하여 동적으로 최적의 네트워크 경로를 선택함
- 물리적 네트워크 상태를 고려하여 지연 시간을 최소화하는 라우팅 가능
- CN2 GIA나 Akamai와 같은 프리미엄 네트워크 링크를 선택적으로 활용 가능
저는 모든 클라우드 서버, 모바일 기기, 그리고 워크스테이션이 동일한 LAN(근거리 통신망)에 있든 인터넷을 통해 떨어져 있든 상관없이, 이들을 모두 연결하는 하나의 통합된 VPN을 원했기 때문에 nylon을 구축했습니다.
또한 저는 지연 시간(Latency)에 민감한 "업무" 에헴 (게임 스트리밍)을 하고 있었습니다. 그래서 만약 제가 게이밍 PC와 동일한 물리적 네트워크에 있다면, VPN이 가장 낮은 지연 시간을 가진 LAN 경로를 통해 라우팅(Routing)하고, 필요할 때만 다른 노드(Node)로 전환하기를 원했습니다.
참고: 저는 Tailscale과 Nebula를 고려해 보았습니다. 이것들은 대부분의 경우 잘 작동하지만, 데이터가 어떻게 라우팅되는지에 대한 제어권을 주지 않습니다. 이들은 일반적으로 직접 연결을 설정하거나(최대 릴레이를 통한 1-홉(1-hop) 연결), 하부 네트워크의 상태를 고려하지 않습니다.
Nylon을 사용하면 CN2 GIA나 Akamai(서로 다른 지역의 두 Linode를 통해)와 같은 더 프리미엄 네트워크를 가진 링크를 추가하도록 선택할 수 있습니다. Nylon은 이러한 링크들을 고려하여 Babel (RFC 8966)을 사용하여 동적으로 최적의 라우팅을 선택합니다.
상세 내용에 관심이 있으시다면, 이를 구축하며 겪은 도전 과제들을 심도 있게 다룬 블로그 포스트를 작성했습니다: https://jiaqi.dev/posts/nylon
시작하기 위한 문서: https://nylon.jq.ax
여러분의 생각과 피드백을 듣고 싶습니다! 감사합니다 :)
AI 자동 생성 콘텐츠
본 콘텐츠는 r/SelfHosted (AI filter)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기