배경

해외에 있다보면, 국내에서만 접근 가능한 사이트들이 있는데, VPN서비스들을 이용하자니, 개인 정보가 유출될 염려도 있어서, 가장 간단한 방법으로 VPN 구현

WireGuard 가 보안, 속도, 설치 난이도가 다른 VPN이나 proxy보다 쉬워서, 이걸로 진행

WireGuard 설치 스크립트

curl -O https://raw.githubusercontent.com/angristan/wireguard-install/master/wireguard-install.sh

sudo bash ./wireguard-install.sh

위에 실행 했을 때, amazon linux2에서 안되면, wireguard-install.sh 에서 OS="${ID}"OS="centos"로 변경 Amazon linux2가 ID_LIKE="centos rhel fedora" 로 centos 명령어도 작동하는 것으로 보임

IPv4 or IPv6 public address: 입력할 때, 서버의 public ip를 입력할 것. 기본값으로 내부 ip가 설정됨

Server WireGuard port [1-65535]: 에서 입력한 포트를 security guard inbound에 UDP로 설정해줘야 함

Client name 은 형식 맞춰서 아무거나 입력해주면 됨

클라이언트용 설정 파일 예시 (Android용)

Android 디바이스에 WireGuard를 설치하고, 파일 또는 압축파일로 불러오기로 추가해서, .conf파일을 추가한다.

.conf파일은 서버 환경 구축이 끝나면, 로그에 Your client config file is in xxx.conf 라고 찍히는데, 해당 파일을 다운 받아서, 추가해주면 됨.

대략 아래와 같은 형태

[Interface]
PrivateKey = (클라이언트의 개인키, client_private.key에서 복사)
Address = 10.0.0.2/32
DNS = 1.1.1.1

[Peer]
PublicKey = (서버의 공개키, server_public.key에서 복사)
Endpoint = (서버공인IP):(서버 설정시 port값)
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25

끝~!