중국 출장 나올때마다 구글이 안된다! 카톡이 안된다! 유튜브를 못봐!
그래서 최신 유행하는 vpn이나 proxy가 어떤게 있는지 확인해보고 설치해본다.
창과 방패는 역시 필요에 의해서 개발된다. 최신 우회 proxy는 다 중국에서 만들어지고 있다. github(중국에서 차단된) 에도 중국 친구이 올린 툴과 방법들이 많다.
(2023-12-17 업데이트)
v2-ui 가 github 에서 삭제되고
v-ui 가 사용되고 있습니다.
아래 클리앙 글 참조하여 세팅하면 됩니다.
https://www.clien.net/service/board/lecture/17799473
이번에는 vless + xtls 라는 proxy 를 설치해볼 예정이다.
과거에는 v2ray (vmess) + tls 또는 tcp 를 많이 썼는데, v2ray + tcp는 설계상 오류가 조금 있어서 상대적으로 쉽게 차단된다고 한다. 최근에는 trojan 이나 vless + xtls 를 많이 쓰는 듯 싶다.
수많은 v2ray 구현 방식들은 아래 접은글 참조
- VLESS+TCP+TLS
- VLESS+TCP+xtls-rprx-direct【추천】
- VLESS+gRPC+TLS【지원CDN、IPv6】
- VLESS+WS+TLS【지원CDN、IPv6】
- VMess+TCP+TLS
- VMess+WS+TLS【지원CDN、IPv6】
- Trojan【추천】
- Trojan-Go+WS【지원CDN、不支持IPv6】
1. VPS 준비
서버로 활용해야 하는 VPS 가 필요하다.
오라클 프리티어 클라우드, 구글 클라우드 플랫폼이 대표적인 무료 vps 다.
중국에서 쓰기에는 오라클 프리티어 서울 리전이 괜찮은 것 같다.
이 글에서는 ubuntu 20.04.2 LTS 를 기준으로 셋팅하였다.
가입 방법 및 초기 셋팅은 직접 검색해볼것.
나중에 추가 예정.
2. 도메인 준비
tls 연결 또는 cdns 연결을 위해 적당한 도메인이 필요하다.
이 글에서는 cloudflare 에 연결하기 위해서 1차 도메인이 필요하다. (example.com 형태)
freenom.com 을 통해서 가입하고 적당히 하나 만들어 준다. 아래글 참조
2021.05.11 - [분류 전체보기] - Freenom 무료 1차 도메인 만들기 - 카트에 넣는법
3. Cloudflare 가입 및 셋팅
아래 사이트에서 가입 버튼을 찾아서 가입한다.
이메일 주소만 있으면 된다. 가입 후 이메일 인증을 끝내고 온다.
가입 후 사이트 추가를 누르고 아래와 같이 관리할 사이트를 넣어주면 된다.
요금제는 Free 선택한다.
DNS 에서 레코드 추가를 누르고 아래와 같이 하나 넣어준다. IP는 본인 VPS IP를 넣어준다.
이름은 원하는 종류 어떤걸 사용해도 되며, 서브도메인 역할을 해준다.
여기서는 그냥 www 로 만들어준다. (웹서버인양 속이기 위해서)
그리고 프록시 상태에서 구름을 눌러서 dns 전용으로 바꿔준다.
proxied 로 ip 를 완전히 속이는 방법도 있는데 그건 vmess+tls+cdn 방식으로 해야한다.
아래와 같이 이름서버를 지정받는다. 각 계정마다 다르니 필요한 곳에 적어 놓는다.
이제 저장을 해주고 SSL 설정을 4번째 엄격 으로 해준다.
4. Freenom 도메인 Cloudflare 연결
이제 freenom 아이디가 있으니 로그인을 하고
Services -> My domain -> Management Tools -> Nameservers 로 들어간다.
아래와 같이 cloudflare 네임서버를 넣어준다.
위에 3번에서 확인한 네임서버를 적는다.
Change Nameserver를 눌러서 저장한다.
이렇게 넣어야 cloudflare 가입할때 도메인이 확인된다.
??.NS.CLOUDFLARE.COM
????.NS.CLOUDFLARE.COM
5. VPS 에 v2-ui 스크립트 설치
먼저 vps 에 ssh 로 접속한 후
a. 업데이트 및 업그레이드 진행
sudo apt-get update -y
sudo apt-get upgrade -y
sudo apt install curl -y
b. 루트 유저로 변경
sudo su
c. v2-ui 스크립트 실행
bash <(curl -Ls https://blog.sprov.xyz/v2-ui.sh)
설치가 잘 되면 위와 같이 볼 수 있다. 보이는 글자 그대로 명령어다.
v2-ui : v2-ui 스크립트 실행
v2-ui start : v2-ui 시작
v2-ui stop : v2-ui 정지
...
...
d. v2-ui 용 web ui 접근
그리고 웹페이지에서 손쉽게 접근 프로필을 만들 수 있다.
초기에 열려있는 포트는 65432 이며 아이디와 암호는 admin 이다
http://youdomainORip:65432
물론 방화벽에서 해당 포트가 열려있어야 한다.
오라클 프리티어의 경우 ubuntu에서 열고, 오라클 사이트 security 설정에서도 열어줘야 한다.
로그인 후 적절히 아이디와 비밀번호를 바꿔놓는다.
이제 여기서 접속할 수 있는 accounts 를 만들 수 있다.
그러나 아직 서버에 ssl 인증서가 설치되지 않았다. 설치 하고 돌아오자.
6. Let's Encrypt SSL 인증서 발급 받기
인증서를 발급받기 위해서는 아래와 같은 조건이 필요하다.
위에 2,3,4 에서 진행한 내용이다.
- 도메인
- 클라우드 플레어 계정
- 클라우드 플레어 네임서버 설정, DNS 설정 (사용중인 IP로)
a. certbot 설치
자 이제 vps 의 ssh 에 접속하고 인증을 위한 certbot 을 설치해보자.
sudo apt install software-properties-common
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get install certbot
b. 인증서 받기
sudo certbot certonly --standalone --preferred-challenges http --agree-tos --email your-email-address -d www.example.com
여기서 your-email-address와 www.example.com 은 본인인 이메일과 도메인으로 바꿔야 한다.
그리고 standalone 방식이라서 80 포트가 사용 가능해야 하며, 방화벽도 열려있어야 한다.
80포트를 다른 프로세스가 사용중이라면 cloudflare에 dns text 를 직접 넣어서 인증하는 방식도 있으니 참조하면 된다.
사용계약을 읽어보고 y 를 입력해서 동의한다.
문제가 없을 경우 아래와 같이 축하한다고 뜨며 인증서가 저장된 위치가 나온다.
저장해 두자 인증서 저장 위치
/etc/letsencrypt/live/www.example.com/fullchain.pem
/etc/letsencrypt/live/www.example.com/privkey.pem
c. 인증서 자동 갱신 설정
알다시피 letsencrypt는 유효기간이 3개월이다.
그 전에 갱신을 해줘야 하는데 cron 에 넣어서 자동 갱신을 시키면 매우 편하다.
cron 이 없을 경우 설치하고.. nano 도 설치한다
sudo apt-get install cron nano
crontab 을 열어서
sudo crontab -e
맨아랫줄에 스케쥴을 등록해준다. 여기서는 매일 4시에 renew 하는거로 지정했다.
0 4 * * * certbot renew
나는 nano 로 열였다. 저장은 ctrl+o 종료는 ctrl+x
7. v2-ui 사용자 추가
이제 v2-ui 에서 사용자를 추가해주면 된다.
accout 에서 +를 눌러서 추가해준다.
설정은 아래와 같은 형태로 해주면 된다.
id는 자동 생성된다.
certificate 는 아까 확인한 인증서와 키 주소를 넣어주면 된다.
포트는 아무거나 사용해도 되지만 웹서버인척 속이기 위해서 443을 써주면 더 좋다.
드디어 서버설정이 끝났다.
8. vless 사용
이제 client 를 연결하면 된다.
사용 가능한 client 종류는 아래와 같다.
v2-ui 웹에서 QR 이나 clipboard 로 복사하고 클라이언트에 넣는 기능들이 있다.
해당 기능으로 넣어야 편하다. 아니면 한땀한땀 직접 넣어도 된다.
안드로이드
- v2RayNG
아이폰
- ShadowRocket
윈도우
- Netch
- Qv2ray
MacOS
- Qv2ray
9. pc에서 카카오톡 사용
pc 에서 Qv2ray 가 업데이트가 잘되고 기능이 많아서 사용중인데
카카오톡이 잘 안된다.
이때는 netch 를 kakaotalk 용 프로세스 모드로 같이 돌려주면 잘 된다.
a. 서버 추가
account 에서 clipboard copy 해서 netch 메뉴 server -> import... 에 넣어준다.
추가한 서버를 선택한다.
b. 프로세스 모드 추가
Mode -> Create Process Mode
아래와 같이 넣어주면 된다.
c. 서버와 모드를 선택 후 시작하면 된다.