📑Project , 대외활동/🏠홈 서버
[Home Server] - wireguard로 VPN 서버 구축하기
KangManJoo
2024. 5. 16. 11:35
컨테이너 생성
먼저 와이어가드 서버를 올리기 위해 컨테이너를 하나 생성해주겠습니다.
ubuntu 22.04 버전 이미지 템플릿을 받습니다.
해당 이미지로 컨테이너를 생성해주고, wireguard를 docker로 실행해주겠습니다.
- hostname과 비밀번호를 설정해줍니다.
- 아까 다운받은 템플릿을 선택해줍니다.
- Disk, CPU, Memory는 default 값으로 설정 후 네트워크에서 고정IP를 세팅해줍니다.
- 설정에 이상이 없으면 컨테이너를 생성해줍니다.
컨테이너 생성 이후 세팅
몇가지 필요한 패키지를 설치해줍니다.
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을 통해 내부망에 접근하고, 공유기 등의 세팅도 설정해줄 수 있습니다.