나만의 고정 IP 생성하기! – VPN 생성방법

HYEONG HWAN, MUN/ 11월 28, 2017/ 미분류/ 41 comments

https://blog.lael.be/post/6462

웹서비스를 사용하다보면 나만의 고정 아이피가 필요할 때가 있다.
예를 들어, 방화벽 설정할 때 나만의 고정 아이피가 있다면 더 수월하게 작업 할 수 있다.

이 글에서는 VPN 서버를 설정하여 나만의 고정 IP 를 만드는 법에 대해 설명할 것이다.

 

- VPN 사용시 장점

1. 빠른 인터넷 속도 사용가능 - 간혹 통신사에서 인터넷 속도를 제한을 거는 경우가 있는데 이것을 피할 수 있습니다.

2. 방화벽 및 보안설정에 좋음 - 이 IP 만 허용하게 할 수 있다.

3. 공개 장소에서도 안전한 통신 사용가능 - VPN 서버와의 연결은 암호화 통신이기 때문에 통신이 상대적으로 안전해 진다. (VPN 로그인 및 연결 이후 통신 모두 암호화)

4. 데이터 검열, 방화벽 제한 회피가능 - 자신의 네트워크 요청은 암호화되어 VPN 서버에 전송되며 그 곳에서 처리가 시작된다. 즉 네트워크의 시작 지점이 VPN 서버가 된다.

< (VPN 이 연결되면 = VPN 터널이 생성되면), 자신과 인접한 로컬 네트워크로 취급된다 >

VPN 연결은 종단간(End-to-End) 암호화통신을 하기 때문에, 중간에 거치는 네트워크 장치들은 개념상으로 무시할 수 있다.

 

- VPN 서버 구축하기

1. 윈도우 PC 준비하기

가장 쉬운 설정 방법을 설명한다.
우선 Windows PC 하나를 준비하자. 서버용 PC 가 아니어도 되고 싸구려 노트북을 사용해도 된다.

지금 이 글을 보고 있는 컴퓨터 운영체제윈도우라면 이 컴퓨터에 설치하도록 하자.

이 컴퓨터에 VPN Admin 관리툴을 설치할 것이다.

 

2. 리눅스 또는 윈도우 서버 준비하기

운영체제는 상관없다. Linux Desktop 이든, 윈도우 10이든 상관없이 선택가능하다.

만약, 당신의 웹서버의 자원이 여유롭다면 웹서버에 설치하는 것도 좋다.

다만, 공유기 내부의 인터넷 환경이라면 포트포워딩 작업이 필요할 수도 있다.

 

3. 윈도우 PC에 VPN 서버 관리 프로그램 설치

https://www.softether.org/ 라는 VPN 서버 프로그램을 사용할 것이다.

