중국 황금방패 우회를 위한 VMess+TLS+Websocket+CDN VPN 구축하기
컨텐츠 정보
- 8,566 조회
- 24 댓글
본문
기존에 올려드렸던 중국 VPN 3대장 구축하는 방법( https://www.wsgvet.com/ubuntu/170 )은 황금방패가 IP만 차단하면 접속이 안되는 단점이 있습니다.
클라우드플레어를 이용하여 IP 차단을 예방하고, Caddy 웹서버를 설치하여 VPN이 아닌 실제 사이트처럼 속이는 방법을 알려드리겠습니다.
0. 중국 VPN 3대장 구축하기
https://www.wsgvet.com/ubuntu/170
위 링크에 있는 글과 유튜브를 보고 구축합니다.
1. 도메인과 오라클 클라우드 연결하기
우선 도메인(홈페이지 주소)이 필요하고, 해당 도메인이 오라클 클라우드 인스턴스의 IP를 가리키게 해야합니다.
오라클 클라우드 인스턴스와 도메인 연결하기 : https://www.wsgvet.com/cloud/12
위와 같이 도메인을 받고, 인스턴스의 공용IP를 도메인과 연결한 후 인스턴스의 SSH에서 작업하면 됩 니다.
2. Caddy 웹서버 설정하기
우선 파일과 폴더의 구조는
.
├── Caddyfile
├── config/
├── data/
├── docker-compose.yml
├── log/
│ ├── caddy/
│ └── v2ray/
└── config.json
위와 같이 될 것입니다.
mkdir -p config data log/caddy log/v2ray
우선 위와 같이 필요한 폴더를 생성합니다.
nano Caddyfile
위 명령어로 캐디 설정 파일을 작성합니다.
example.com
{
log {
output file /var/log/caddy/caddy.log
}
root * /usr/src
file_server
tls youremail@email.com
@websockets {
header Connection Upgrade
header Upgrade websocket
}
reverse_proxy @websockets v2ray://v2ray:51821
}
위 내용에서 수정할 부분이 2군데입니다.
example.com을 발급 받은 도메인 주소로 바꾸는 것입니다. VMess 접속에 필요합니다.
youremail@email.com를 자신의 이메일 주소로 변경하는 것입니다. SSL 인증서 발급에 필요합니다.
수정이 끝나면 컨트롤 + O, 엔터, 컨트롤 + X로 저장 후 닫기를 해줍니다.
3. v2ray 설정 수정하기
nano ./v2ray/config.json
위 명령어로 v2ray의 설정을 변경합니다.
{
"log": {
"loglevel": "warning",
"access": "/var/log/v2ray/access.log",
"error": "/var/log/v2ray/error.log"
},
"inbounds": [
{
"port": 51821,
"protocol": "vmess",
"settings": {
"clients": [{
"id": "생성된 UUID 붙여넣으면 됩니다",
"level": 0,
"alterId": 100
}]
},
"streamSettings": {
"network": "ws",
"wsSettings": {
"path": "/"
}
}
},
{
"port":51822,
"protocol":"shadowsocks",
"settings":{
"method":"aes-128-gcm",
"password":"shadowsocks용 비밀번호"
}
}
],
"outbounds": [
{
"protocol": "freedom",
"settings": {}
},
{
"protocol":"blackhole",
"settings":{},
"tag":"blocked"
}
],
"routing":{
"rules":[{
"type":"field",
"ip":["geoip:private"],
"outboundTag":"blocked"
}]
}
}
위와 같은 형식으로 변경해줍니다. UUID 부분은 새로 생성해도 되고, 기존 것을 재사용해도 됩니다.
컨트롤 + K를 입력하면 한줄씩 지워집니다. 모두 삭제 후 붙여넣기 하면 편합니다.
수정이 끝나면 컨트롤 + O, 엔터, 컨트롤 + X로 저장 후 닫기를 해줍니다.
4. 우회 사이트 파일 다운 받기
sudo apt install unzip
위 명령어로 unzip 패키지를 설치합니다.
mkdir www
위 명령어로 우회 사이트 파일이 들어갈 폴더를 생성합니다.
wget -O ./www/web.zip --no-check-certificate https://html5up.net/massively/download
위 명령어로 파일을 다운받습니다.
unzip -o -d ./www ./www/web.zip && rm -f ./www/web.zip
위 명령어로 압축파일을 풀고, 압축 파일을 삭제합니다.
5. docker-compose.yml 파일 수정하기
Caddy 웹서버 추가 및 포트 번호 수정이 필요합니다.
nano docker-compose.yml
위 명령어로 도커 설정 수정에 들어갑니다.
version: "3"
services:
wireguard:
image: linuxserver/wireguard
container_name: wireguard
cap_add:
- NET_ADMIN
- SYS_MODULE
environment:
- PUID=1000
- PGID=1000
- TZ=Asis/Seoul
- SERVERPORT=51820 #optional
- PEERS=1 #optional
- PEERDNS=auto #optional
volumes:
- ./appdata/config:/config
- /lib/modules:/lib/modules
ports:
- 51820:51820/udp
sysctls:
- net.ipv4.conf.all.src_valid_mark=1
restart: unless-stopped
v2ray:
image: v2fly/v2fly-core
container_name: v2ray
volumes:
- ./v2ray:/etc/v2ray
- ./log/v2ray:/var/log/v2ray
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
environment:
- V2RAY_VMESS_AEAD_FORCED=false
ports:
- 51822:51822
caddy:
image: caddy
container_name: caddy
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- ./data:/data
- ./log/caddy:/var/log/caddy
- ./config:/config
- ./www:/usr/src
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "80:80"
- "443:443"
위와 같이 수정합니다.
기존에 있던 내용을 컨트롤 + K로 모두 삭제하고 붙여넣기 하면 됩니다.
수정이 끝나면 컨트롤 + O, 엔터, 컨트롤 + X로 저장 후 닫기를 해줍니다.
참고로 와이어가드와 v2ray의 shadowsocks 51822포트는 그대로 사용할 수 있습니다.
다만 vmess의 포트가 443으로 변경된 것입니다.
방화벽은 당연히 80,443이 열려있어야겠죠? 제 가이드에 따라 오셨다면 열려있을 것입니다.
https://www.wsgvet.com/cloud/4
방화벽 관련은 위 링크를 참조하세요.
6. 도커 실행하기
docker-compose up -d
위 명령어로 시작해줍니다.
7. 접속 방법
Netch 기준으로 설명드립니다.

위와 같이 Server 클릭 후 Add VMess Server를 클릭해줍니다.

위와 같이 넣어주면 됩니다.
8. 참조 사이트
관련자료
-
서명우성짱의 NAS를 운영하고 있습니다.
저의 즐거움이 여러분의 즐거움이면 좋겠습니다.
파인스데이님의 댓글
중국에서 사용 시 결국 ip 차단 방지하려면 해당 오라클 공용ip에서는 vmess만 사용을 해야 황금방패에 필터링 안되는 개념이 맞는 건가요? 해당 ip를 사용하는 wireguard, outline등을 사용하다가 황금방패에 차단이 되면 vmess도 동일 ip라 문제 되는거 아닌가 궁금해서 문의 드려봅니다.