VPN/WireGuard

WireGuard 서버 설정 방법 가이드

지니★ 2024. 6. 27. 16:21
728x90
728x90
SMALL

WireGuard 서버 설정 방법 가이드

WireGuard는 빠르고 안전한 VPN 솔루션으로, 비교적 간단한 절차를 통해 서버를 설정할 수 있습니다. 이 가이드는 Linux 환경에서 WireGuard 서버를 설정하는 방법을 단계별로 설명합니다.

1. 서버 준비

먼저 WireGuard 서버로 사용할 Linux 시스템을 준비합니다. 최신 버전의 배포판을 사용하는 것이 좋습니다. 이 가이드는 Ubuntu/Debian과 CentOS/RHEL을 기준으로 설명합니다.

2. WireGuard 설치

2.1 패키지 업데이트

시스템 패키지를 최신 상태로 업데이트합니다.

  • Ubuntu/Debian:
    sudo apt update
    sudo apt upgrade
  • CentOS/RHEL:
    sudo yum update

2.2 WireGuard 설치

배포판에 맞는 명령어를 사용하여 WireGuard를 설치합니다.

  • Ubuntu/Debian:
    sudo apt install wireguard
  • CentOS/RHEL:
    sudo yum install epel-release
    sudo yum install wireguard-tools

3. 키 생성

서버와 클라이언트 간의 통신을 위해 키 쌍을 생성합니다.

umask 077
wg genkey | tee /etc/wireguard/server_privatekey | wg pubkey > /etc/wireguard/server_publickey

- /etc/wireguard/server_privatekey: 서버의 프라이빗 키
- /etc/wireguard/server_publickey: 서버의 퍼블릭 키

4. 구성 파일 생성

WireGuard의 설정 파일을 /etc/wireguard/ 디렉토리에 생성합니다. 파일 이름은 wg0.conf로 합니다.

sudo nano /etc/wireguard/wg0.conf

구성 파일 내용:

[Interface]
PrivateKey = 서버_프라이빗_키
Address = 10.0.0.1/24
ListenPort = 51820
SaveConfig = true

[Peer]
# 클라이언트 1
PublicKey = 클라이언트_1_퍼블릭_키
AllowedIPs = 10.0.0.2/32

# 클라이언트 2
PublicKey = 클라이언트_2_퍼블릭_키
AllowedIPs = 10.0.0.3/32

- PrivateKey에는 /etc/wireguard/server_privatekey 파일의 내용을 입력합니다.
- Address는 서버의 VPN IP 주소입니다.
- ListenPort는 서버가 청취할 포트입니다.
- PublicKey는 클라이언트의 퍼블릭 키입니다.
- AllowedIPs는 클라이언트의 VPN IP를 지정합니다.

5. 네트워크 구성

5.1 IP 포워딩 활성화

VPN 트래픽을 전달할 수 있도록 IP 포워딩을 활성화합니다.

sudo sysctl -w net.ipv4.ip_forward=1

영구적으로 설정하려면 /etc/sysctl.conf 파일에 다음을 추가합니다:

net.ipv4.ip_forward = 1

5.2 방화벽 설정

포트와 IP 포워딩을 방화벽 규칙에 추가합니다. ufwiptables를 사용할 수 있습니다.

  • ufw를 사용하는 경우:
    sudo ufw allow 51820/udp
    sudo ufw enable
  • iptables를 사용하는 경우:
    sudo iptables -A FORWARD -i wg0 -j ACCEPT
    sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    이 설정을 영구적으로 저장합니다:
  • sudo iptables-save > /etc/iptables/rules.v4

6. WireGuard 서비스 시작

6.1 인터페이스 활성화

WireGuard 인터페이스를 시작합니다.

sudo wg-quick up wg0

6.2 서비스 등록

부팅 시 자동으로 WireGuard가 시작되도록 설정합니다.

sudo systemctl enable wg-quick@wg0

7. 클라이언트 구성

서버 설정이 완료되면, 클라이언트 설정을 진행합니다. 클라이언트 구성 파일을 다음과 같이 설정합니다:

[Interface]
PrivateKey = 클라이언트_프라이빗_키
Address = 10.0.0.2/32
DNS = 서버_DNS

[Peer]
PublicKey = 서버_퍼블릭_키
Endpoint = 서버_IP:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25

서버 퍼블릭 키는 /etc/wireguard/server_publickey 파일에서 가져옵니다.

마무리

이제 WireGuard 서버가 정상적으로 동작하며 클라이언트와의 VPN 연결이 가능합니다. 추가적인 설정이나 문제 해결이 필요하면 공식 문서나 커뮤니티를 참고하세요.

이 가이드는 WireGuard 서버 설정을 위한 기본적인 절차를 다룹니다. 보다 상세한 내용이나 고급 설정을 원하신다면, WireGuard 공식 문서를 참조하시기 바랍니다.

WireGuard 공식 문서

지금 바로 WireGuard를 설정하여 안전하고 빠른 VPN 연결을 경험해보세요!

728x90
728x90
LIST

'VPN > WireGuard' 카테고리의 다른 글

WireGuard 클라이언트 설정 방법 가이드  (0) 2024.06.27