📑Project , 대외활동/🏠홈 서버

[Home Server] - wireguard로 VPN 서버 구축하기

KangManJoo 2024. 5. 16. 11:35

컨테이너 생성

먼저 와이어가드 서버를 올리기 위해 컨테이너를 하나 생성해주겠습니다.
ubuntu 22.04 버전 이미지 템플릿을 받습니다.

해당 이미지로 컨테이너를 생성해주고, wireguard를 docker로 실행해주겠습니다.

  1. hostname과 비밀번호를 설정해줍니다.
  2. 아까 다운받은 템플릿을 선택해줍니다.
  3. Disk, CPU, Memory는 default 값으로 설정 후 네트워크에서 고정IP를 세팅해줍니다.
  4. 설정에 이상이 없으면 컨테이너를 생성해줍니다.

컨테이너 생성 이후 세팅

몇가지 필요한 패키지를 설치해줍니다.

apt update && apt upgrade -y && apt install curl && apt install net-tools

도커와 도커 컴포즈를 설치해줍니다.

curl -fsSL https://get.docker.com -o get-docker.sh
apt install docker-compose

폴더를 생성하고, 이미지를 받아줍니다.

mkdir wg-easy && cd wg-easy
wget https://raw.githubusercontent.com/WeeJeWel/wg-easy/master/docker-compose.yml

docker 파일 수정

받은 도커 이미지의 몇가지 옵션을 수정해줍니다.

vi docker-compose.yml

  • WG_HOST : VPN 서버의 도메인주소
  • PASSWORD : VPN UI 접속 비밀번호
  • WG_DEFAULT_ADDRESS : 부여받을 사설 IP
  • WG_DEFAULT_DNS : 도메인 서버 (8.8.8.8 권장)
  • WG_ALLOWED_IPS : 접속을 허용할 IP

wireguard 실행

이미지를 실행해줍니다.

docker-compose up -d

wireguard의 url은 {해당VM의 IP}:51821 입니다.
NPM에서 dns를 할당해주고, 접속하면 초기화면은 다음과 같습니다.


아까 파일에서 설정한 비밀번호를 입력해줍니다.


이제 클라이언트들을 생성해 줄 수 있습니다.
클라이언트를 생성한 후 다운로드 아이콘을 눌러 conf파일을 받아줍니다.

wireguard 앱 설치

맥 기준으로, APP STORE에서 wireguard를 설치해줍니다.

실행 및 import

wireguard를 실행하고, import tunnel from files를 클릭하고, 아까 받아온 conf파일을 선택합니다.

그리고 아까 생성한 프로필을 보면, vpn옵션들을 확인할 수 있습니다.


데이터 트래픽을 보니 정상적으로 작동하는 모습입니다.
이제 외부에서도 VPN을 통해 내부망에 접근하고, 공유기 등의 세팅도 설정해줄 수 있습니다.