[VPN] Amazon AWS로 VPN 서버 구축하기



중국 장기 출장이 잦아져 VPN이 필요해져 여기저기 기웃거리다가 express VPN과 Amazon AWS를 이용한 VPN, 집에서 뒹굴거리고 있는 라즈베리파이를 이용한 VPN 이 셋의 선택지로 좁힌 상태.
일단 expressVPN은 프로모션을 적용하면 15개월에 100 달러이긴 하지만 1년치를 한번에 결제해야 한다는 점이 걸렸고,
라즈베리파이를 이용하는 것은 한국에 가야 할 수 있으므로 현재 출장을 나와 있는 나에겐 선택지가 될 수 없었다.
결국 한달에 3.5달러의 AWS를 이용하기로 결정!
이용해 보고 마음에 안들면 서비스 더 이상 이용 안해도 되니 돈도 적게 들고 당장 사용할 수 있으니깐!

보아라 이 착한 가격을!

일단 Amazon Lightsail를 검색해서 가입하도록 하자 (https://lightsail.aws.amazon.com)






인스턴스 생성 키를 누르면 아래와 같이 서버 위치를 지정할 수 있다.

한국 서버를 선택할 수도 있지만 중국 사천에서 접속해보니 엄청 느리다는 소문이...

그리하여 일본 서버로 결정!!



1테라의 전송 데이터량이면 중계기 역할이니 500기가 로 계산한다고 해도

충분한 용량일듯 거기다가 한달은 무료!!

인스턴스 이름은 그냥 기본으로 된 것으로 사용하면 된다.

특이한 이름이 좋으시다면 수정 하시길....ㅋ

생성된 나의 따끈따끈한 신생아 서버..ㅋ


Softether를 사용하기 위해 방화벽에서 443 포트를 열고

내 아이폰에서도 접속하기 위해 UDP 500과 4500도 열자!!

SSH 클라이언트로 Putty를 사용하기 위해 https://www.putty.org/  접속해서 설치!!



putty로 접속해서 서버를 설정하기 위해서 private key를 다운 받자!

[제일 밑 부분에 계정 페이지를 클릭!]






다운 다운

자 이제 putty key gen을 실행시키자


Load 키를 눌러서 다운 받은 파일을 읽어오고


Save private key 를 눌러 private key 를 저장하자

 [Putty 메인 화면]


putty를 실행하여 Host Name 에 생성된 인스턴스 아이피 주소를 넣어주자

그리고 왼쪽 Category 에서 Connection -> SSH -> Auth 를 눌러 key gen 에서

만든 private key 파일을 넣어주자





그리고 Open 키 클릭!!

[접속된 Putty 메인 화면]
여기에 우분투를 입력하면! (input : ubuntu)

[ubuntu 입력 후 화면]
루트 권한을 얻자 (Input : sudo su)

이후 다음과 같이 타이핑 하자

input : apt-get update && apt-get upgrade

input : y

input : Enter 키 두 번!

그리고 다음 홈페이지에 접속!!


다음 그림과 같이 선택하자



그리고 아래링크(SoftEther VPN ...)를 오른쪽 버튼을 클릭하여 주소를 복사하자




다시 putty로 돌아와 wget 입력 후 마우스 오른쪽 버튼 클릭 (귀찮으니 복붙하자)

input : wget 마우스 오른쪽 버튼 클릭

input : tar xzvf softether (Tab 키)

input : apt-get install build-essentail -y ( Y/N를 묻는 답엔 그냥 Y 가 답...ㅎㅎ)

input : cd vpnserver 

input : make 

input : 1 선택 후 Enter

input :  Enter 3번!!

input : cd ..

input : mv vpnserver /usr/local

input : cd /usr/local/vpnserver

input : chmod 600

input : chmod 700 vpncmd

input : chmod 700 vpnserver

input : nano /etc/init.d/vpnserver ( nano 편집기로 설정파일 생성)

input :

#! /bin/sh

### BEGIN INIT INFO
# Provides:          vpnserver
# Required-Start:    $network $local_fs
# Required-Stop:     $network $local_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: SoftEther VPN Server
### END INIT INFO

PATH=/bin:/usr/bin:/sbin:/usr/sbin
DAEMON=/usr/local/vpnserver/vpnserver

test -x $DAEMON || exit 1

case "$1" in
  start)
    $DAEMON start
    sleep 5

    tap_dev=`/sbin/ip tuntap | awk -F: '{print $1}'`
    if [ -n "$tap_dev" ]; then
        /sbin/brctl addif br0 $tap_dev
    fi
    ;;
  stop)
    $DAEMON stop
    ;;
  restart)
    $0 stop
    sleep 3
    $0 start
    ;;
  *)
    echo "Usage: /etc/init.d/vpnserver {start|stop|restart}"
    exit 1
    ;;
esac

exit 0


귀찮으니깐 파일에서 복붙(ctrl+c,v) 하자!!

input : ctrl+o (영문) , Enter, ctrl+x 

input : chmod 755 /etc/init.d/vpnserver

input : vpnserver start

input : update-rc.d vpnserver defaults (자동으로 서버가 시작되도록 설정)

여기까지 이상없이 진행되었다면 vpn 서버가 정상 작동 할 것이다.

그렇다면 잘 되는지 확인해봐야지!!

input : ./vpncmd

input : 3



input : check


모든 항목에서 Pass 가 나오면 정상 작동 중!!

input : exit

그리고 마지막으로 서버 관리자 암호 입력 하기!!

input : ./vpncmd 

input : 1

input : Enter 두번 연타!!

암호 설정 (2번 입력) 후

input : exit (x2)

여기까지 하면 vpn 서버 설정 끝!!!

VPN 서버 이용하기

아래는 보고 따라한 블로그!!
http://blog.poohsiro.com/82

댓글

이 블로그의 인기 게시물

[Python] 파이썬에서 Opencv를 이용해 웹캠 영상 읽어오기 및 저장

[MFC] 에디트 컨트롤에 계속 문자열 추가하기(List log)

[Python] OpenCv를 이용하여 마우스 위치 가져오기