Raspberry Pi로 VPN 서버를 만드는 방법

게시 됨: 2022-01-29

VPN을 생각할 때 전 세계 다른 곳에 위치한 서버를 통해 인터넷 트래픽을 터널링하는 구독 서비스를 상상할 수 있습니다. 그러나 이러한 서비스가 온라인 활동을 암호화하는 유일한 방법은 아닙니다.

원클릭 VPN 서비스는 훌륭할 수 있으며 즉시 사용할 수 있는 간단한 솔루션을 원하는 경우 몇 가지 VPN을 권장합니다. 하지만 그 서비스에는 비용이 따릅니다. 일반적으로 한 달에 약 $5에서 $10이며, 상대방을 신뢰하는 것은 말할 것도 없습니다. 제어할 수 있는 더 저렴한 옵션을 위해 Raspberry Pi(또는 특정 라우터)에 OpenVPNserver를 설정하고 외출 중에 자신의 홈 인터넷 연결을 VPN으로 사용할 수 있습니다.

귀하의 위치를 ​​해외 국가로 위장하거나 다른 사람의 눈에 띄지 않도록 귀하의 신원을 숨길 수 없다는 점에 유의하십시오(트래픽이 일반 가정 인터넷 연결에서 오는 것처럼 보이기 때문입니다). 그러나 공용 Wi-Fi에서 탐색할 때 추가 보안을 제공하며 원격 데스크톱을 사용할 수 있도록 잠자는 PC를 깨우는 경우와 같이 홈 네트워크에 액세스해야 할 때 오히려 유용합니다. 저렴하고 쉽고, Pi가 주위에 있다면 할 가치가 있습니다.

필요한 것

이를 설정하려면 전원 공급 장치 및 SD 카드와 같은 모든 중요한 액세서리가 포함된 Raspberry Pi가 필요합니다. 이 가이드에는 특별한 운영 체제가 필요하지 않습니다. Raspbian을 사용할 수 있으므로 기본 설정에 대해 알아야 할 모든 내용은 Raspberry Pi에 대한 초보자 가이드를 확인하세요. (파이를 처음 부팅할 때 기본 암호를 변경해야 합니다. 보안에 매우 중요하기 때문입니다. 결국 이것이 이 프로젝트의 요점입니다.)

꼭 필요한 것은 아니지만 초기 설정용으로만 이 연습을 위해 마우스, 키보드 및 모니터를 사용하는 것이 좋습니다. (Pi에 SSH로 연결하여 VPN을 설정할 수 있지만 네트워크 설정을 변경하면 Pi의 연결이 끊어질 수 있으므로 프로세스 중간에 다시 연결해야 할 수도 있습니다.)

Raspberry Pi 및 관련 액세서리 이미지
Raspberry Pi를 VPN 서버로 전환하는 데 필요한 모든 것

내가 권장하는 몇 가지 다른 사항이 있지만 이것이 기술적으로 필요한 전부입니다. 먼저, 내부 IP 주소가 시간이 지나도 변경되지 않도록 Raspberry Pi에 대한 DHCP 예약을 설정하는 것이 좋습니다.

둘째, 동적 DNS 서비스를 추천합니다. 멀리서 Pi에 액세스하려면 집에 있는 공용 IP 주소를 가리켜야 합니다. 이것은 찾기 어렵지 않지만 때때로 변경될 수 있으므로 다시 구성할 때까지 VPN이 중단될 수 있습니다. 그렇게 하는 것은 일종의 고통이므로 IP 주소가 변경될 때마다 업데이트되는 기억하기 쉬운 주소를 대신 제공하는 동적 DNS 서비스를 사용하는 것이 더 쉽습니다.

라우터 설정을 확인하여 DynDNS 또는 No-IP와 같은 동적 DNS 서비스를 지원하는지 확인하십시오. 이들 중 일부는 유료 구독이지만 No-IP와 같은 다른 서비스는 제한된 사용을 위해 무료이므로 우리의 목적에 완벽하게 작동해야 합니다. 이 가이드에서 전체 프로세스를 살펴보진 않겠지만 인터넷 제공업체에서 계속해서 공개 IP 주소를 변경하고 VPN을 중단하는 경우 이를 살펴보는 것이 좋습니다.

