Oracle VPS / Setup 101 – 3. Wireguard VPN 서버 & wg-easy 설치

 

Setup 101 - 1. 오라클 클라우드 가입하기
Setup 101 - 2. SSH 접속 및 기본 설정
Setup 101 - 3. Wireguard VPN 서버 & wg-easy 설치

 

Setup 101 – 3. Wireguard VPN 서버 & wg-easy 설치

 
이제 wireguard를 설치 합니다.

Wireguard는 최신 VPN 프로토콜로서 보안성이 우수하면서 속도는 경쟁자인 OpenVPN을 월등히 앞서는거로 보고가 되어있는데요 사실상 성능이 우수한 서버가 아니라면 큰 차이가 없으며 서버가 연결된 인터넷이 빠르지 않다면 더 의미가 없습니다.

대신 OpenVPN 보다 아주 가볍게 코딩되어서 쉽고 빠르게 설치가 가능하며 wg-easy 개발자 덕분에 더욱 더 쉽게 이용이 가능 합니다.

참고로 중국에서 한국이나 해외 접속을 원해서 지금 VPN 구축을 시도 중이시라면 멈추시고 OpenVPN으로 가세요. wireguard는 중국 방화벽에서 쉽게 막혀요.
중국에서 해외 접속으로 많은 최신 프로토콜들이 생겨났지만 며칠 긴급 출장용으로 사용 하시는게 아니라면 다 막혀요. 나름 최신 프록시 서버 v2ray, xray vless/vmess, trojan, wireguard 기반인 tailscale도 소용 없어요. Outline VPN이 그나마 괜찮다고는 하는데 개인적으로 OpenVPN tcp 방식으로 443 또는 8443 포트로 서버 돌리시는게 그나마 나은거 같습니다. 하지만 이것도 case-by-case 겠죠. 아무튼 모든 wireguard 기반은 중국에서 쉽게 막혀요.

wireguard 설치 하기

sudo apt update
sudo apt install wireguard

(apt update는 설치 전 한번 해주는 것을 습관)

끝.

원래는 이후에 여러 설정들을 해줘야 하는데 wg-easy가 다 해줄꺼예요.

그럼 이제 wg-easy를 설치 해야 하는데 wg-easy는 도커 안에 설치 해줘야 합니다.
* Docker에 대한 자세한건 구글링

Docker 설치

하나씩 입력 후 엔터 입력 후 엔터.
SSH 터미널에서는 Ctrl+V가 안 먹혀요.
MobaXterm에서는 Shift+Insert 또는 오른쪽 마우스 클릭 후 paste 선택.

sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
apt-cache policy docker-ce

* 여기서 리스트가 쭉 뜨는데 주소가 https://download.docker.com/linux/ubuntu 어쩌고 저쩌고인지만 확인

sudo apt install docker-ce -y

끝.

– SSH 팁 –
* 도커가 잘 돌아가고 있는지 확인 = sudo systemctl status docker
(쭉 뜨는 내용 중 Active (running) 이 보이면 잘 돌아가고 있음)
* 다른 방법으로 도커를 설치 할 수도 있음

이제 마지막 wg-easy를 설치 합니다.

docker run -d \
  --name=wg-easy \
  -e WG_HOST=YOUR_SERVER_IP \
  -e PASSWORD=YOUR_ADMIN_PASSWORD \
  -v ~/.wg-easy:/etc/wireguard \
  -p 51820:51820/udp \
  -p 51821:51821/tcp \
  --cap-add=NET_ADMIN \
  --cap-add=SYS_MODULE \
  --sysctl="net.ipv4.conf.all.src_valid_mark=1" \
  --sysctl="net.ipv4.ip_forward=1" \
  --restart unless-stopped \
  weejewel/wg-easy

메모장을 열고 복사 후
YOUR_SERVER_IP를 서버 공인 아이피 주소로 변경 해주세요.
YOUR_ADMIN_PASSWORD를 지우시고 관리자 페이지 비번을 지정해 주세요.
* 주의: 위에 예시대로 = 다음에 바로 적으셔야하고 \ 와 한칸 띄워져 있어야 합니다.
* 개발자분이 기본 포트로 코딩 하셔서 접속 포트 변경 하시면 작동 안되요.

이제 메모장에서 수정하신 것을 전체 선택 및 복사 하시고 SSH 터미널에 그대로 붙여넣기 하시면 됩니다.
* 주의: MobaXterm에서는 Ctrl+V가 안되요. 터미널 창에서 마우스 오른쪽 클릭 하신 후 paste로 하시거나 Shift+Insert 버튼으로 하세요.
참고로 Putty 터미널에서는 오른쪽 마우스 클릭 하시면 자동 붙여넣기가 됩니다.

붙여넣기 후 엔터.

끝.

* 모든 감사는 개발자분께 – https://github.com/wg-easy/wg-easy

이제 웹브라우저에서 바로 wireguard wg-easy 관리자 페이지로 접속이 가능합니다.
웹브라우저에서 공인 주소 다음에 관리자 포트를 입력해 주시면 됩니다.

http://xxx.xxx.xxx.xxx:51821

메모장에서 수정하신 관리자 비밀번호를 입력 하세요.

오른쪽 + New 를 클릭 후 원하는 이름을 입력 하세요.

그럼 입력하신 이름으로 된 계정이 생성 됩니다.
위 스샷처럼 빨간색 버튼을 비활성화 시켜 주시면 해당 계정 접속이 차단 됩니다.
현 상태는 활성화가 된 상태.
그 옆에 QR 코드 버튼을 누르시면 아래와 같이 QR 코드가 뜹니다.
그럼 스마트폰의 wireguard 앱에서 QR코드 스캔을 하시면 바로 등록이 되며 접속 하시면 바로 접속 됩니다.

PC에서 이용시 QR코드 스캔이 번거로울 수 있으니 QR코드 버튼 옆 다운로드로 conf 파일을 다운 받으신 후 윈도우즈용 wireguard 설치 후 파일을 등록 하시면 바로 접속 하실 수 있습니다.
Wireguard 클라이언트 다운로드: https://www.wireguard.com/install/

접속이 확인 되었다면 이제 구축하신 VPN 서버를 통해서 인터넷을 이용 하시게 되며 서버 SSH 접속 및 wireguard 관리 페이지 역시 공인 아이피가 아닌 사설 아이피로 접속이 가능 합니다.

보안을 위해서 다시 오라클 클라우드 사이트에 접속 하셔서 Ingress rules에서 22번과 51821 포트를 삭제해 주세요.
앞으로 SSH 터미널 또는 wireguard 관리자 페이지 접속시에는 먼저 wireguard를 통해 서버로 접속 하신 후 사설 아이피 (private IP)로 접속 하시면 됩니다.

내 서버 IP 확인하는 법 –
오라클 클라우드 사이트 접속 후 Compute – Instance에서 Private IP 확인
또는 SSH 터미널에서

hostname -I

대문자 I 로 입력해 주세요.
다커가 생성 되어서 이제 사설 아이피가 2개로 뜨게 됩니다.
10.0.x.x 를 메모 하시고 접속 하시면 됩니다.
이제 와이어가드 관리자 페이지 접속시 http://10.0.x.x:51821 로 접속 하시면 됩니다.
SSH 터미널에서 서버 접속 주소도 10.0.x.x 로 변경 하시면 됩니다.

다음편엔 웹서버 구축하기

%d bloggers like this: