심층 패킷 검사(DPI)를 통해 네트워크는 주소와 포트를 넘어 트래픽의 형태를 판단할 수 있습니다. 기존 VPN 프로토콜은 알아볼 수 있는 핸드셰이크를 가지고 있어서, 검열 주체는 단 한 바이트도 복호화하지 않고 차단할 수 있습니다. 내 VPS에 둔 프라이빗 엔드포인트는 공유 차단 목록을 피하고, 일반 HTTPS를 흉내 내는 프로토콜은 핑거프린팅을 피합니다. 이 가이드는 그런 프로토콜 중 하나인 Xray의 VLESS와 REALITY를 설정합니다.
DPI가 VPN을 알아채는 방법
검열 주체는 세 가지 신호에 의존합니다. 고정된 핸드셰이크 패턴(OpenVPN과 WireGuard 모두 가지고 있습니다), 상용 VPN 제공업체의 알려진 IP 대역, 그리고 검열 주체가 서버에 직접 접속해 응답 방식을 확인하는 능동 탐지입니다. 프로토콜이 오래 버티려면 세 가지를 모두 견뎌야 합니다.
- 핸드셰이크 패턴: 트래픽을 진짜 TLS 세션으로 감싸서 피합니다.
- 공유 IP 대역: 나만 쓰는 서버를 사용해서 피합니다.
- 능동 탐지: 키가 없는 사람에게는 서버가 실제 웹사이트처럼 동작하게 해서 피합니다.
REALITY를 쓰는 이유
REALITY는 실제로 인기 있는 웹사이트의 TLS 핸드셰이크를 빌려 씁니다. 내 키를 모르는 탐지 요청은 그냥 그 사이트로 전달되어 정상적인 인증서와 페이지를 보게 됩니다. 키를 아는 클라이언트는 프록시를 이용하게 됩니다. 표적이 될 만한 자체 인증서도 없고 등록할 도메인도 없습니다.
1단계: 서버 준비
사용자까지의 경로가 좋은 위치에 새 Ubuntu VPS를 만들고, 먼저 기본 보안 강화를 적용하세요. 그런 다음 공식 스크립트로 Xray를 설치합니다.
sudo apt update && sudo apt -y upgrade
bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install
xray x25519
마지막 명령은 개인 키와 공개 키를 출력합니다. 개인 키는 서버에 보관하고 공개 키는 클라이언트에 전달하세요. xray uuid로 사용자 ID를 생성합니다.
2단계: Xray 설정 작성
TLS 1.3과 HTTP/2를 지원하고 서버에서 접근할 수 있는 위장용 사이트를 고르세요. 그 호스트 이름을 dest와 serverNames 양쪽에 넣습니다.
{
"inbounds": [{
"port": 443,
"protocol": "vless",
"settings": {
"clients": [{ "id": "YOUR-UUID", "flow": "xtls-rprx-vision" }],
"decryption": "none"
},
"streamSettings": {
"network": "tcp",
"security": "reality",
"realitySettings": {
"dest": "example.org:443",
"serverNames": ["example.org"],
"privateKey": "YOUR-PRIVATE-KEY",
"shortIds": ["a1b2c3d4"]
}
}
}],
"outbounds": [{ "protocol": "freedom" }]
}
/usr/local/etc/xray/config.json으로 저장한 다음 sudo systemctl restart xray를 실행하고 systemctl status xray를 확인하세요.
3단계: 방화벽을 열고 연결
sudo ufw allow OpenSSH
sudo ufw allow 443/tcp
sudo ufw enable
클라이언트에서 서버 주소, 포트 443, UUID, 공개 키, short ID, 동일한 서버 이름을 가져오세요. v2rayN, Nekoray, Streisand, Hiddify 같은 클라이언트가 REALITY를 지원합니다. flow는 서버와 일치하도록 xtls-rprx-vision으로 설정하세요.
계속 작동하게 유지하기
- 작은 사용자 그룹마다 VPS를 하나씩 쓰세요. 트래픽이 많은 엔드포인트는 프로파일링하기 쉽습니다.
- 위장용 사이트에 서버에서 접근할 수 없게 되면 연결이 실패합니다. 안정적인 사이트를 고르고 필요하면 바꾸세요.
- Xray를 최신 상태로 유지하세요. 프로토콜 수정이 자주 배포됩니다.
- 같은 IP의 443 포트에서 다른 것을 실행하지 마세요.
어떤 도구도 모든 검열 환경에서의 접속을 보장하지 않습니다. 실제로 사용할 네트워크에서 테스트하고, 대비책으로 두 번째 프로토콜을 준비해 두세요. 일상용으로 더 간단한 VPN은 VPS에 WireGuard 설치하기를, 두 가지 전통적인 프로토콜 중 선택은 WireGuard 또는 OpenVPN을 읽어 보세요.