클라우드
오라클 분류

중국 황금방패 우회를 위한 VMess+TLS+Websocket+CDN VPN 구축하기

컨텐츠 정보

본문


기존에 올려드렸던 중국 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://templated.co/intensify/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
    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 기준으로 설명드립니다.


9d6d158cf29d5db31ec417d76cbc20f1_1606319809_3933.png

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


9d6d158cf29d5db31ec417d76cbc20f1_1606320235_2494.png
 

위와 같이 넣어주면 됩니다.


8. 참조 사이트


https://medium.com/@coorpee/docker-v2ray-caddy-3e484d6c84bc

관련자료

  • 서명
    우성짱의 NAS를 운영하고 있습니다.

    저의 즐거움이 여러분의 즐거움이면 좋겠습니다.

댓글 4개 / 1페이지

Mac Kim님의 댓글

docker-compose up -d --force-recreate caddy

위와 같이 caddy 웹서버를 다시 시작해주면 적용 해  주면 
ubuntu@frist-instance:~$ docker-compose up -d --force-recreate caddy
Creating network "ubuntu_default" with the default driver
ERROR: Failed to program FILTER chain: iptables failed: iptables --wait -I FORWARD -o br-1bed56a95025 -j DOCKER: iptables v1.8.4 (legacy): Couldn't load target `DOCKER':No such file or directory

나옵니다 어디가 잘 못 된 것인가요?

김현철님의 댓글의 댓글

방금 해결 했습니다.

재부팅 후 해결 되었습니다.

오라클에서 유분트  환경입니다.
Total 7 / 1 Page
RSS
Linode(리노드) 클라우드 서버 생성 및 Putty 접속하기

리노드 가상서버호스팅으로 유명한 Linode(리노드)에 가입하고 Putty 접속하는 방법에 대해 알려드리겠습니다.1. Linode(리노드) 가입하기ht…

중국 황금방패 우회를 위한 VMess+TLS+Websocket+CDN VPN 구축하기 댓글 4

오라클 기존에 올려드렸던 중국 VPN 3대장 구축하는 방법( https://www.wsgvet.com/ubuntu/170 )은 황금방패가 IP만 차단하…

오라클 클라우드 인스턴스와 도메인 연결하기 댓글 12

오라클 워드프레스, 그누보드, 라이믹스 같은 홈페이지를 운영하거나,VMess 또는 Trojan-Go 같은 기술을 이용하여 Websocket 방식으로 중…

오라클 클라우드 Ubuntu 20.04 인스턴스 기본 설정하기 댓글 16

오라클 1. 기본 패키지 업데이트하기우분투는 지속적으로 패키지(프로그램)가 업데이트되므로 최신 버전을 유지하는 것이 좋습니다.SSH로 접속한 후sudo…

오라클 클라우드 인스턴스 생성 및 SSH 접속하기 댓글 9

오라클 1. VM 인스턴스 생성하기위와 같이 왼쪽 위의 ORACLE Cloud 글자를 클릭하면 홈으로 돌아옵니다.그 후 VM 인스턴스 생성을 클릭합니다…

오라클 클라우드 구획, 가상 네트워크, 방화벽, 공용IP 설정하기 댓글 11

오라클 오라클 클라우드를 시작할 때 가장 먼저 해야할 것들을 소개해드립니다.1. 구획 생성하기위와 같이 왼쪽 위의 오라클 클라우드 로고 왼쪽에 메뉴버튼…

최근글


새댓글


알림 0