AWS EC2에 초간단 VPN 구축하기
배경
해외에 있다보면, 국내에서만 접근 가능한 사이트들이 있는데, 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
끝~!