WireGuard · 2025-12-23

DigitalOcean Droplet에 WireGuard 빠르게 설치

DigitalOcean Droplet에 WireGuard를 빠르게 배포하고, 초기 설정·키 관리·방화벽·클라이언트 연결·운영 적용·성능·보안 최적화까지 단계별로 정리한 설치방법

작성일 : 2025-12-23 ㆍ 작성자 : 관리자
post
목차

개요

이 글은 DigitalOcean Droplet에 WireGuard를 빠르게 배포하는 과정을 실무 관점에서 정리한 설명이다. 처음 접하는 사용자도 이해할 수 있도록 기본 개념부터 Droplet WireGuard 설정, 클라이언트 연결 확인까지 한 흐름으로 구성되어 있다. 또한 DigitalOcean WireGuard 설치 관련 핵심 설정과 보안 고려사항을 포함한다.

사전 준비

필수 항목

  • DigitalOcean 계정과 Droplet 생성 권한
  • Ubuntu 22.04 또는 20.04 권장
  • 루트 권한 또는 sudo 권한이 있는 사용자
  • 기본 네트워크 포트(예: UDP 51820) 인바운드 허용

빠른 설치 흐름

다음 단계는 실제 설치와 기본 설정을 빠르게 적용하는 순서다. 각 단계마다 필요한 명령과 설명을 덧붙였다.

1. 시스템 업데이트 및 WireGuard 설치

sudo apt update
sudo apt upgrade -y
sudo apt install -y wireguard qrencode iptables-persistent

2. 키 페어 생성

서버와 클라이언트 각각에 비밀키와 공개키가 필요하다. 서버에서 먼저 키를 생성한다.

wg genkey | tee server_private.key | wg pubkey > server_public.key
wg genkey | tee client_private.key | wg pubkey > client_public.key

3. 서버 설정 파일 작성

기본 인터페이스 이름을 wg0로 하고 내부 서브넷을 10.0.0.1/24로 사용한다. 포트는 UDP 51820로 예시를 제시한다.

[Interface]
Address = 10.0.0.1/24
ListenPort = 51820
PrivateKey = <서버 비밀키 내용>

[Peer]
# 클라이언트1
PublicKey = <클라이언트 공개키 내용>
AllowedIPs = 10.0.0.2/32

4. IP 포워딩 및 방화벽 설정

서버가 패킷을 전달하도록 커널 포워딩을 활성화한다. ufw를 사용 중이면 정책을 조정한다.

sudo sysctl -w net.ipv4.ip_forward=1
# 영구 적용: /etc/sysctl.conf에 net.ipv4.ip_forward=1 추가

# NAT 설정 예시
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo sh -c 'iptables-save > /etc/iptables/rules.v4'

5. 서비스 등록 및 시작

wg-quick을 이용해 인터페이스를 활성화하고 부팅 시 자동 시작하도록 등록한다.

sudo wg-quick up wg0
sudo systemctl enable wg-quick@wg0

6. 클라이언트 설정 파일 생성

클라이언트에는 서버의 공개키와 엔드포인트 정보를 넣는다. 모바일이나 데스크톱에서 바로 불러올 수 있도록 QR 코드도 생성한다.

[Interface]
PrivateKey = <클라이언트 비밀키>
Address = 10.0.0.2/32
DNS = 1.1.1.1

[Peer]
PublicKey = <서버 공개키>
Endpoint = your-droplet-ip:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25

# QR 코드 생성
qrencode -t ansiutf8 < client.conf

검증 및 문제 해결

연결 확인

  • 서버에서 현재 피어 상태 확인:
    sudo wg
  • 클라이언트에서 내부 IP로 핑 테스트:
    ping 10.0.0.1

자주 발생하는 문제

  • 포트 미개방: DO 방화벽 또는 Droplet 방화벽에서 UDP 포트가 허용되지 않은 경우가 많음
  • NAT 누락: 외부 트래픽이 로컬 네트워크로 전달되지 않으면 MASQUERADE 규칙 확인 필요
  • 잘못된 키 입력: 공개키/비밀키 쌍이 맞지 않으면 암호화 연결이 성립되지 않음

운영 환경 고려사항

보안 강화

  • 서버 비밀키 파일 권한을 600으로 제한
  • 불필요한 포트를 차단하고 SSH 키 기반 접속 사용
  • 로그와 접속 이력을 주기적으로 점검

백업 및 자동화

wg 설정 파일과 키는 안전한 장소에 백업한다. 여러 Droplet에 동일한 구성을 적용할 때는 cloud-init 스크립트 또는 DO의 API를 활용한 자동화가 유용하다. 이 글에는 수동 배포 과정을 집중했지만, 운영 규모가 커지면 자동 배포를 도입하는 것이 효율적이다.

요약

DigitalOcean WireGuard 설치 과정은 비교적 단순하며, 핵심은 키 관리와 네트워크 포워딩, 방화벽 규칙이다. Droplet WireGuard 설정을 정확히 적용하면 안전하고 고성능의 VPN 연결을 확보할 수 있다. DO WireGuard 가이드로서 이 문서는 초기 설정부터 운영 적용까지 실무에 바로 활용 가능한 절차를 제공한다.

참고 명령 모음

# 상태 확인
sudo wg
# 인터페이스 중지
sudo wg-quick down wg0
# 방화벽 규칙 저장
sudo iptables-save > /etc/iptables/rules.v4
DigitalOcean WireGuard 설치 Droplet WireGuard 설정 DO WireGuard 가이드 WireGuard 설치 WireGuard 설정 DigitalOcean VPN Droplet 보안 WireGuard 클라이언트 연결