AWS 라이트세일에서 SoftEther VPN 서버 구축 (3) – 서버 설정

AWS Lightsail + SoftEther VPN 서버 설정하기

앞에서 SofEtherVPN서버를 설치했으면 셋팅을 해줌니다.
콘솔은 어렵기 때문에 아무튼 GUI로 된 VPN Admin Tool을 사용하겠읍니다.
여기서 받을 수 있읍니다. (Windows 4.28 바로 받기)

관리모드로 접속하기

쩌걸 누름니다.

셋팅이름과 써버 Public IP와 포트를 입력해줍니다. 내 아이피는 13.124.244.119 이었네오.
비밀번호는 처음이라 설정되지 않았으므로 입력하지 않고 건너뛰세오.

쩌걸 눌러 접속합니다.

처음 접속해서 관리자 비밀번호를 뭐로할지 물어보네오. 입력해주면됩니다.

반갑다고 뜨네요. 하지만 여기선 안 쓸거라서요. 닫아줌니다

이것도 안 쓸거에오.

본격적으로 설정에 들어갑시다.

먼저 로컬브릿지 설정으로 들어가요.

그 다음 난 TAP 디바이스를 만들거에요. 따라올거라면 똑같이 디바이스 이름에 sevpn 이라고 붙여줍시다.

뭐 디바이스가 생성된 것 같네요.

VPN 설정하기 앞서

VPN 설정하기 앞서, VPN서버를 구축하면 가상네트워크를 구성하는데 아이피를 할당해줘야해요.
나는 아래와 같이 지정할거에요.

Public IP : 13.124.244.119 (라이트세일 콘트롤패널에 있음)
Private IP : 172.26.8.36 (라이트세일 콘트롤패널에 있음)
VPN 게이트웨이 IP : 192.168.151.254
VPN 서브넷마스크 : 255.255.255.0
VPN DHCP 아이피 범위 : 192.168.151.100 ~ 192.168.151.199

이 과정에서 Private IP 만 주의하면 아마도 따라하는게 문제는 없겠지오.

본격적으로 설정해봅시다

DHCP 서버 설치

참고 : https://www.server-world.info/en/note?os=Ubuntu_18.04&p=dhcp&f=1

를 입력해요.

설치가 되었네요.

앗! 이제부터 vi 에디터를 이용해서 설정파일을 수정해야하네요. vi 는 저도 자주 안쓰니 외워지지 않네요. 구체적인 설명은 생략하겠습니다. 기본상태는 ESC키에요. 기본상태에서 i 누르면 입력모드가 되구요 : (콜론)을 입력후 x! 를 입력하면 입력한 내용을 저장해요 그럼 이만.

명령을 입력해서 dhcpd.conf 파일을 수정할 거에요.

2019.04.12 수정

이렇게 맨 위에추가하셔도 됩니다.

ESC – :x! 로 저장을해요.

인터페이스 지정을 해줍니다. 안해주니까 dhcp 서버가 알아서 서버를 꺼버리네요.

이렇게 tap_sevpn 이라고 지정했으면 :x! 로 저장합니다.

NAT Forward 허용하기

VPN 을 쓰는데, 우리가 VPN을 사설망으로 다른개인과 보안통신하고 그럴 목적이아니라. AWS 네트워크를 통해 트래픽 우회용으로 쓸거잖아요? 그래서 NAT (192.168.151.0/24) 네트워크를 AWS (13.124.244.119)로 변환시켜주는 NAT 포워드를 허가시켜줘야해용.

귀찮으니 명령도 간단간단하게 설정해주자구요.

아래 명령으로 잘 적용됐는지 확인해줘요.

VPN 트래픽이 AWS로 전달되도록 설정

NAT 트래픽이 변환되도록 허용하는 설정은 했지만, VPN 트래픽이 나간다고는 안했어요.
iptables 로 그걸 설정할거에요. 우분투에서는 iptables를 유지시켜주는 프로그램이 딱히 없어서 성가시네요. 그래서 그냥 안하기로 했어요. 서버가 꺼질 일도 없으니까요. 그냥 센토스로 할걸

그래서 서버 다시 실행할때마다 이 설정을 적용해야해요 ㅋㅋ

위에서 TAP 디바이스에 아이피할당도 안해줬는데요, 어차피 이것도 서버를 켤떄마다 해야되는거니깐요, 그냥 같이하도록 합시다.

상기의 명령을 자신의 서버에 맞게 바꿔주고 적용하면 될 것 같아요.

2019.04.12 추가
– isc-dhcp-server먼저 켜면 tap_sevpn에 아이피 없다고 못 켜게함

SEVPN 계정을 만들고 접속을 해봅시다

계정만들기

참 쉽죠?

SEVPN Client 로 접속하기

Add VPN Connection 을 눌러서요 서버아이피, 포트, 가상허브이름을 입력하고, 위에서 만든 계정으로 설정을 만들어줍니다.

이제 연결을 하면!!

짜잔~!

인터넷도 잘 될까요?

잘 되네

현재까지 설정으로 불가능한 것들