PiVPN으로 OpenVPN을 설치하는 방법

OpenVPN은 거의 모든 유형의 하드웨어에 VPN을 설정할 수 있는 오픈 소스 소프트웨어 세트입니다. 원하는 경우 Pi에 OpenVPN의 Linux 서버를 설치하고 구성 파일을 수동으로 조정할 수 있지만 더 쉬운 솔루션이 있습니다. PiVPN은 OpenVPN의 구성을 사용하기 쉬운 마법사로 바꾸는 오픈 소스 스크립트 세트이므로, OpenVPN을 처음 사용하는 경우에도 설정하는 데 큰 어려움이 없을 것입니다.

Windows 터미널의 스크린샷
Windows 터미널 창에서 PiVPN 설치

따라서 Pi를 부팅하고 모든 소프트웨어가 최신 버전인지 확인하고 새 터미널 창을 엽니다. PiVPN 설치는 다음 명령을 실행하는 것만큼 간단합니다.

컬 -L https://install.pivpn.io | 세게 때리다

스크립트는 OpenVPN을 설치하는 데 몇 분 정도 소요되며 구성 프로세스를 안내합니다. 먼저 PiVPN에 고정 IP 주소가 필요하므로 외출 중에 VPN 서버에 쉽게 액세스할 수 있음을 알려줍니다. DHCP 예약을 설정한 경우 PiVPN이 DHCP 예약을 사용 중인지 물을 때 예라고 말하면 됩니다.

사용자를 선택한 후(사용하려는 다른 사용자가 없는 한 기본 Pi 사용자는 괜찮음) PiVPN은 WireGuard, 새 VPN 프로토콜 또는 OpenVPN을 사용할지 여부를 묻습니다. 이 가이드에서는 OpenVPN을 사용하고 있으므로 화살표 키를 사용하여 커서를 OpenVPN으로 이동한 다음 스페이스바를 눌러 선택하고 Enter를 눌러 계속하십시오.

WireGuard는 상당히 새롭고 많은 가능성을 보여주는 반면 OpenVPN은 더 인기 있고 널리 지원됩니다. WireGuard를 사용해 보고 싶다면 여기에서 더 자세히 읽을 수 있습니다.

PiVPN의 스크린샷
PiVPN으로 VPN 설정

다음 몇 단계에서는 기본 설정이 대부분의 사용자에게 적합합니다. UDP를 사용할지 TDP를 사용할지(사용하지 않을 정당한 이유가 없는 한 UDP를 선택해야 함), 어떤 포트를 사용할지(다른 것이 사용하지 않는 한 1194는 괜찮음), 무엇을 사용할지 묻는 메시지가 표시됩니다. 사용하려는 DNS 공급자(모든 것이 적합함).

한 가지 문제: 동적 DNS 서비스를 사용함에도 불구하고 PiVPN이 내 사용자 지정 URL을 수락하지 않는다는 것을 발견했습니다. 동일한 문제가 발생하면 공용 IP 주소를 사용하도록 지시하고 나중에 구성 파일에서 변경할 수 있습니다.

마지막으로 OpenVPN 2.4 기능은 지원하지 않는 앱을 ​​사용하고 있다는 사실을 모르는 경우 활성화할 가치가 있습니다. 메시지가 표시되면 권장 보안 인증서를 선택하십시오. 크기가 클수록 보안이 향상되지만 속도가 느려질 수 있으며 대부분의 사용자에게 필요하지 않습니다. 무인 업그레이드를 활성화하면 PiVPN이 필요한 패키지를 설치하고 필요한 구성 파일을 생성합니다.

마지막으로 VPN에 연결할 때 사용할 DNS를 선택할 수 있습니다. 사용자 정의 검색 도메인 추가를 건너뛰십시오(이것이 무엇인지 알고 사용하려는 경우 제외). 완료되면 Pi를 재부팅하라는 메시지가 표시됩니다.