이 프로그램은 일본쓰쿠바대학의 어느 연구실에서 개발되었다. (https://www.softether.org/9-about)

 

이 소프트웨어는 무료 오픈소스이며 GPLv2 에 따라 개작 및 재배포도 가능하다.

https://www.softether.org/4-docs/1-manual/1._SoftEther_VPN_Overview/1.3_SoftEther_VPN_is_Open_Source

 

윈도우 운영체제에서, 이 페이지 (https://www.softether.org/5-download) 방문 후 다운로드 한다.

이렇게 선택한다.

 

클린 설치된 Windows 컴퓨터가 없어서, 이 글에서는 VULTR 클라우드의 Windows 서버를 선택할 것이다.

이 글에서 사용한 테스트 기기는 https://www.vultr.com/ 클라우드의 Windows 2016 서버이다.

 

 

< Windows 서버 2016Windows 10 과 UI 가 동일하더라 >

아무튼 다운받은 설치 파일을 실행한다.

설치할 때 “SoftEther VPN Server Manager” 를 선택한다. 그 외엔 Next 버튼을 누르면 된다.

만약, 이 서버에 VPN 서버 프로그램까지 설치하려면 “SoftEther VPN Server” 옵션을 선택하세요.

 

< VPN 관리툴 준비완료 >

 

4. Linux 또는 Windows 서버에 VPN 프로그램 설치

서버 컴퓨터에 VPN 을 설정하는게 좋다. 서버 컴퓨터의 네트워크는 안정적이고 빠르기 때문이다.
위치나 운영체제 상관없이 VPN 컴퓨터를 한대 준비하면 된다.

라엘이는 VPN 서버를 한국에 1대, 일본에 1대 세팅하여 적절히 사용하고 있다.

 

예를들어 github 같은 사이트에서 어떤 파일 다운받을때

github” --> “내 PC”   파일 다운로드에 몇 시간이 걸리는 경우가 있는데,

github” -> “일본 VPN 서버” -> “한국 VPN 서버” -> “내 PC” 을 통하여 다운로드하면 몇 분이면 완료되는 놀라운 광경이 벌어진다.

신기하게도 이렇게 돌아서 연결하는것이 더 빠른 경우가 (매우)많다. 특히 해외 사이트.

 

아무튼 이 글에서는 한국에 위치한 지금보고 계시는 블로그 서버에 VPN 서버 프로그램을 설치할 것이다.

* 리눅스 서버의 root 계정에 로그인 한 후

- 컴파일 프로그램 설치

# apt-get install gcc
# apt-get install build-essential

 

- 다운로드 후 압축 해제

# wget http://www.softether-download.com/files/softether/v4.24-9651-beta-2017.10.23-tree/Linux/SoftEther_VPN_Server/64bit_-_Intel_x64_or_AMD64/softether-vpnserver-v4.24-9651-beta-2017.10.23-linux-x64-64bit.tar.gz
# tar -xzvf softether-vpnserver-v4.24-9651-beta-2017.10.23-linux-x64-64bit.tar.gz

 

- 설치

# cd vpnserver
# make

약관 동의(1) 몇번 하면 프로그램이 준비됩니다.

# ./vpnserver start

환경설정은 관리자 프로그램에서 할 수 있다.

 

5. VPN 서버 기본설정

윈도우 서버 관리자 프로그램에서 접속을 설정한다. 관리자 프로그램은 TCP 5555 포트를 사용할 것이다.
할 수 있다면, 이 VPN 관리자 포트의 방화벽을 사용할 때에만 OPEN 하게 설정하도록 하자. (이용 중인 클라우드 방화벽에서 적절히 설정하세요.)

 

처음 연결시 VPN 관리자 비밀번호를 설정한다.

중요한 비밀번호이기 때문에, 영문/숫자/특수문자가 섞여있는 10글자 이상의 비밀번호 설정을 추천한다.

비밀번호에 자신의 한글 이름을 섞는것을 추천한다. (외우기 쉬운 긴 비밀번호를 설정할 수 있기 때문)

 

비밀번호 설정 후 자동설정 도우미 화면이 뜬다.

수동설정은 조금 복잡하기 때문에 자동설정을 사용하도록 한다.

 

< 허브 이름 설정. 그대로 둔다 >

 

< ddns 정보. 그냥 보고 넘어간다 >

 

< 스마트폰이나 Mac 컴퓨터에서 VPN 을 사용할 수 있게 L2TP 를 켠다 >

IPsec Pre-Shared Key 는 미리 알려주는 공통 비밀번호이다. 이 공통 비밀번호를 입력해야 아이디/비밀번호 로그인 할 수 있는 권한을 얻는다. 길지 않은 단어를 입력한다.

 

< Azure Cloud 는 사용하지 않는다 >

 

< 사용자 추가. 추후에 여러 계정 추가 가능하다. >

 

설정 완료.

사용하지 않는 관리포트 3개는 Listen 을 중지시킨다. 비록 비밀번호 암호로 보호되지만 TCP 5555 포트에 방화벽 설정을 걸어두는 것이 좋다.


Secure NAT 켜기. 이 기능은 자체 사설 네트워크를 생성하는 기능이다.


Secure NAT 과 Local Bridge 가 Linux 에서 충돌을 일으킨다. (make loop)

공유기 기능의 Secure NAT 을 끌수는 없으니 Local Bridge 를 삭제한다.

 

VPN 프로그램 재시작

# ./vpnserver stop
# ./vpnserver start

 

6. VPN 테스트

라엘이는 맥을 사용하기 때문에, 맥에서 L2TP 연결을 테스트 하였다.

L2TP 포트UDP 500, UDP 1701, UDP 4500 이다.

 

적당히 PC 에 VPN 을 설정하고 연결한다.

내 아이피 확인하는 사이트 http://ipconfig.tools 에 방문 후 정상적으로 VPN 서버의 IP 가 출력되는지 확인한다.

 

 

참고로 VPN 관리툴은 계정추가 할 때 아니면 쓸일이 거의 없다. 혹시나 관리툴 전용 가상머신을 생성했다면, 삭제해 주도록 하자.

 

내 전용 IP 설정 성공!

41 Comments

  1. 항상 완벽한 가이드를 제공해 주시네요
    늘 감사합니다.

  2. 안녕하세요. 푸우시로 라고 합니다.

    지금 현재 아마존라이트세일에 Softether vpn 서버를 위와같이 구축해서 쓰고 있는데요.
    포트는 443포트를 쓰고 있습니다.

    https 가 443포트를 쓰고 있는데, 포트를 5555로 설정하면. 동일한 서버에서 워드프레스 같은 웹서버를 운영하면서 그사이트에 https (SSL) 설정해서 운영해도 충돌같은 문제가 없나요?

    참고로 vpn은 저 혼자 사용하며 트래픽이 많지 않고, 제가 운영중인 사이트가 초기라서 동접자수가 거의 없습니다.

    답변 부탁드립니다. 감사합니다.

    1. 네 관리포트 4개 다 사용할 필요 없습니다. 하나만 사용하시면 되고, 본문과 같이 5555 로 설정하면 문제가 발생하지 않을 것입니다.

      1. 안녕하세요 위의 말씀대로 5555포트로 설정을 마쳤습니다.

        softether server 매니저에서도 설정을 마쳐서 접속까지 확인을 했는데요..
        클라이언스 매니저에서 접속이 안되네요..

        혹시 설정상의 유의사항이 있을까요??

        1. VPN 프로토콜에 따라 클라이언트의 접속방법이 다릅니다.
          PPTP, SSTP, L2TP 등 접속 프로토콜을 확인하시고 프로토콜에 맞게 방화벽이 열려있는지 확인해보세요.

          1. 정말 감사합니다. 덕분에 설치 마쳤습니다. ^^

  3. 라엘님, 위와같은 방법으로 설치해서 사용해서 처음에는 정상적으로 작동이 되다가 갑자기 자꾸 끊기는 현상이 발생해서 서버를 살펴보니 CPU가 100퍼센트까지 치솟으면서 먹통이 되는 현상이 계속 발생되네요..

    구글을 찾아보니 로컬브릿지와 NAT 암호화를 같이 사용하면 무한루프가 계속되면서 서버가 뻗는 현상이 일어난다고 하는데 방법이 없을까요?

    1. 본문 하단에 추가하였습니다.
      로컬브릿지를 삭제해보세요.
      문제사항을 알려주셔서 감사합니다.

  4. ㅠㅠ 저는 make를 쳐도 파일 찾지못했다면서 설치가 안될길래 찾아봤는데

    apt-get install build-essential -y

    로 위 패키지설치하고 나면 정상적으로 설치됩니다.

    확인해보시고 본문에 추가해주셨으면 좋겠어요!

    1. 아하.. make 가 없는 시스템도 있겠네요. 본문에 추가하였습니다. 알려주셔서 감사합니다.

  5. 안녕하세요 vpn구축방법 문의드립니다 010******** 문자한번 부탁드립니다

    1. 안녕하세요. 기술지원은 따로 해드리지 않습니다. 감사합니다.

  6. 님아 글 보고 따라했는데요 마지막 부분에 사용자 추가하는 부분에서 비밀번호를 입력하면은 무조건 8자리로 설정이 되네요 5자리를하든 6자리를 하든 8자리로 설정되어서 최종적으로 휴대폰에서 vpn설정이 안되네요

  7. vpn서버 들어가서 사용자 등록 할떄 password authentication setting 부분에서
    패스워드를 설정하면 5자리를 하든 6자리를 하든 무조건 8자리로 고정이 되어있어서
    휴대폰에서 vpn 연결을 할때 사용자 비밀번호를 모르니깐 연결이 안되네요

    1. 비밀번호가 8자리 처럼 보이는건 보안을 위해서 그렇게 보이는것이고, 비밀번호 1글자로도 잘 설정됩니다.
      vpn 서버에서 처음화면 하단의 IPSec/L2TP Setting 클릭한다음 가장하단의 IPSec pre-shared key가 비밀키 입니다.
      즉 아이디-비밀번호-비밀키 3개가 맞아야 로그인됩니다. 다시 말하지만 비밀번호는 1글자로도 설정됩니다.

      1. 제가 라엘님이 쓰신글을 보고 따라해봤는데 리눅스를 이용해서 서버는 작동되게 만들었는데 휴대폰에서 vpn연결이 안되요 그 이유가 포트포워딩을 안해서인가요?

        1. 혹시 클라우드 방화벽을 사용한다면, UDP 500과 UDP 4500 을 허용으로 설정하세요.

  8. 귀한 정보 감사합니다. 따라하던 중 VPN Server 셋업에서 VPN Server Hostname이 아이피 주소가 아닌 localhost라고 뜨네요. 혹시 어찌하면 좋을지요..?

    1. 편집 누르시고 아이피 입력하시면 됩니다.

  9. 안녕하세요. 인터넷 검색하다가 들어와서 작성자님 글에 흥미를 느껴서 한번 시도해보려고 하는데요. 이쪽전공도 아닌 그냥 일반인인데 시도할 수 있을까요? 그리고.. 리눅스 서버의 root계정의 로그인은 어떻게 하는건지 물어도될까요?

    1. 이 글은 조금 어려우니까 제가 조만간 쉬운 VPN 세팅법을 작성해볼께요.

  10. 안녕하세요
    집에 컴퓨터가 두대가있으면 집에서 사용하는 유동ip를 고정 ip로 변경할 수 있다는 건가요?

    1. 아니요. 그건 아니에요. 고정 IP를 사용하는 컴퓨터가 있어야합니다. 본문처럼 클라우드 서버를 하나 구동하셔야 해요.

  11. 마치 영문을 번역한 것처럼 설명이 많이 어렵네요. ^^;; 컴퓨터가 두대가 있어야 한다는 건가요? 일본과 중국에 1대씩 있다는 건 물리적 컴퓨터를 말씀하시는 건가요? 클라우드가 들어가니 헷갈리네요. 네트워크는 역시 배우기가 어렵습니다. 용어들도 어렵고, 어떻게 차근차근 배울 수 있는 과정이 있을까요?

    1. VPN 을 중계하는 서버가 있어야합니다.

  12. 제가 기숙학원에 있는데 태블릿에 패밀리링크가 깔려있어서 vpn주소를 만들수가 없네요 지금도 ebs앱ㅇㅡ로 일부사이트만 하고있어요 유튜브가 너무 보고싶은데 vpn 주소 비밀번호 하나만 알려주실 수 있나요

    1. 그건 인터넷망으로 막은게 아니라 패밀리링크앱으로 막는거라서 VPN으로 해결할 문제가 아닌것같습니다.

  13. pc접속되고 아이폰접속되는데 안드로이드만 안되네요… 멀까요..

    1. VPN 종류를 L2TP 로 설정했는지 확인해보세요.

  14. 일반 윈10 home으로는 불가능하고 꼭 무조건 윈도우서버랑 리눅스로만 가능한건가요?

    1. 운영체제는 아무거나 해도 상관없습니다. windows 가 다루기가 쉽고, linux 는 유지비가 더 저렴합니다.

      1. ㄳㄳ!만일 AMD Athlon 3000g로 자작NAS멩글일있음 걍차라리 리눅스민트나 루분투같은 리눅스까는게 더나을거같네요 리눅스는 공부가 필요하지만 생각보다 금방배우구 일단 공짜인데다 윈도우즈OS와달리 램관리가 잘되니…

  15. 안녕하세요 softether vpn으로 dhcp 말고 고정공인 ip를 할당해줄수 있는 방법은 없나요?

    1. out traffic 은 고정ip 로 설정되서 나갑니다.
      in traffic 을 하려면 패킷포워딩 설정을 하셔야 합니다.

  16. vpn 처음 기본설정할때 아래의 에러가 뜨는데 어떻게 해야하나요? 예전에 vpn깔고 포맷을하고 다시깔아서인지….설정이 안되네요 ㅠ
    Connection to the server failed. check network connection and make sure that address and port number of destination server are correct

  17. 안녕하세요.
    운영하는 웹 서버의 443 포트에 같이 사용할 수 없나요?
    https 포트에 터널링으로 숨길 수 있다. 뭐 이런 비슷한 걸 봤는데 좀 어렵더라고요.
    일부러 포트를 하나 더 열어주는 것보다, 운영중인 웹 서버 443포트에서 할 수 있음 참 좋겠는데..

    예) ssh, sftp 접속을 https://도메인.com으로 사용 할 수 있듯이…

    1. 안녕하세요. 포트는 하나의 프로그램이 사용가능합니다.
      이미 웹서버 프로그램이 사용중이므로 같은포트로 vpn프로그램을 실행시킬수 없습니다.

  18. 안녕하세요. 여러가지 찾아보다 이 글을 발견하게 되어 질문을 몇가지 드리고자 합니다.
    제가 생각하는 방식은 리모트에 있는 피씨에 여러개의 안드로이드 핸드폰을 테더링으로 연결해놓고 각각 핸드폰의 네트워크 인터페이스(?)를 생성해 놓습니다.

    제 피씨에서 프로그램을 실행시키면 리모트 피씨에 연결된 여러 테더링 네트워크 인터페이스 중 지정된 곳을 통해서 인터넷 연결을 하고 싶습니다.

    저 프로그램을 이용하면 이렇게 사용이 가능할까요?
    또한 내 피씨에서 명령어를 날리면 (예를 들어 안드로이드 폰의 데이터 온/오프) 이게 리포트 피씨에 연결된
    해당 테더링 네트워크 인터페이스를 통해 연결된 안드로이드 폰에 명령이 먹힐까요?

    이게 궁금합니다.
    감사합니다.

    1. 전부 가능은 한데, 하나의 PC에서 다중ip통신을 하도록 세팅하는것도 쉬운작업은 아닐거에요.

  19. 안녕하세요 몇가지 여쭤보고 싶어서 문의드립니다.
    우선 저도 VPN을 구축하고싶은데요. 그 이유가 외국인 게이머들이 사용할 수 있는 VPN을 만들고 싶어서입니다.
    저는 게임대회를 중계하고있습니다. 그런데 작성자님도 아마 어느정도 예측은 하실 수 있듯이
    일반적인 상황에서 한국인과 외국인이 경기를 할 경우에 레이턴시가 높아지면서 정상적인 게임보다는 반응속도가 많이 늦어집니다.
    그래서 어려움을 겪다가 외국인들중에 한 기술자가 텐센트 클라우드를 이용해서 VPN을 구축했었고 그것을 사용했을때 레이턴시가 정말 획기적으로 줄어들면서 한국인 vs 한국인 매치만큼은 아니더라도 그에 못지 않게 레이턴시가 낮아졌고 정상적인 게임진행이 가능했습니다.
    하지만 그 외국인 기술자와 연락이 끊기면서 VPN도 작동이 멈췄습니다.
    이 부분에 대해서 정말 수많은 VPN 서비스를 이용해봤지만 레이턴시가 낮아지는 효과가 없었습니다.
    그래서 찾다찾다 제가 만들어보려고 하는데 어떻게 세팅을 해야하는지 너무 어려워서요 ㅠㅠ
    작성자님께서 작성하신대로 하면 작동이 될까요?
    외국인 게이머들은 각각 헝가리, 폴란드에 살고있고 한국인 또는 중국인과의 매치를 할때마다 VPN을 사용하지 않을경우 레이턴시가 너무 늘어져서 정상적인 진행이 힘들어서요 게임은 스타크래프트입니다.
    이럴경우에는 어떻게 세팅을 해야하는지 혹시 조언같은걸 해주실 수 있는지 궁금해서 문의납깁니다.
    ps. 정말 이 분야는 제가 까막눈 수준이라 그런지 정말 어렵네요 ㅎㅎ;

    1. 지금은 닫았지만 예전에 스타로그 사이트 만들때 살펴보니까 헝가리, 폴란드에서 스타크래프트가 활발하더라구요.
      국가간 통신은 주로 제일 저렴한 방식으로 연결되기 때문에 속도가 보장되지 않습니다. 따라서 게임은 VPN 사용이 필수죠.
      중국에 클라우드 서버를 생성하시려면 알리바바 클라우드를 추천드리며, 국내 딜러인 https://www.cloudlink.co.kr/ 이용을 추천드립니다.
      클라우드 구축은 본문에 나와있고, 사용법은 원래 사용하셨으니까 다 아실거라 생각합니다.

푸우시로에 답글 남기기 응답 취소

작성하신 댓글은 관리자의 수동 승인 후 게시됩니다.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
*
*