https://blog.naver.com/ksnnw/222013687692 를 보며 따라해봄.
PiVPN은 두 가지 무료 오픈 소스 프로토콜을 사용하여 라즈베리 파이™를 VPN 서버로 쉽게 전환할 수 있도록 개발된 셸 스크립트 세트입니다: 이 스크립트의 주요 임무는 사용자가 기술 마법사가 아니어도 가정에서 최대한 비용 효율적으로 VPN을 사용할 수 있도록 하는 것이므로, 한 번의 명령으로 설치 프로그램을 설치한 후 ‘pivpn’ 명령으로 VPN을 쉽게 관리할 수 있도록 라즈베리 파이($35)에서 작동하도록 PiVPN을 설계했습니다.
https://www.pivpn.io/#about
설명서는 https://docs.pivpn.io/ 에서 확인 가능.
1. 오라클 클라우드(Canonical Ubuntu 22.04)에 설치
설치 방법은 아래 스크립트를 실행하는 것 뿐.(어째서인지 제대로 실행되지 않았다… Canonical Ubuntu 20.04 Minimal이라서 그런가? Canonical Ubuntu 22.04으로 새로 팠더니 실행 가능했다!)
curl -L https://install.pivpn.io | bash
Canonical Ubuntu 22.04에서 실행 성공! 한 줄의 명령어로 간단히 설치 가능하니 너무 편하다.
![](https://archmond.net/wp-content/uploads/2024/05/image-5.png)
이 설치 프로그램은 Raspberry PI를 OpenVPN 또는 WireGuard 서버로 변환합니다!
![](https://archmond.net/wp-content/uploads/2024/05/image-1.png)
PIVPN은 서버이므로 제대로 작동하려면 고정 IP 주소가 필요합니다. 다음 섹션에서는 네트워크 설정(DHCP)을 선택하거나 수동으로 편집할 수 있습니다.
![](https://archmond.net/wp-content/uploads/2024/05/image-2.png)
이 서버가 IPv6 연결이 작동하지 않거나 일부러 IPv6를 비활성화한 것 같지만, 여전히 VPN을 통해 모든 IPv6 연결을 강제로 사용하실 것을 권장합니다. 이렇게 하면 클라이언트가 터널을 우회하여 실제 IPv6 주소가 서버로 유출되는 것을 방지할 수 있지만, IPv6 네트워크에서 웹을 브라우징할 때 클라이언트의 응답 속도가 느려질 수 있습니다. IPv6 라우팅을 강제로 적용하여 누출을 차단하시겠습니까?
Yes 선택.
![](https://archmond.net/wp-content/uploads/2024/05/image-3.png)
라즈베리파이 OS를 사용하지 않는 것으로 판단되므로 고정 IP를 구성해드리지 않습니다. Amazon을 사용 중이라면 고정 IP를 구성할 수 없습니다. 이 설치 관리자가 시작되기 전에 인스턴스에 elastic IP를 설정했는지 확인하세요
![](https://archmond.net/wp-content/uploads/2024/05/image-4.png)
VPN 구성을 보관할 로컬 사용자를 선택합니다.
![](https://archmond.net/wp-content/uploads/2024/05/image-6.png)
선택(스페이스 키를 눌러 선택)합니다:
WireGuard는 거의 즉각적인 연결 속도, 고성능 및 최신 암호화를 제공하는 새로운 종류의 VPN입니다. 특히 모바일 기기에서 OpenVPN보다 배터리 소모가 더 적은 WireGuard를 사용하는 경우 권장되는 선택입니다. 유연하고 신뢰할 수 있는 기존 VPN 프로토콜이 필요하거나 TCP 및 사용자 지정 검색 도메인과 같은 기능이 필요한 경우 OpenVPN을 계속 사용할 수 있습니다.
VPN을 선택합니다(스페이스 키를 눌러 선택):
WireGuard를 선택했다!
![](https://archmond.net/wp-content/uploads/2024/05/image-7.png)
기본 와이어가드 포트를 수정할 수 있습니다. 새 값을 입력하거나 ‘Enter’를 눌러 기본값을 유지합니다.
51820을 51823으로 수정(가능하면 수정하자).
![](https://archmond.net/wp-content/uploads/2024/05/image-8.png)
이 설정이 올바른가요?
![](https://archmond.net/wp-content/uploads/2024/05/image-9.png)
VPN 클라이언트의 DNS 공급업체를 선택합니다(스페이스 키를 눌러 선택합니다). 직접 사용하려면 사용자 지정을 선택합니다. 로컬 리졸버가 실행 중인 경우, 즉 바인딩되지 않은 경우, “PiVPN-is-local-DNS”를 선택하고 리졸버가 “10.117.138.1”에서 “10.117.138.0/24″의 요청을 허용하여 수신 대기 중인지 확인하세요.
- ( ) Quad9
- ( ) OpenDNS
- ( ) Level3
- ( ) DNS.WATCH
- ( ) Norton
- ( ) FamilyShield
- ( ) CloudFlare
- ( ) PiVPN-is-local-DNS
- ( ) custom
신뢰의 Google DNS를 선택.
![](https://archmond.net/wp-content/uploads/2024/05/image-10.png)
클라이언트가 공용 IP 또는 DNS 이름을 사용하여 서버에 연결할 것인가요(공백을 눌러 선택)?
- (*) XXX.XXX.XXX.XXX: 이 공인 IP 사용
- ( ) DNS 항목: 공개 DNS 사용
일단 공인 IP를 선택.
![](https://archmond.net/wp-content/uploads/2024/05/image-11.png)
이제 서버 키가 생성됩니다.
![](https://archmond.net/wp-content/uploads/2024/05/image-12.png)
이 서버에는 인터넷에 연결된 포트가 하나 이상 있으므로 무인 업그레이드를 사용하도록 설정하는 것이 좋습니다. 이 기능은 보안 패키지 업데이트만 매일 확인하고 필요할 때 적용합니다. 서버를 자동으로 재부팅하지 않으므로 일부 업데이트를 완전히 적용하려면 주기적으로 재부팅해야 합니다.
![](https://archmond.net/wp-content/uploads/2024/05/image-13.png)
이 서버에 대한 보안 패치의 무인 업그레이드를 사용하시겠습니까?
![](https://archmond.net/wp-content/uploads/2024/05/image-14.png)
이제 ‘pivpn add’를 실행하여 클라이언트 프로필을 생성하세요. ‘pivpn help’를 실행하여 다른 방법을 확인하세요! 문제가 발생하면 모든 문서를 주의 깊게 읽어주세요. 불완전한 게시물이나 버그 신고는 모두 무시되거나 삭제됩니다. PiVPN을 이용해 주셔서 감사합니다.
![](https://archmond.net/wp-content/uploads/2024/05/image-15.png)
설치 후 재부팅하는 것이 좋습니다. 지금 재부팅하시겠습니까?
![](https://archmond.net/wp-content/uploads/2024/05/image-16.png)
이제 시스템이 재부팅됩니다.
2. 클라이언트 프로필 추가, 설정 파일 백업
![](https://archmond.net/wp-content/uploads/2024/05/image-17.png)
클라이언트 이름 입력: archmond
::: 생성된 클라이언트 키
::: 클라이언트 구성 생성됨
::: 업데이트된 서버 구성
::: 와이어가드 다시 로드됨
====================================================================
::: 완료! archmond.conf가 성공적으로 생성되었습니다!
::: archmond.conf가 easytransfer를 위해 /home/ubuntu/configs에 복사되었습니다.
::: 이 프로파일은 한 장치에서만 사용하고 다른 장치에 대한 추가
::: 다른 기기용 프로필을 생성하세요. pivpn -qr
::: 를 사용하여 모바일 앱으로 스캔할 수 있는 QR 코드를 생성할 수도 있습니다.
====================================================================
pivpn add로 클라이언트 프로필 추가
![](https://archmond.net/wp-content/uploads/2024/05/image-18-1024x322.png)
/home/사용자명/configs 폴더에 있는 .conf 파일을 로컬로 복사.
3. 포트 개방(51823)
![](https://archmond.net/wp-content/uploads/2024/05/image-19-1024x374.png)
VM 속성에서 연결된 VNIC을 클릭하여, 서브넷을 선택.
![](https://archmond.net/wp-content/uploads/2024/05/image-20-1024x370.png)
보안 목록을 선택.
![](https://archmond.net/wp-content/uploads/2024/05/image-21-1024x416.png)
수신 규칙 추가
![](https://archmond.net/wp-content/uploads/2024/05/image-22-1024x413.png)
- 소스 CIDR: 0.0.0.0/0
- IP 프로토콜: TCP
- 대상 포트 범위: 51823
![](https://archmond.net/wp-content/uploads/2024/05/image-23-1024x414.png)
- 소스 CIDR: 0.0.0.0/0
- IP 프로토콜: UDP
- 대상 포트 범위: 51823
![](https://archmond.net/wp-content/uploads/2024/05/image-24-1024x496.png)
추가된 모습.
4. VPN 접속 테스트(윈도우)
![](https://archmond.net/wp-content/uploads/2024/05/image-25-1024x597.png)
https://www.wireguard.com/install/ 에서 클라이언트 다운로드, 설치.
![](https://archmond.net/wp-content/uploads/2024/05/image-26.png)
Import tunnel(s) from file
![](https://archmond.net/wp-content/uploads/2024/05/image-27.png)
다운로드해 놓았던 .conf 파일을 선택
![](https://archmond.net/wp-content/uploads/2024/05/image-28.png)
Active 버튼을 클릭.
![](https://archmond.net/wp-content/uploads/2024/05/image-29.png)
제대로 접속된 것을 확인.
![](https://archmond.net/wp-content/uploads/2024/05/image-30-1024x617.png)
https://whatismyipaddress.com/ 에 접속하면 VPN의 IP 주소가 보인다.
![](https://archmond.net/wp-content/uploads/2024/05/image-31.png)
콘솔에서 pivpn -qr을 입력하면 모바일 기기에서 손쉽게 접속할 수 있다니 참고하자.
도움 받은 링크들: