
아미르(Amir)는 MUO의 소프트웨어 섹션 리더이자 약학대학원생으로, 숫자와 스프레드시트를 다루는 것을 좋아합니다. 아버지의 취미에서 영감을 받아 DIY에 재능을 키워 고등학교 시절 첫 쿼드콥터를 직접 만들었고, 18세부터 3D 프린팅 글쓰기를 시작해 현재는 생산성, 스프레드시트, 사진, 음악 등 다양한 주제를 집필·편집하고 있습니다.
요즘 VPN을 사용하지 않는 사람이 있을까요? 지역 제한 콘텐츠 시청부터 온라인 프라이버시 보호까지 VPN을 쓸 이유는 많고, 선택할 수 있는 서비스도 무수히 많습니다. 무료든 유료든, 클라우드와 비밀번호 관리자가 묶인 패키지든 종류는 다양하지만, 그중 가장 중요한 기능은 단 하나입니다. 바로 '프라이버시'죠.
그렇다면 프라이버시를 되찾는 최선의 방법은 무엇일까요? 상업용 VPN 업체에 맡기는 것이 아니라, 직접 만드는 것입니다. 요즘은 자체 VPN 구축이 놀랄 만큼 쉬워졌고, 최첨단 기술을 갖춘 프로토콜도 여러 가지나 있습니다.
OpenVPN
모듈형 베테랑

OpenVPN은 2001년 제임스 요난(James Yonan)이 개발한 오픈소스 프로토콜입니다(이 목록의 다른 항목들과 마찬가지로). 출시 당시 혁신적이었던 이유는 표준 SSL/TLS 라이브러리인 OpenSSL을 활용해 안전한 터널을 제공했기 때문입니다. 지금은 온갖 실전을 거친 업계의 원조 격 프로토콜로, 사실상 상상할 수 있는 모든 하드웨어와 네트워크 환경에서 작동하도록 설계되어 있으며, 요즘은 수많은 기기에 기본 내장되어 있습니다.
OpenVPN은 사용자 공간(user-space)에서 실행되는 L3(레이어 3) VPN입니다. 가장 강력한 기술적 특징은 UDP 또는 TCP 어느 쪽으로도, 그리고 어떤 포트로도 실행할 수 있다는 점입니다.
20년 넘게 사용되어 온 덕분에 따라올 자 없는 안정성과 거대한 지원 생태계를 갖추고 있으며, 이론상 거의 모든 기본 방화벽을 우회할 수도 있습니다. 다만 사용자 공간에서 실행되고 코드베이스가 복잡한 탓에 이 목록에서는 가장 느린 프로토콜입니다. 그럼에도 범용성 면에서는 여전히 훌륭한 선택입니다. 특히 공유기에서 VPN을 돌리고 싶다면, 이 목록 중 공유기가 지원하는 프로토콜은 OpenVPN뿐일 가능성이 높습니다.
WireGuard
가장 빠른 속도

보안 연구원 제이슨 도넨펠트(Jason Donenfeld)가 2016년에 만든 WireGuard는 OpenVPN 같은 레거시 VPN의 군살을 덜어내고자 하는 마음에서 탄생했습니다. 코드베이스가 극도로 작아(OpenVPN 코드량의 1% 미만) 감사가 쉽고 매우 빠르며, 공격 표면이 줄어들어 구조적으로 더 안전합니다.
WireGuard는 크립토키 라우팅(cryptokey routing) 방식을 사용해 피어의 공개 키와 터널 내 허용 IP 주소 목록을 짝지어 처리합니다. 흥미로운 점은 '침묵하는' 프로토콜이라는 것입니다. 인증되지 않은 패킷에는 전혀 응답하지 않기 때문에, 서버가 실행 중이더라도 포트 스캐너에는 해당 포트가 닫혀 있는 것처럼 보입니다.
WireGuard의 장점은 예상할 수 있듯이 매우 높은 속도, 거의 즉각적인 연결 속도, 모바일에서의 뛰어난 전력 효율입니다. 로밍 처리도 완벽해서 Wi-Fi에서 모바일 데이터로 전환해도 터널이 그대로 유지되며 연결이 끊기지 않습니다. 반면 프라이버시와 성능 중심으로 설계된 탓에 고급 방화벽 대응은 약합니다. UDP만 지원하고(제한이 심한 지역에서는 UDP가 차단되곤 합니다) 난독화 기능이 없어 VPN 트래픽임이 쉽게 드러납니다.
WireGuard를 날것 그대로 설정하는 것은 다소 번거로울 수 있습니다. 이럴 때 wg-easy 같은 스크립트를 활용해 보세요. Docker로 간편히 설치할 수 있고, 연결을 관리할 수 있는 깔끔한 웹 대시보드도 함께 제공됩니다.
Outline
난독화의 달인

Shadowsocks는 2012년 'clowwindy'라는 개발자가 중국의 만리방화벽(Great Firewall)을 우회하기 위해 만든 프로토콜로, 검열 통과 능력은 이미 입증된 바 있습니다. 구글 산하 회사인 Jigsaw가 Shadowsocks를 다듬어 탄생시킨 것이 바로 Outline입니다. 그 철학은 '티 내지 않기'입니다. 보안 터널처럼 보이는 대신, 암호화된 트래픽이 어떤 경보도 울리지 않는 무작위의 의미 없는 노이즈처럼 보이도록 만드는 것입니다.
Outline은 OpenVPN이나 WireGuard처럼 가상 네트워크 인터페이스를 생성하지 않습니다. 대신 SOCKS5 프로토콜로 트래픽을 리다이렉트합니다. 가장 큰 장점은 스테이트리스(stateless, 상태 비저장) 방식이라는 점입니다. 출발지와 목적지 간의 전통적인 핸드셰이크 과정이 없으므로, 이것만으로도 Outline은 훨씬 더 탐지하기 어려워집니다.
Outline은 다른 프로토콜과 조금 다르게 작동합니다. Outline 클라이언트, Outline 매니저, 서버로 구성되어 있는데, 먼저 서버에 설치하고 매니저에서 접속 키를 발급받은 뒤 클라이언트로 연결하면 됩니다. 클라이언트는 모든 플랫폼에서 사용할 수 있습니다.
VLESS + REALITY
VPN의 은폐 등급

VLESS는 VPN 기술의 최전선에 선 프로토콜이고, 여기에 REALITY를 결합하면 그 최전선마저 한 단계 앞서게 됩니다. 무작위 노이즈처럼 보이는 방식(수상하다는 이유로 오히려 차단될 수 있습니다) 대신, VLESS+REALITY는 마이크로소프트나 애플처럼 완벽하게 정상적인, 신뢰도 높은 웹사이트 방문으로 보이는 것을 목표로 합니다.
VLESS는 스테이트리스 전송 프로토콜이고, REALITY는 TLS 핸드셰이크를 리다이렉트하는 보안 계층입니다. 연결이 이루어지면 서버는 실제로 차단되지 않은 도메인의 TLS 인증서를 빌려 사용합니다. 검열 기관이 연결을 검사하려 들면 서버는 실제 웹사이트의 응답을 그대로 프록시해 전달합니다. 꽤 영리한 방식이죠!
약간의 용어 정리: Xray는 서버에서 엔진 역할을 하는 현대식 고성능 소프트웨어 코어(원조 V2Ray에서 포크된 프로젝트)입니다. VLESS는 그 엔진 안에서 동작하는 전송 프로토콜('언어')이며, REALITY는 VLESS를 위한 고급 보안 확장으로, 연결을 신뢰할 수 있는 웹사이트로 향하는 정상적인 HTTPS 방문처럼 위장합니다. 이 도구들은 모두 더 넓은 Project V 생태계에 속합니다.
이 조합은 비할 데 없는 은폐성을 제공합니다. 누군가 네트워크를 감시하고 있다면, 일반 VPN에 연결하는 순간 최소한 'VPN을 사용한다'는 사실은 알 수 있습니다. 하지만 VLESS+REALITY를 사용하면 그조차 알 수 없습니다. 다만 서버와 클라이언트 모두 설정이 다소 까다롭고, REALITY를 수동으로 구성하려면 어느 정도 기술적 지식이 필요합니다. 그래도 3X-UI 같은 편리한 도구를 사용하면 모든 설정이 손쉽게 이루어지고 관리용 웹 패널도 제공됩니다. 설정을 마쳤다면 클라이언트는 iOS에서는 Streisand, 안드로이드에서는 v2rayNG를 추천합니다. 데스크톱용 클라이언트도 다양하게 나와 있습니다.
VPN은 직접 구축하세요
제목 그대로입니다. 이 프로토콜 중 하나를 1분 이내에 배포하고 진정한 프라이버시를 누릴 수 있습니다. 서버의 전체 대역폭이 온전히 나에게 속하므로 혼잡 걱정도 없습니다. 월 3달러짜리 서버도 충분히 찾을 수 있고, RAM 512MB짜리 서버 하나로도 여러 VPN 프로토콜을 동시에 운영할 수 있습니다.
월 3달러면 대부분의 VPN 업체가 받는 요금보다 훨씬 저렴합니다. 대신 잃는 것은 위치의 다양성입니다. 서버를 구매한 지역이 곧 접속 지역이 되는 것이죠. 하지만 그 서버는 VPN 외에도 훨씬 다양하게 활용할 수 있습니다. 웹사이트나 취미 프로젝트를 호스팅하는 VPS가 이미 있다면, 거기에 VPN을 설치하는 것은 사실상 공짜나 다름없습니다. 내 것이 된다는 것, 그것이 가장 중요합니다!