WireGuard는 빠르고 작으며 설정하기 쉬운 최신 VPN 프로토콜입니다. VPS에서 직접 운영하면 제3자 VPN 업체 없이 원하는 국가의 서버로 암호화된 터널을 만들 수 있습니다. 이 가이드는 Ubuntu 24.04 또는 Debian 12/13을 사용하며 이미 서버 보안을 마쳤다고 가정합니다.
1. WireGuard 설치
sudo apt update
sudo apt install -y wireguard
2. 서버 키 생성
cd /etc/wireguard
umask 077
wg genkey | tee server.key | wg pubkey > server.pub
umask 077은 키 파일을 root만 읽을 수 있게 합니다. server.key는 비공개로 유지하세요.
3. 클라이언트 키 생성
서버에서 노트북이나 휴대폰용 키 쌍을 생성한 뒤 클라이언트 설정을 복사해 가세요.
wg genkey | tee client1.key | wg pubkey > client1.pub
4. 서버 설정 작성
먼저 공용 네트워크 인터페이스의 이름을 찾으세요.
ip route get 1.1.1.1 | awk '{print $5; exit}'
보통 eth0 또는 ens3입니다. /etc/wireguard/wg0.conf를 만들고 대문자로 된 값을 직접 사용하는 값으로 바꾸세요.
[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = SERVER_PRIVATE_KEY
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o ETH_IF -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o ETH_IF -j MASQUERADE
[Peer]
# client1
PublicKey = CLIENT1_PUBLIC_KEY
AllowedIPs = 10.8.0.2/32
표시된 위치에 server.key와 client1.pub의 내용을 붙여 넣고, ETH_IF를 인터페이스 이름으로 바꾸세요.
5. IP 포워딩 켜기
echo "net.ipv4.ip_forward=1" | sudo tee /etc/sysctl.d/99-wireguard.conf
sudo sysctl --system
6. 방화벽 열기
sudo ufw allow 51820/udp
sudo ufw route allow in on wg0
sudo ufw reload
7. 터널 시작
sudo systemctl enable --now wg-quick@wg0
sudo wg show
인터페이스가 보이고, 클라이언트가 연결되면 최근 핸드셰이크도 보여야 합니다.
8. 클라이언트 설정
기기에서 다음과 같은 설정을 만드세요(Windows, macOS, Linux, iOS, Android용 공식 WireGuard 앱은 파일이나 QR 코드로 가져올 수 있습니다).
[Interface]
Address = 10.8.0.2/24
PrivateKey = CLIENT1_PRIVATE_KEY
DNS = 1.1.1.1
[Peer]
PublicKey = SERVER_PUBLIC_KEY
Endpoint = YOUR_SERVER_IP:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25
AllowedIPs = 0.0.0.0/0, ::/0을 사용하면 모든 트래픽이 터널을 통과합니다. 사설 네트워크에만 접속하려면 대신 10.8.0.0/24를 사용하세요.
9. 테스트
- 클라이언트에서 터널을 활성화하세요.
- 서버에서
sudo wg show를 실행해 최근 핸드셰이크가 있는지 확인하세요. - 클라이언트에서 "내 IP 확인" 페이지에 접속하세요. 서버의 주소가 표시되어야 합니다.
- 프라이버시가 목표라면 DNS 누출을 확인하고, 서버에 IPv6가 있다면 IPv6 규칙도 추가하세요.
기기 더 추가하기
새 기기마다 키 쌍을 생성하고, [Peer] 블록을 하나 더 추가해 10.8.0.3/32 같은 새 주소를 지정한 다음, sudo wg syncconf wg0 <(wg-quick strip wg0)를 실행해 기존 연결을 끊지 않고 적용하세요.
위치 선택
WireGuard 서버는 저희의 어느 위치에서든 작동합니다. 속도를 위해 가까운 위치를 고르거나, 트래픽이 나오길 원하는 IP 주소의 국가를 고르세요. VPS 위치 선택 방법을 참고하세요. 개인용 터널에는 작은 VPS면 충분합니다.