PiVPN 설치

https://blog.naver.com/ksnnw/222013687692

Wireguard를 이용한 VPN서버 만들기

[라즈베리파이/pivpn] Wireguard를 이용한 VPN서버 만들기

vpn의 목적은 내부에서만 접속 가능한 클라이언트들을 외부에서도 접속 가능할 수 있게끔 가상의 네트워크를 만들어주는 것입니다.

예를들어, samba클라이언트는 같은 공유기 (같은 네트워크)에 접속되어있는 컴퓨터끼리만 접속할 수 있기 때문에 집 밖에서는 접속할 수가 없습니다.

내가 라즈베리파이에 사진을 넣어놨고 밖에 나가서 그 사진을 보고 싶은데 접속이 안되죠.

이럴때 라즈베리파이에 vpn서버를 하나 설치해주시면 vpn을 통해 지금 내가 집안 네트워크에 있는것 처럼 접속 할 수가 있습니다.

또한 이를 이용하면 어느 특정 지역에서만 제공하는 서비스를 다른 지역에서도 이용할 수 있게 됩니다.

wavve와 tving은 한국 밖에서는 이용할 수 없는데요 저는 한국에 설치되어있는 라즈베리파이에 vpn을 설치해서 wavve와 tving을 이용하고 있습니다.

라즈베리파이에 openvpn, wireguard, softether 가장 많이 쓰이는 3가지를 다 설치가 가능합니다만, 각각 서버를 하나하나 수동으로 설치하려면 너무 고통스럽고 힘든 길이죠. 프라이빗키, 퍼블릭키, RSA키, 패키지 주소 추가, 뭐뭐뭐 등등등 신경써야 할게 너무 많습니다.

하지만 세상에는 이런 힘든 과정들을 최대한 단순화 시켜서 자동화해주는 고마운 분들이 존재하고 있죠.

라즈베리파이를 위한 간단한 VPN서비스 PIVPN을 소개합니다

라즈베리파이를 위한 vpn이지만 데비안/우분투 계열이면 모두 작동합니다.

설치는 딱 한줄이면 됩니다.

물론 세부적인 설정이 불가능하다는 단점이 있습니다만, 이것저것 머리아프게 다 일일이 설정하느니 그냥 이거 한줄로 하는게 백배 낫다는게 제 솔직한 마음입니다.

curl L https://install.pivpn.io | bash

시작해보겠습니다.

설치가 시작되었습니다. 알아서 업데이트 체크도 해주네요

본격적으로 설치가 진행됩니다.

PIVPN은 네녀석의 라즈베리파이를 OpenVPN이나 Wireguard 서버로 변신시켜주지!!

OK!!

PIVPN은 서버이기 때문에 안정적인 IP가 필요하단다.

이 설정이 맞는가요? 잘 모르겠으면 NO하랍니다.

우린 잘 모르죠. NO하겠습니다.

그럼 이렇게 접속되어있는게 맞기는 한건가? 하고 물어봅니다.

IP address가 라즈베리파이의 주소와 일치한지 확인하시고 YES해주세요

IP가 충돌할 수도 있지만 현대의 공유기들은 스마트하므로 그럴일은 어지간해서는 없을거랍니다. OK해줍시다.

어떤 종류의 VPN서버를 쓸건지 선택해달랍니다.

유저를 선택해주세요. 별 다른거 안만졌으면 pi밖에 없습니다.

이제 어떤 형태의 서버를 돌릴지를 선택해줍니다.

OpenVPN은 가장 대중적이고 대부분의 기기에서 쓰일 수 있지만 느립니다. 좀 많이 느립니다.

Wireguard는 개발된지 얼마 안되었고 아직도 개발중입니다만 접속속도가 아주 빠르더라구요.

그리고 윈도우, 안드로이드, 맥OS, 리눅스에서도 사용가능합니다. (어? 다 되잖아?)

그러니까 장점많은 wireguard로 선택해주세요.

또 다시 진행이 됩니다

필요한 패키지를 설치중입니다

wireguard를 설정중이라네요

접속 포트를 설정합니다. 기본값은 51820입니다. 원하시는대로 적당히 변경해주신 후 공유기에서 포트를 열어주세요.

Wireguard는 UDP를 쓰기 때문에 포트를 여실때는 TCP/UDP를 모두 열어주셔야 합니다

Yes!

DNS주소를 설정해야 합니다. 각자 사용하시는 인터넷 업체에서 제공하는 DNS가 있을겁니다.

밑으로 내리셔서 DNS주소를 아시면 Custom에서 입력해주세요.

선택은 스페이스키로 합니다. 제가 쓰는 Verizon Fios NY의 DNS는 8.237.161.12, 8.237.161.14이고

한국에 있는 KT의 DNS는 168.126.63.1, 168.126.63.2 입니다.

