안녕하세요. D-148 고삼 blrain입니다
뭘 해도 재밌는 시기를 맞아 뻘짓에 뻘짓을 거듭하고 있습니다.
오늘은 아마존 AWS를 이용해 SoftEther VPN서버를 구축하는 글을 작성하고자 합니다.
1. 발단
최근에 아는 형이 기숙사 인터넷 차단때문에 VPN을 사용중이라는걸 알게 됐습니다.
그래서 공유기를 이용한 PPTP VPN서버를 구축했습니다.
그러나 안타깝게도 형이 재학중인 학교는 XX과학기술원.. 연구용 회선을 사용중이었습니다.
강력한 보안 프로그램이 적용됐는지 PPTP는 연결자체가 안되더라구요
또 어째선지 OpenVPN도 접속이 불가능했습니다.
그러나 창은 항상 방패를 이기듯, SoftEther를 사용하면 차단을 뚫을 수 있다는걸 발견했습니다.
SofEther에 대한 자세한 설명은 아래 위키백과로..
https://en.wikipedia.org/wiki/SoftEther_VPN
SoftEther의 L2TP/IPsec프로토콜을 이용해 VPN을 구축하고자 하였고
무료이면서도 접근하기 쉽고, 한국 서버이며, 750시간과 15GB의 트래픽을 가진 아마존 AWS 프리 티어를 이용해
VPN서버를 구축하게 되었습니다.
이 글은 윈도우 10 Pro 64bit RS4 에서 작성되었습니다.
2. Amazon AWS
아마존 AWS 홈페이지에서는
Amazon Web Services(AWS)는 안전한 클라우드 서비스 플랫폼으로서,
컴퓨팅 파워, 데이터베이스 스토리지, 콘텐츠 전송 및 기타 기능을 제공하여 기업이 확장하고 성장하도록 지원합니다.
라고 AWS를 설명하고 있습니다.
아마존 AWS는 프리티어 계정을 생성하여 사용 할 수 있는데, 월 750시간과 15GB의 트래픽을 무료로 제공합니다.
https://aws.amazon.com/ko/free/
따라서 개인이 간단한 용도로 사용하기에 매우 적합한 환경을 제공하고 있습니다.
AWS를 사용하기 위해선 먼저 계정을 생성해야 합니다.
https://aws.amazon.com/ko/ 에 접속하여 가입할 수 있습니다.
가입시에 전화번호와 신용카드 정보를 등록해야 합니다.
카드를 등록하면 정상적인 카드인지 확인하기 위해 1달러를 결제하는데요, 아마도 환불해줄겁니다.
가입 뒤에 AWS콘솔에 들어가면
다음과 같은 화면을 보실 수 있습니다.
우측 상단에 리전을 선택하여 원하시는 위치로 변경하시면 됩니다.
저는 서울 리전을 선택했습니다.
좌측의 EC2를 클릭하시면
다음과 같은 창이 뜨게 됩니다. 가운데의 인스턴스 시작을 클릭합니다.
클릭하게되면 많은 AMI가 뜨는데요, 오늘 글에서 저는
Amazon Linux AMI 2018.03.0 (HVM), SSD Volume Type 를 사용하도록 하겠습니다.
오른쪽의 선택을 눌러주세요.
인스턴스 유형을 선택하는 창이 뜨게됩니다.
[프리 티어 사용 가능] 서버를 선택하시고 검토 및 시작을 눌러주세요.
이 창에서는 보안 그룹을 지정해야합니다.
오른쪽의 보안 그룹 편집을 눌러주세요.
전 만사가 귀찮은 고삼이기에 모든 트래픽을 허용합니다!
보안에 신경쓰시고 싶으신 분들은 SSH 포트인 22와
SoftEther에서 사용하는 443, 500, 992, 1194, 4500, 5555 포트를 개방해주세요.
아래의 시작을 누르면
다음과 같은 창이 뜨게 됩니다.
등록하시고 싶은 이름을 작성하시고 ex)AWS-blrain
키 페어 다운로드를 눌러 안전한 곳에 저장해주세요
인스턴스 시작을 누르면 인스턴스가 만들어집니다.
다음과 같이 인스턴스가 만들어졌다면 아래에 퍼블릭 DNS가 생성되었을겁니다.
이 DNS주소를 복사해주세요.
3. SSH접속 및 SoftEther서버 구축
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
에 접속해 자신의 환경에 맞는 패키지를 설치합니다.
설치가 끝났다면 윈도우 검색에 Puttygen을 검색하여 실행해주세요.
(혹은 Programfiles\PuTTY에서 찾으실 수 있습니다.)
Load를 누르고 모든 파일 검색으로 변경한 뒤에
방금 다운받으셨던 .pem파일을 열어주세요.
다음과 같은 알림이 뜹니다.
그다음 Save Private Key를 클릭하여 .ppk파일을 생성해주세요.
PuTTY를 실행합니다.
Host Name에 방금 복사하셨던 퍼블릭 DNS주소를 적어주세요.
그 다음 왼쪽 사이드바의 SSH의 '+'를 클릭하신 다음 Auth를 열어주세요.
Auth를 열면 Browse를 눌러 아까 PuTTYGEN을 통해 생성했던 .ppk파일을 로드해주세요.
그다음 다시 Session으로 돌아온 뒤 Saved Sessions아래에 저장하시고 싶은 이름을 입력한 뒤
Save를 눌러 세션을 저장해줍니다.
그 다음 저장한 세션을 클릭하고 open을 클릭합니다.
login as: 가 뜨면 정상적으로 서버에 연결한 것입니다.
기본 암호는 ec2-user입니다.
다음과 같이 콘솔에 정상적으로 접근하였다면 이제 SoftEther를 설치할 차례입니다.
먼저 터미널에 sudo su 를 입력하여 root권한을 취득해줍니다.
그 후 yum upgrade 입력하여 업데이트를 해줍니다.
눈치채신 분들이 있으시겠지만 기존 리눅스의 apt-get 대신 yum 을 사용한다는 것을 알 수 있습니다.
http://www.softether-download.com/en.aspx?product=softether 에 접속합니다.
사진과 같이 선택하신 후 다운로드 주소에 마우스 오른쪽 클릭 - 링크 주소 복사를 클릭합니다.
이렇게 주소를 복사한 뒤 PuTTY터미널로 돌아옵니다.
wget http://www.softether-download.com/files/softether/v4.27-9668-beta-2018.05.29-tree/Linux/SoftEther_VPN_Server/64bit_-_Intel_x64_or_AMD64/softether-vpnserver-v4.27-9668-beta-2018.05.29-linux-x64-64bit.tar.gz 를 입력합니다.
(wget 을 입력하신 뒤 마우스 오른쪽 클릭을 하면 아까 복사한 주소가 터미널에 붙여넣기됩니다.)
입력하면 파일을 다운로드하는데 중간에 뭐가 뜨신다면 무조건 y 를 눌러주세요.
tar xzvf softether 를 입력하신 뒤 Tab키를 누르시면 자동으로 뒷 문장이 채워집니다.
엔터를 눌러 압축을 풀어주세요.
yum groupinstall "Development Tools" 를 입력하여 설치해줍니다.
yum install gcc 를 입력하여 설치해줍니다.
(위 두 과정은 자동적으로 설치되어 있을 수 있습니다.)
cd vpnserver 를 입력합니다.
make 를 입력합니다.
yes/no 를 묻는 문장이 3번 뜹니다, 라이센스를 확인하는 과정이므로
셋다 1/1/1 을 입력해주시면 됩니다.
cd 엔터
cd mv vpnserver /usr/local 엔터
cd /usr/local/vpnserver 엔터
chmod 600 * 엔터
chmod 700 vpnserver 엔터
chmod 700 vpncmd 엔터
위 과정을 완료했다면 ./vpncmd 를 입력한 뒤 3을 입력합니다.
check 를 입력해 서버가 작동하는지 확인합니다.
작동이 확인되었다면 cd /usr/local/vpnserver 을 입력합니다.
./vpnserver start 를 입력하여 서버를 구동시킵니다.
4. SoftEther VPN Server Manager
http://www.softether-download.com/en.aspx?product=softether
에 접속해 SoftEther VPN Server Manager for Windows - windows를 선택한 뒤
SoftEther VPN Server Manager를 설치합니다.
다음과 같은 화면이 뜰 것입니다.
New Setting을 클릭합니다.
Setting Name에는 자신이 생성할 서버 이름
Host Name에는 아까 SSH에 입력했던 AWS의 퍼블릭 DNS를 입력합니다.
포트는 443이 아닌 5555를 사용합니다.
오른쪽 칸은 무시하고 OK를 클릭합니다.
클릭하면 맨 처음과 같은 화면이 나옵니다. 설정한 세팅을 클릭하고 Connect를 누릅니다.
암호를 설정하라고 뜬다면 암호를 설정해줍니다.
Other Advanced Configuration of VPN을 선택한 후 close를 누릅니다.
L2TP/IPsec를 설정할지 묻는 창입니다 "예"를 눌러줍니다.
위처럼 선택한 뒤 ok를 누릅니다.
Manage Virtual Hub를 클릭합니다.
Manage User - New 를 선택하고 위 창에서 유저 이름과 사용할 패스워드를 입력한 뒤 ok를 누릅니다.
Virtual Nat and Virtual DHCP Server 을 누르고 Enable SecureNAT을 눌러
NAT과 DHCP를 작동시킵니다.
여기까지 VPN서버 세팅이 끝났습니다.
5. VPN 연결
http://www.softether-download.com/en.aspx?product=softether
에 접속해 SoftEther VPN Client Manager를 설치합니다.
Add VPN connection 을 더블클릭합니다.
HostName에는 SoftEther Server Manager의 하단부의
Current DDNS Hostname: vpnxxxxxxxxx.softether.net을 입력
포트는 5555입니다.
Virtual Hub Name에는 DEFAULT 및 자신이 설정했던 허브를 입력하시고
오른쪽에는 자신이 생성했던 유저 아이디와 비밀번호를 입력하시면 연결됩니다.
여기까지 아마존 AWS를 이용해 SoftEther 서버 구축 및 서버 연결법에 대한 글이었습니다.
서버 구축에 많은 도움 되셨으면 좋겠습니다.
혹시나 문의하실 사항이 있다면 댓글이나 개인 쪽지를 이용해주세요.
긴글 읽어주셔서 감사합니다. :D
그런데 OpenVPN으로 구축하는 더 쉬운(?) 방법이 있습니다...ㅠㅠ