PiVPN의 스크린샷
클라이언트 이름 지정

재부팅 후 터미널 창을 열고 다음을 실행해야 합니다.

pivpn 추가

구성 파일에 이름을 지정하고(저는 whitson-laptop을 선택했습니다) 인증서가 지속되는 기간을 설정하고(기본값은 괜찮음) 원하는 암호를 입력합니다(강력한지 확인). VPN에 연결하는 데 필요한 /home/pi/ovpns 아래에 .ovpn 파일이 생성됩니다. 이 파일을 PC에 복사하고 안전한 곳에 보관하세요.

PiVPN은 다른 장치에 대해 이 프로세스를 반복할 것을 권장하므로 이 VPN을 사용하려는 다른 랩톱이나 휴대폰이 있는 경우 지금 이 명령을 다시 실행하여 자체 구성 파일을 생성하십시오.

메모장 앱 스크린샷
IP 주소를 사용자 지정 URL로 교체

여기에서 .ovpn 파일을 한 번 수정해야 했습니다. 나와 같은 동적 DNS 서비스를 사용하는 경우 메모장(또는 원하는 텍스트 편집기)에서 파일을 열고 4행의 IP 주소를 사용자 정의 URL로 바꾸십시오. VPN에 연결하는 데 문제가 있는 경우 이것이 제가 가장 먼저 처리해야 할 부분입니다. 과거에 여러 OpenVPN 구성 생성기로 문제를 일으켰습니다.

여기에서 Pi가 모두 설정되어 있어야 하지만 연결하기 전에 라우터에서 VPN 포트를 전달하는 한 가지 작업을 더 수행해야 합니다. 이 프로세스는 라우터마다 다르지만 다음과 같이 진행됩니다. 라우터의 구성 페이지에 로그인하고 포트 전달 옵션을 찾은 다음 포트 1194를 Pi의 내부 IP 주소로 전달합니다. portforward.com에서 특정 라우터에 대한 자세한 지침을 찾을 수 있습니다.

어디서나 VPN에 연결

나머지는 매우 쉽기 때문에 이제 홈 스트레칭에 있습니다. 집에 없을 때 VPN에 연결하려면 OpenVPN 서버에 연결할 수 있는 VPN 앱 또는 "클라이언트"가 필요합니다. OpenVPN에는 Windows, macOS, Linux, iOS 및 Android에서 사용할 수 있는 OpenVPN Connect라는 공식 클라이언트가 있습니다.

OpenVPN 홈 페이지에서 다운로드할 수 있습니다. 아래로 스크롤하여 OpenVPN Connect 시작하기로 이동하고 원하는 플랫폼을 클릭하기만 하면 됩니다. Viscosity(Windows/Mac) 및 Tunnelblick(Mac)과 같이 고급 사용자를 위한 추가 옵션을 제공하는 인기 있는 타사 프로그램도 있습니다. OpenVPN 커뮤니티의 이 페이지에서 다른 OpenVPN 클라이언트를 볼 수 있습니다.

OpenVPN의 스크린샷
OpenVPN으로 VPN 관리

OpenVPN Connect 앱을 실행하고 "파일" 탭을 클릭하여 새 프로필을 추가합니다. Pi에서 복사한 구성 파일(다시 말하지만 내 파일은 whitson-laptop.ovpn이라고 함)으로 이동하여 선택합니다. 추가 버튼을 클릭하고 토글 스위치를 켜고 비밀번호를 입력하여 VPN에 연결할 수 있습니다.

그렇게 하면 모든 트래픽이 암호화되고 Pi가 있는 홈 인터넷 연결을 통해 라우팅됩니다. 귀하의 트래픽은 해당 커피숍 Wi-Fi를 엿보는 눈으로부터 안전할 것이며, 마치 거기에 있는 것처럼 홈 네트워크의 모든 리소스에 액세스할 수 있습니다. 가입비가 필요 없습니다.