VPS에서 Shadowsocks를 설정하여 검열을 우회하는 방법
안전하고 빠른 인터넷 검열 우회를 위해 Hiddence VPS에 Shadowsocks를 설치하고 구성하는 단계별 가이드.

Shadowsocks는 인터넷 검열을 우회하는 가장 효과적인 도구 중 하나로, 특히 엄격한 제한이 있는 국가에서 인기가 높습니다. 기존 VPN과 달리 Shadowsocks는 암호화가 포함된 SOCKS5 프록시를 사용하여 트래픽을 일반 HTTPS와 거의 구별할 수 없게 만듭니다. 이 가이드는 10분 안에 Hiddence VPS에 자체 Shadowsocks 서버를 배포하는 방법을 보여줍니다.
왜 Shadowsocks인가요?
- 은폐성: 트래픽이 일반 HTTPS 연결로 위장되어 DPI 시스템에 의해 감지하기 어렵습니다
- 속도: VPN에 비해 오버헤드가 적어 거의 네이티브 속도
- 유연성: 애플리케이션 수준에서 작동하며 특정 프로그램에 대해 구성 가능
- 크로스 플랫폼: Windows, macOS, Linux, Android, iOS용 클라이언트
- 오픈 소스: 완전한 코드 투명성 및 보안
요구 사항
- Hiddence VPS(최소 1GB RAM, 모든 Linux OS)
- Ubuntu 22.04 또는 24.04(권장)
- 서버에 대한 루트 접근 권한
- 연결을 위한 SSH 클라이언트
- 5-10분의 시간
Shadowsocks-Rust 설치(권장)
shadowsocks-rust 구현을 사용합니다 — Rust로 작성된 가장 빠르고 현대적인 버전입니다.
1단계: 시스템 준비
# SSH를 통해 서버에 연결
ssh root@your-server-ip
# 시스템 업데이트
sudo apt update && sudo apt upgrade -y
# 필요한 패키지 설치
sudo apt install curl wget -y2단계: Shadowsocks-Rust 설치
# 최신 버전 다운로드
wget $(curl -s https://api.github.com/repos/shadowsocks/shadowsocks-rust/releases/latest | grep 'browser_download_url.*x86_64-unknown-linux-gnu.tar.xz' | cut -d '"' -f 4)
# 아카이브 추출
tar -xvf shadowsocks-*.tar.xz
# 바이너리를 시스템 디렉토리로 이동
sudo mv ssserver /usr/local/bin/
sudo mv sslocal /usr/local/bin/
sudo chmod +x /usr/local/bin/ss*
# 설치 확인
ssserver --version3단계: 구성
# 구성용 디렉토리 생성
sudo mkdir -p /etc/shadowsocks
# 구성 파일 생성
sudo nano /etc/shadowsocks/config.json
# 다음 구성 삽입:
{
"server": "0.0.0.0",
"server_port": 8388,
"password": "YOUR_STRONG_PASSWORD_HERE",
"timeout": 300,
"method": "chacha20-ietf-poly1305",
"fast_open": true,
"mode": "tcp_and_udp",
"nameserver": "8.8.8.8"
}
# YOUR_STRONG_PASSWORD_HERE를 강력한 비밀번호로 교체
# 생성 가능: openssl rand -base64 32
# 권장 암호화 방법:
# chacha20-ietf-poly1305(권장) — 속도와 보안의 균형
# aes-256-gcm — AES 표준
# aes-128-gcm — 더 빠름, 모바일용
# 2022-blake3-aes-256-gcm — 최신 SS20224단계: 자동 시작
시스템 부팅 시 자동 Shadowsocks 시작을 위한 systemd 서비스를 생성하겠습니다.
# 서비스 파일 생성
sudo nano /etc/systemd/system/shadowsocks.service
# 삽입:
[Unit]
Description=Shadowsocks-Rust Server
After=network.target
[Service]
Type=simple
User=root
ExecStart=/usr/local/bin/ssserver -c /etc/shadowsocks/config.json
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=multi-user.target
# 저장 및 서비스 활성화
sudo systemctl daemon-reload
sudo systemctl enable shadowsocks
sudo systemctl start shadowsocks
# 상태 확인
sudo systemctl status shadowsocks5단계: 방화벽
# UFW 사용 시
sudo ufw allow 8388/tcp
sudo ufw allow 8388/udp
sudo ufw reload
# firewalld 사용 시
sudo firewall-cmd --permanent --add-port=8388/tcp
sudo firewall-cmd --permanent --add-port=8388/udp
sudo firewall-cmd --reload6단계: 최적화
최대 연결 속도를 위해 시스템을 구성하겠습니다.
# 네트워크 스택 최적화
sudo nano /etc/sysctl.conf
# 파일 끝에 추가:
# BBR 혼잡 제어
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
# 버퍼 증가
net.core.rmem_max=134217728
net.core.wmem_max=134217728
net.ipv4.tcp_rmem=4096 87380 67108864
net.ipv4.tcp_wmem=4096 65536 67108864
net.ipv4.tcp_mtu_probing=1
# Fast Open
net.ipv4.tcp_fastopen=3
# 변경 사항 적용
sudo sysctl -p7단계: 클라이언트
서버를 설정한 후 클라이언트 장치를 연결해야 합니다. 각 플랫폼에 대한 자세한 지침은 아래를 참조하세요.
Windows 클라이언트
1. 다운로드 및 설치
shadowsocks/shadowsocks-windows GitHub 페이지로 이동하여 최신 버전(Shadowsocks-x.x.x.zip 파일)을 다운로드하세요. 아카이브를 임의의 폴더로 추출하고 Shadowsocks.exe를 실행하세요.
2. 서버 추가
시스템 트레이(시계 근처)의 Shadowsocks 아이콘을 우클릭하고 서버 > 서버 편집을 선택하세요. 세부 정보를 입력하세요:
3. 프록시 활성화
트레이 아이콘 우클릭 > 시스템 프록시 > 전역(모든 트래픽 프록시) 또는 PAC(차단된 사이트에 대한 자동 모드). '시스템 프록시 활성화'를 활성화하세요. 완료! 이제 모든 트래픽이 Shadowsocks를 통해 전달됩니다.
Android 클라이언트
1. 앱 설치
Google Play 스토어에서 Max Lv의 'Shadowsocks'를 설치하거나 GitHub(shadowsocks/shadowsocks-android)에서 APK를 다운로드하세요. 설치 후 앱을 엽니다.
2. 프로필 추가
오른쪽 하단 모서리의 '+' (더하기) 버튼을 탭하세요. '수동 설정'을 선택하세요. 필드를 입력하세요:
3. 연결
화면 하단의 종이 비행기 아이콘을 탭하여 연결하세요. 첫 연결 시 Android는 VPN 연결 생성을 위한 권한을 요청합니다 — '확인'을 탭하세요. 연결 후 상태 표시줄에 열쇠 아이콘이 나타납니다.
iOS 클라이언트
1. 앱 설치
App Store를 열고 'Shadowrocket'(유료, 약 $3) 또는 'Potatso Lite'(무료)를 검색하세요. Shadowrocket이 더 기능이 많고 안정적입니다. 앱을 설치하세요.
2. 서버 구성
Shadowrocket의 경우: 앱을 열고 오른쪽 상단 모서리의 '+'를 탭하세요. 유형 선택: Shadowsocks. 입력하세요:
3. 연결 활성화
서버 이름 옆의 스위치를 켜세요. iOS는 VPN 구성을 추가하기 위한 권한을 요청합니다 — 작업을 확인하세요(Face ID / Touch ID 필요할 수 있음). '연결됨' 상태는 성공적인 연결을 의미합니다.
macOS 클라이언트
1. ShadowsocksX-NG 설치
GitHub(shadowsocks/ShadowsocksX-NG/releases)에서 ShadowsocksX-NG를 다운로드하세요. DMG 파일을 열고 애플리케이션을 애플리케이션 폴더로 드래그하세요. ShadowsocksX-NG를 실행하세요.
2. 서버 추가
메뉴 바(오른쪽 상단)의 비행기 아이콘을 클릭하세요. 서버 > 서버 기본 설정을 선택하세요. 새 서버를 추가하려면 '+'를 클릭하세요:
3. 프록시 활성화
메뉴 바 아이콘 클릭 > Shadowsocks 켜기. 프록시 모드 선택: '자동 프록시 모드'(권장, 스마트 라우팅을 위해 PAC 사용) 또는 '전역 모드'(모든 트래픽이 프록시를 통해). 완료!
보너스: 다중 사용자 설정
친구나 가족과 서버를 공유하려면 다중 포트 구성을 사용하세요.
# 구성 편집
sudo nano /etc/shadowsocks/config.json
# 다른 사용자를 위한 포트 형식 사용:
{
"servers": [
{
"server": "0.0.0.0",
"server_port": 8388,
"password": "user1_password",
"method": "chacha20-ietf-poly1305"
},
{
"server": "0.0.0.0",
"server_port": 8389,
"password": "user2_password",
"method": "chacha20-ietf-poly1305"
},
{
"server": "0.0.0.0",
"server_port": 8390,
"password": "user3_password",
"method": "chacha20-ietf-poly1305"
}
],
"timeout": 300,
"mode": "tcp_and_udp"
}
# 방화벽에서 새 포트 열기 잊지 마세요
sudo ufw allow 8389:8390/tcp
sudo ufw allow 8389:8390/udp
# 서비스 재시작
sudo systemctl restart shadowsocks고급: 난독화 플러그인 사용
DPI에 대한 추가 보호를 위해 Shadowsocks 트래픽을 위장하는 플러그인을 사용하세요.
v2ray-plugin(권장)
# v2ray-plugin 설치
wget https://github.com/shadowsocks/v2ray-plugin/releases/download/v1.3.2/v2ray-plugin-linux-amd64-v1.3.2.tar.gz
tar -xvf v2ray-plugin-*.tar.gz
sudo mv v2ray-plugin_linux_amd64 /usr/local/bin/v2ray-plugin
sudo chmod +x /usr/local/bin/v2ray-plugin
# Shadowsocks 구성 업데이트
{
"server": "0.0.0.0",
"server_port": 443,
"password": "your_password",
"method": "chacha20-ietf-poly1305",
"plugin": "/usr/local/bin/v2ray-plugin",
"plugin_opts": "server;tls;host=your-domain.com;cert=/path/to/cert.pem;key=/path/to/key.pem"
}
# 클라이언트에 추가:
# 플러그인: v2ray-plugin
# 플러그인 옵션: tls;host=your-domain.com문제 해결
일반적인 문제 및 해결 방법
- 연결할 수 없음: 방화벽을 확인하고 포트가 열려 있는지 확인
- 느린 연결: 다른 암호화 방법 시도(aes-128-gcm이 더 빠름)
- 주기적 연결 끊김: TCP Fast Open 및 BBR 활성화
- 서버가 차단됨: 난독화 플러그인 사용 및 포트 443 사용
- 로그 확인: sudo journalctl -u shadowsocks -f
보안 팁
- 강력한 비밀번호 사용(최소 20자, 무작위)
- Shadowsocks를 최신 버전으로 정기적으로 업데이트
- 서버 세부 정보를 공개적으로 공유하지 마세요 — 신뢰할 수 있는 사람들과만 공유
- 기본 포트(8388)를 비표준으로 변경
- 현대적인 암호화 방법 사용(chacha20-ietf-poly1305 이상)
- 적극적인 검열이 있는 지역에서 난독화 플러그인 사용 고려
- 트래픽 사용량 모니터링: sudo apt install vnstat && vnstat -l
- 자동 시스템 업데이트 설정