DNS값을 잘못 입력하면 내부망에 접속은 되는데 인터넷에 접속이 안되는 사태가 일어납니다. 꼭 통신사에 맞는 올바른 DNS값을 입력해주시고, 모르시면 Google을 선택해주세요. 구글 DNS가 어지간한건 다 커버해주더군요.

저는 DNS 주소를 알고 있으므로 Custom에서 입력해주었습니다. 구글링 하시면 DNS 주소는 쉽게 찾으실 수 있을거에요

Google을 선택한 경우에는 이 부분이 스킵됩니다.

맞는지 확인하시고 Yes. 마찬가지로 Google을 선택한 경우에는 이 부분이 스킵됩니다.

외부에서 접속시의 주소를 선택합니다. 공용IP를 쓸지 DNS주소를 쓸지 물어봅니다.

공용IP주소는 자주 변하므로 가능하면 DNS주소를 선택해주세요. 우리가 이전 포스팅에서 만들어두었던 duckdns를 여기서 쓸겁니다.

만들어두신 DNS주소를 입력해주세요.

맞으시면 Yes

서버 보안키가 생성됩니다. OK

적어도 포트 하나는 열어두었으니 보안업데이트를 자동으로 체크하고 필요하면 적용한답니다.

대신 자동 재부팅은 안하니 가끔씩은 재부팅을 해달라네요

좋은거니까 이건 Yes해줍시다

자동 업데이트에 필요한 패키지를 설치중입니다.

디스크에 기록중이군요.

설치가 끝났습니다! 수고하셨어요! 사용자 등록은 pivpn add 를 통해서 합니다.

지금 재부팅을 원하시면 Yes, 나중에 하시려면 No를 선택해주세요.

그런데 어차피 해야 할거, 그냥 지금 합시다.

OK를 누르면 재부팅됩니다.

재부팅이 되었으면 사용자를 추가하도록 하겠습니다

pivpn add

클라이언트 이름을 설정하시면 접속에 필요한 설정파일이 만들어집니다. /home/pi/configs 에 있다는군요.

winscp를 열어 해당 폴더로 가보도록 하겠습니다.

Samba를 설정하셨다면 윈도우 탐색기에서 볼 수도 있습니다.

편한 방법대로 해주세요.

폴더 안에 들어가시면 방금 만들어놓은 설정 파일이 보입니다. 적당한곳에 복사해주세요.

이제 윈도우용 wireguard 클라이언트를 설치하겠습니다.

운영체제에 맞게 파일을 다운받아 설치해주세요.

잘 모르겠으면 Download for 64-bit 밑에 살포시 자리잡아있는 Download for 32-bit를 눌러주세요.

저는 64비트 OS를 쓰므로 64비트로 설치하겠습니다.

심플합니다. 설치하면 잠시후에 바로 프로그램이 구동됩니다.

여기서 import tunnel(s) from file을 눌러주세요

라즈베리에서 Samba를 설정해놓으면 좋은점이 이렇게 바로 접속이 가능하다는 점입니다.

만들어놓은 설정값을 열어주세요.

요렇게 세부 접속정보가 뜹니다. 여기서 Activate를 누르면 집에 있는 라즈베리파이가 연결되어있는 네트워크로 연결이 됩니다.

그럼 테스트를 해보겠습니다.

다른 네트워크에서 접속된 상태에서 제 라즈베리파이의 내부 주소를 입력해봤습니다. 안되는게 당연합니다.

wireguard를 활성화 시켰습니다.

잘됩니다.

안드로이드 스마트폰 쓰시는분들께 한가지 팁을 드리자면

VPN관련 어플중 Tunsafe라는 어플이 있습니다.

Wireguard의 설정파일을 이용해서 우회접속을 해주는 어플인데요, 이 어플은 예외설정이 가능하여 필요한 어플만 vpn을 통해 접속시킬 수 있습니다.

예를들어, 저는 wavve, tving, youtube TV, netflix, amazon prime을 이용중인데요, 이중 wavve와 tving은 한국에서만 서비스되고 youtube tv, amazon prime은 미국에서만 서비스됩니다.

그럼 tunsafe를 통해 youtuve tv와 amazon prime, netflix를 예외설정해놓으면 이 모든 스트리밍 서비스가 한 대의 기기에서 가능하게 됩니다.

openvpn에서는 이런 어플이 없는것 같더군요. 이래저래 vpn은 wireguard를 추천합니다.

저는 한국에 방문한 김에 한국에 pivpn 서버를 한 대 설치해두고 왔는데요

해외사시는 분들중 한국에 친척이나 지인이 있다면 라즈베리파이에 pivpn 셋업해서 우편으로 보내신 후 공유기에 연결해달라고 한 뒤에

team viewer같은걸로 원격 조정해서 공유기 설정을 하시면 될겁니다.

댓글 남기기