OpenVPN은 SEVPN 서버매니저에서 OpenVPN을 켜주시고,
OpenVPN 기본 포트가 1194이므로 라이트세일에서 TCP, UDP 각각 1194 포트를 허용해주면됩니다.
L2TP/IPSec 도 이용하고자하면, 서버매니저에서 설정하실 수 있습니다. 라이트세일에서 포트도 당연히 열어야하는데요, 이전포스팅에 있을거에요.

AWS 네트워크 vs KT 인터넷 일본서버 핑 비교

SoftLayer HONGKONG

KT

KT -> AWS SEOUL

Vultr Tokyo

KT

KT -> AWS SEOUL

후술

현재까지의 가장 가성비 뛰어난 개인VPN이 될 수 밖에 없겠다. 해외망도 좋지.. 암튼 좋지.
주의해야할 것은
Amazon Lightsail의 트래픽 요금정책은 Amazon EC2 와 약간 차이가 있다.
$3.5 플랜 기준으로 1 TB 트래픽을 제공한다.
EC2 에서는 Inbound가 모두 무료이지만,
Lightsail은 첫 1 TB는 Inbound + Outbound 로 계산하고,
그 이후의 트래픽은 Outbound 요금을 계산한다. VPN은 따운받은게 있으면 똑같이 전달을 하기위한 업로드가 발생하므로 In+Out 두배의 트래픽이 발생하니깐 사용자들은 과금발생의 우려에 대해 경각심을 가져야한다. (이짓하는것 자체가 돈과 관련이 되니깐.. 돈많으면 전문VPN을 쓰지)

 

번거로워서 
SoftEther VPN Server 및 시스템 재 시작을 고려하지 않았습니다.
softether 서버 재시작 후
ifconfig을 통한 아이피 부여명령 후
isc-dhcp-server 재시작명령해주세요.

AWS 라이트세일에서 SoftEther VPN 서버 구축 (2) – 서버 설치

Lightsail 에서 SoftEther VPN 설치하기

이전 포스트에서 Lightsail 의 서버생성을 시도했다. 이어서 서버 SSH에 접속해서 SoftEther VPN서버를 설치해보겠다.

SSH에 연결하기

SSH는 서버컴퓨터를 조작할 수 있도록 커맨드를 입력하는 쉘에 원격으로 접속하는 한 방법으로 아무튼 접속한다.

SSH 접속 확인

암튼 서버에 접속했다.

소프트웨어 패키지 업데이트

새로 서버를 세팅하면 기본적으로 소프트웨어가 업데이트 되지 않았을 것이다. 그래서 명렁어로 최신소프트웨어로 판올림해주자.

를 쳤으면, 업데이트 가능한 패키지가 몇개 있는지 나온다.

여기서 해당 명령어를 입력해서 소프트웨어를 업데이트 해준다.

부트로더에 업데이트가 생겨서 어찌할지 물어봐서 대충 업데이트 해준다.

업데이트 해주는것만인데 힘들다.

빌드환경 설치

SoftEther VPN 서버를 다운하기 앞서, SEVPN 설치에 필요한 소프트웨어 (빌드툴)를 받아야한다.
아래 명령을 치면 아마 설치가 가능할거.

SEVPN 소스파일 내려받기

SEVPN 소스파일을 받아야 한다. SoftEther VPN 공식홈페이지에서 따운 할 수있다. Linux x64 아키텍처로 받으면 된다. (4.28 링크)

wget 명령으로 받으면 되겠다.

SoftEther VPN 소스파일 압축해제

위 명령을 입력해서 압축을 풀어준다. 버전이 다르면 해당파일에 맞게 변경해주기로.

압축을 풀었다.

명령을 입력해서 vpnserver 디렉터리 내부로 들어간다.

SoftEther VPN 소스 빌드

이 make 명령을 입력해서 빌드를 하자.

이것저것 소프트웨어 사용권에 동의하라고 한다. 동의를 해준다.

이렇게 뜨면 OK

컴파일 산출물 이동

/home/ubuntu/vpnserver 에 컴파일 결과물이 있는데 /usr/local/에 옮겨주도록 하겠다.

를 입력해서 쉘의 현재디렉터리를 루트로 변경해준다.

아 처음부터 루트권한으로 작업했어야했는데 잊었다.

명령을 입력해서 루트권한을 취득한다.

다음 /usr/local/ 에 vpnserver 디렉터리를 이동시킨다.

잘 옮겨졌는지 확인 ㄱㄱ

다음 vpnserver 바이너리파일 권한을 설정해준다.

데몬설정

SoftEtherVPN 서버가 계속 켜져있도록 리눅스 서비스인 데몬? 대몬?에 스크립트를 넣어준다.

위 스크립트를 복사(AWS SSH에서 붙여넣기 어려운데) 해서 Ctrl+D 키를 입력해주면 생성이 된다.

아래 명령으로 권한설정과 서비스등록등등을 해줍시다.

그 다음 vpnserver를 켭시다.

Lightsail 방화벽설정

