VPS에 v2-ui 사용하여 V2Ray 및 Shadowsocks 프록시 설치 및 관리하기

중국에 거주하면 막혀 있는 사이트에 접속하기 위해서 다양한 VPN이나 Proxy등을 사용하게 됩니다.
전부터 V2Ray 및 Shadowsocks 등을 설치하기 위해서 다양한 오픈소스 스크립트 등을 사용했었는데, 그 중에 가장 사용이 간단하고 웹 UI를 통해서 관리가 용이한 v2-ui를 설치 및 설정하는 방법을 설명하겠습니다.


사실 위 글에도 설치 및 사용하는 방법 등이 중문 및 영문으로 소개가 되어 있는데, 여기서 다시 한번 풀어서 단계별로 설명해 드립니다.

우선 본인이 사용하는 VPS의 SSH에 로그인 하시고, sudo su 명령어로 root 권한을 획득한 후 아래 명령어를 입력합니다.

bash <(curl -Ls https://blog.sprov.xyz/v2-ui.sh)
별다른 추가 입력이 없어도 스크립트가 알아서 V2Ray 설치 및 기타 필요한 설정을 마치고 아래와 같은 결과를 표시합니다.

설치 결과 메시지


초기 설치를 마치면 위 표시 내용과 같이 사용 중인 VPS 주소의 65432번 포트로 관리 웹페이지 접속이 가능하도록 설정되고, 기본 사용자 아이디 및 비번은 'admin'으로 설정됩니다.

SSH 명령을 통해서 관리하는 경우 아래와 같이 사용합니다.

v2-ui : 관리 메뉴 실행
v2-ui start : v2-ui 서비스 실행
v2-ui stop : v2-ui 서비스 중지
v2-ui restart : v2-ui 서비스가 실행중인 경우 중지했다가 다시 실행
v2-ui status :  v2-ui 서비스 실행상태 표시
v2-ui enable : VPS 재부팅 후 v2-ui가 자동으로 실행되도록 설정
v2-ui disable : VPS 재부팅 후 v2-ui가 자동 실행되지 않도록 설정
v2-ui log : v2-ui 로그 보기. 서비스에 문제가 있는 경우 WARNING 레벨 로그를 확인할 수 있습니다.
v2-ui update : v2-ui 버전 확인 및 업데이트
v2-ui install : v2-ui 설치
v2-ui uninstall : v2-ui 제거

v2-ui 명령만 입력하면 아래와 같이 관리 메뉴가 표시되며, 원하는 번호를 입력하여 v2-ui 관련 설정을 변경할 수 있습니다.

명령줄 관리 메뉴


기존에 사용하던 다른 V2ray, Shadowsocks 관리 스크립트 들은 위 명령줄 메뉴에서 새로운 포트나 사용자 추가 등을 하기 때문에 아무래도 접근성이나 편리성이 떨어졌는데, v2-ui는 웹에서 설정이 가능하기 때문에 아무래도 관리가 더 용이합니다.

설치하면 기본적으로 v2-ui 서비스가 자동으로 실행되고, 재부팅 후에도 자동으로 실행되도록 설정되어 있으므로 그대로 바로 사용이 가능하나, 가능하면 웹UI 접속 포트는 본인이 사용하고자 하는 포트로 변경 후 사용하기를 권장합니다. (단, 기존에 이미 사용중인 포트들과 겹치지 않게 설정해 주셔야 합니다.)

위와 같이 설치 및 초기 설정을 마쳤으면 웹 브라우저에서 나머지 설정을 하도록 합니다.

웹 브라우저 주소창에 "http://VPS주소:웹UI포트번호"를 입력하여 관리 페이지에 접속합니다. (Ex. VPS 도메인이 v2-ui.szkorean.net, 포트번호가 12345인 경우 http://v2-ui.szkorean.net:12345 를 주소창에 입력하여 접속)

접속이 되면 아래와 같이 로그인 화면이 표시됩니다.

로그인 화면


초기 아이디, 비번인 admin, admin을 입력하여 로그인 합니다.

로그인 하면 아래와 같이 VPS 서버의 상태를 보여주는 초기화면이 표시됩니다. CPU 점유율, 메모리 사용율, 디스크 사용율, v2ray 서비스 실행 상태, 서버 uptime 유지 시간, 네트워크 접속수, 현재 접속 네트워크 속도, 누계 업로드 다운로드 용량 등이 표시됩니다.

초기화면


관리 페이지에 아무나 접속하지 못하도록 아이디와 비번을 변경하기 위해서는 좌측 메뉴에서 panel settings를 선택합니다.
old username 및 old password는 초기 아이디, 비번인 admin을 입력해주고, new username 및 new password에 이후에 사용할 관리자 아이디 및 비번을 입력하고 update 버튼을 눌러주면 됩니다. 정상적으로 변경되었으면 "update success"라는 메시지가 표시되었다가 사라지며, 이후에 로그인할 때는 신규 아이디와 비번을 입력하여 로그인하면 됩니다.
관리자 재설정

하단의 panel settings는 아래 내용 참고하여 필요한 경우 설정 수정하면 됩니다.
혹시 아래 설정을 잘못해서 웹 UI 페이지에 접속이 안되거나, V2ray, Shadowsocks 접속이 불가능해진 경우 SSH 명령줄의 관리메뉴에서 5번 메뉴를 통해 설정을 초기화한 후 재설정해야 합니다.
panel settings

기본적인 관리페이지 설정을 마쳤으면 실제 v2ray 또는 shadowsocks 서비스 설정하는 법을 설명하겠습니다.

우선 좌측 메뉴에서 accounts를 선택하고 상단의 파란색 + 버튼을 누릅니다.

사용자 추가 메뉴

아래와 같은 팝업이 뜨면 설정할 Proxy 종류를 선택하고 설정 값을 입력한 후 하단의 add 버튼을 누르면 해당 Proxy가 추가됩니다.
저는 주로 V2ray, Shadowsocks를 사용하므로 해당 2가지 프로토콜에 대한 설정법을 간단히 소개합니다.
우선 vmess 프로토콜을 선택한 경우 설정 방법입니다.
v2ray 설정

port, id 등은 v2-ui에서 기존에 설정한 값들과는 겹치지 않게 알아서 임의로 초기 값이 설정되므로 크게 상관하지 않아도 됩니다. 단, VPS에 기존에 사용하고 있는 별도의 서비스와 port번호가 혹시 겹치지 않는지만 유의하면 됩니다. 보통 10000번대 이상의 포트들은 겹칠일이 별로 없으므로 사실 포트 번호도 크게 신경쓰지 않고 자동으로 설정된 대로 사용해도 무방합니다.
단, 가끔 중국 만리 방화벽이 프록시를 걸러낼 때가 있는데, 다른 건 그대로 두고 포트번호만 변경해도 한동안은 다시 잘 사용 가능합니다.

아래는 Shadowsocks 프로토콜을 선택한 경우의 설정 방법입니다.
Shadowsocks 설정

역시나 기본으로 설정된 값들을 그대로 사용해도 무방하므로 특별히 설정할 내용이 없습니다. 암호화 method는 개인적으로 chacha20을 선호하는데, 예전에는 클라이언트에서 지원하지 않는 경우가 가끔 있어서 설정 후 연결이 안돼서 다시 다른 암호화 방법으로 변경한 적이 많이 있었지만 지금은 거의 대부분의 클라이언트가 잘 지원하는 것 같습니다.

위와 같이 원하는 proxy 내용을 설정하고 add 버튼을 누르면 아래와 같이 설정된 내용이 반영되어 관리페이지에 표시됩니다.
상단에 있는 버튼으로 클라이언트에 해당 proxy 설정을 추가하기 위한 QR코드 및 링크를 표시하거나 설정을 수정, 삭제할 수 있습니다.
Proxy 설정 표시

QR코드를 볼 수 있는 버튼을 클릭하면 아래와 같이 QR코드가 표시되어 휴대폰이나 윈도우용 클라이언트에서 QR코드를 스캔하여 설정값들을 직접 입력하지 않아도 바로 해당 Proxy 서비스를 클라이언트에 추가할 수 있습니다.
필요한 경우 Copy Link 버튼을 클릭하여 BASE64로 인코딩된 설정 문자열을 클립보드에 복사할 수 있습니다. 카메라가 없어서 QR코드 복사가 불가능한 클라이언트에 해당 문자열을 붙여넣기하여 쉽게 설정값을 입력할 수 있습니다.
QR코드


좌측 메뉴 중 clients항목을 클릭하면 각종 OS에서 사용가능한 v2ray 클라이언트 들의 링크를 제공합니다.
현재 사용하는 클라이언트가 없는 경우 위 원하는 OS의 링크에서 클라이언트를 다운받아 사용하면 됩니다.

좌측에 있는 메뉴 중 Other 메뉴를 클릭하면 v2-ui Github 페이지로 바로 갈 수 있는 링크 및 v2-ui 제작자가 작성한 v2-ui에서 WS+TLS 또는 HTTP2+TLS를 이용한 트래픽 위장 방법 등을 설명한 블로그 글 링크가 제공됩니다.

donate는 각종 지불 방식으로 위 서비스 제작자를 후원할 수 있는 링크를 제공합니다.

다음에는 도메인을 소유하고 있는 경우, Let's Encrypt 인증서 발급을 통한 트래픽 위장으로 만리방화벽의 감지를 회피하는 설정법을 포스팅하겠습니다.

댓글

이 블로그의 인기 게시물

OpenWrt 공유기에 Wireguard 설정하기

Cloudflare DNS 서비스를 통해 Let's Encrypt 인증서 발급 및 갱신 자동화하고 v2-ui에 http+tls 위장 적용하기

샤오미 공유기 3세대(Mi Router R3G)에 OpenWrt 올리기