리눅스 서버에서 pptp방식으로 VPN서버를 구축할 것이다.

pptp방식은 속도가 빠르고 구축이 쉬운 편이나 보안에는 그렇게 좋은 편이 아니라고 합니다.

또한 애플기기에서는 기본적으로 pptp방식을 지원하지 않는다고 합니다.

저는 aws환경에서 진행할 것입니다. google cloud platform에서도 시도해보았지만 gcp에서는 연결을 할 수 없었는데

pptp방식에서 필요한 gre기능을 gcp는 지원을 하지 않아서 그런 것 같습니다.


우분투에서 vpn 서버구축

먼저 aws에서 Ubuntu 18.04LTS로 진행하기 위해 인스턴스를 생성합니다.

3232235521_bjBVWi3c_b2853547a7c7706cdf1f

 

그리고 aws에서 진행할 때는 네트워크 보안 그룹 tcp/1723번 포트를 열어줘야합니다.

gre/47번도 열어줘야한다고 하는데 aws에서는 딱히 gre/47은 건드리지 않아도 작동했다.

우리집 iptime공유기로도 테스트 해봤는데 외부와 바로 연결된 iptime공유기에 private ip를 받은 우분투 노드에서

vpn서버를 구축했을 때, 1723번포트만 포워딩 해주니 안드로이드로 vpn에 접속, 인터넷이 모두 잘 작동했다.

iptime에 gre포트도 포워딩할 수 있었는데 이건 해도, 안해도 작동했다.

sudo aptget install pptpd

명령어를 통해서 pptpd를 설치합니다.

3232235521_Ciljovmq_8b373bb1e9353c7586c2

 

그 다음에는 /etc/pptpd.conf 파일을 엽니다. 맨 아래를 보면

3232235521_jPtDYSWv_35da0b3fa3bcdb243fa1

 

이런식으로 되어있는데 여기서 vpn을 이용해서 구축할 private ip를 설정합니다.

local ip는 이 vpn서버의 ip가 되고 remote ip를 vpn 클라이언트가 받게 됩니다.

저는 aws를 사용하기 때문에 겹치는 ip가 없으므로 주석을 해제하여 사용하겠습니다.

3232235521_EbGVw3OS_8019bcab03b33865a812

 

원하는 범위를 입력한 뒤 저장합니다.

다음은 vpn서버에 접속할 계정을 만들어야합니다.

/etc/ppp/chap-secrets 파일을 엽니다.

3232235521_cEXTqIS4_1c0113bb607f7bc6ef77

 

[id] pptpd [password] * 을 순서대로 입력합니다.

그리고 저장합니다.

이 상태에서 서버를 작동시키면 vpn서버에 연결할 수 있다. 하지만 인터넷에 접속해보면 작동하지 않는다.

/etc/sysctl.conf 파일을 연다.

3232235521_NBupUasE_3280ca8c8e810b24a408

 

net.ipv4.ip_forward=1에 주석이 걸려있는데 주석을 해제한다.

sudo sysctl p

명령어로 reload해준다.

마지막으로 네트워크의 방화벽 같은 부분을 설정해야 인터넷 이용이 가능하다. 아래의 명령어를 입력한다.

sudo iptables t nat A POSTROUTING o eth0 j MASQUERADE

그런데 이 명령어를 입력할 때, eth0가 아닐 수도 있다.

리눅스에서 VPN서버 구축하기 (pptp방식)

The post 리눅스에서 VPN서버 구축하기 (pptp방식) appeared first on 동까닷컴.


리눅스에서 VPN서버 구축하기 (pptp방식)


포스팅은 파트너스 활동의 일환으로 이에 따른 일정액의 수수료를 제공받고 있습니다.