SoftEther VPN에 접속하기 위해 AWS Lightsail의 방화벽에서 TCP 5555포트를 풀어줍시다.
이거말고도 TCP 443, 992, 1194, 5555 UDP 1194, 500, 1701, 1723, 4500 등도 풀어야되는데 뭐 일단 풉시다.

아마존 라이트세일 우분투는 기본적으로 AWS에서 방화벽을 지원해선가, 우분투 기본 방화벽은 비활성화 된것같아보이네요.

AWS 라이트세일에서 SoftEther VPN 서버 구축 (1) – 서버생성

AWS Lightsail 에서 SoftEther VPN 서버 구축하기

AWS 라이트세일은 굉장히 저렴할 뿐만아니라, AWS 네트워크 자체도 품질이 괜찮기에 VPN을 써보면 어떨까 싶어서 글을 쓰게 되었다. 가 아니라 사실 누가 라이트세일에서 VPN서버가 구축이 안 된다고 하길래 왜 그런지 궁금해서 글을 쓰게 되었다. 실제로 KT쓰는 내가 금요일 밤 11시만 되면 핑이 100ms 이상 치솟거나 엄청난 패킷로스를 경험하는데, AWS 내부적으로 라우팅되는 해외망은 꽤나 쾌적한 것 같았다. (31ms 이내)

AWS Lightsail 에서 서버를 생성하자

AWS Lightsail를 가입하여 콘트롤 패널까지 접속하는 방법은 생략하겠다.
Lightsail 에 접속해서 서버를 생성한다.

Create instance 를 선택

서버 생성

서버 지역을 고르는데, 역시 가장 빠른 한국 지역(ap-norteast-2)을 선택…
별다른 용도가 있으면 일본이 가장 괜찮지만, 앞서 말하다시피 국내 – AWS Tokyo 리전간도 해외망이기 때문에 별로 좋진 않다. (평상시엔 남들보단 쾌적하긴한데 핑이 튀는걸 경험하는후부턴 영………)

운영체제는 본 글에선 Ubuntu 18.04 LTS 를 선택하겠다.  앞에선 CentOS 를 추천하더니 왜 이번엔 우분투냐?? 이 글을 보는 사람은 우분투를 선호할거라고 생각하기 때문이다. 별 다른이유는 없다. 글을 읽는 사람이 있긴할까? 나는 이글을 보면서 다른 운영체제를 쓸래! 인경우에는 본 문단을 보고 창을 닫는것이 좋다. 운영체제별로, 운영체제버전별로 설정하는방법이 달라지기 때문에 설정을 따라할 수 없어.

서버 스펙 선택

이렇게 되었으면, VPS 플랜을 선택하라고 한다. 돈이 없으니 난 가장 저렴한 3.5 달러의 머신을 생성해야지. VPN 서버를 혼자쓰거나 그러면 512MB서버로 충분하다고 생각한다.

서버가 생성되었다

아마존 라이트세일 가격 인하 3.5달러부터

아마존 라이트세일에서 VPS 가격을 파격적으로 내려버렸다…
라이트세일이 VPS 라인이라서 그래도 중규모 이상에서는 쓰진 않겠지만
앞으로 영세업체는 물론 중소 서버호스팅과는 경쟁조차 되지않겠다.

이전에는 라이트세일이 $5 에 512 MB 플랜으로 출격하고 난뒤, Vultr 와 Linode 는 기존 플랜에서 요금을 절반으로 내렸지만, 이번엔 라이트세일 조차 가격을 내려버렸다.

라이트세일은 아마존의 주력 클라우드상품은 아니지만, 가격을 더 내려버린 이 상황에 아마존 AWS의 인지도, 네트워크, 인프라, 확장성등과 서울리전이 있다는것을 생각하면 더 이상 국내에 살아남을 호스팅은 없어보인다.

AWS 라이트세일 요금표 (https://aws.amazon.com/lightsail/pricing/)

 

AWS 라이트세일 권한을 줘도 IAM 403 오류가 생긴다

AWS 라이트세일 권한을 줘도 안 돼?

AWS 에서 하라는 대로 다 했다.

IAM 계정을 라이트세일전용으로 만들어서 권한을 주라고 한다.
There might be a problem. It looks like you aren’t authorized. If you’re using an IAM account please ask your administrator to Create a policy that grants access to Amazon Lightsail. 아무튼.. 라이트세일 전용으로 만들고 그 계정으로 로그인했는데도 안 되는거 뭘까?

amazon lightsail 403 iam grant error… 정책을 줘도 안되고, 뭘 해도 안되…

해결방법

AWS Console 에서 Billing (My Billing Dashboard) 에서 Payment Methods 에 들어가서 카드를 추가 해주면 된다.

그런데 카드를 추가하려면 본인인증이 필요로 하다, 결론은 그렇게 본인인증이 안 된 계정이었던 셈.
나는 프리티어 계정을 만들지 않고 그냥 가입만 해두었더니, 쓰자고하려니 매우 헤메게 된 것이다.

 

인증

카드를 추가할 때, 아마존 코리아에서 기계음으로 인증 전화가 온다.

Success