WireGuard · 2025-12-25

WireGuard 기반 사이트-투-사이트 VPN 설정 예제

사내 네트워크와 지사 네트워크를 안전하게 연결하기 위한 WireGuard 기반 사이트-투-사이트 VPN의 원리, 구성도, 설정 명령어와 테스트 절차를 포함한 설정 예제

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

개요

이 글은 사이트-투-사이트 WireGuard 구성의 개념과 실무 적용 예제를 단계별로 설명한다. 초보자도 이해할 수 있도록 용어를 간단히 정리하고, 실제로 사용할 수 있는 설정 예시와 테스트 방법을 제공한다. 핵심은 두 사이트 간에 암호화된 터널을 만들고 라우팅을 설정하여 서로의 서브넷이 투명하게 통신하도록 만드는 것이다.

WireGuard 개념 정리

WireGuard란

WireGuard는 가볍고 빠른 VPN 프로토콜이다. 공개키 기반으로 동작하며 설정이 단순하다. 성능과 보안 측면에서 전통적인 VPN보다 유리한 점이 많다.

사이트-투-사이트 구성 요소

  • Site A: 내부 서브넷과 WireGuard 인터페이스
  • Site B: 다른 내부 서브넷과 WireGuard 인터페이스
  • 퍼블릭 네트워크: 두 엔드포인트 간의 UDP 통신 채널
  • 라우팅: 각 사이트의 라우터에서 상대 서브넷으로 경로 추가

네트워크 다이어그램

간단한 예:

  • Site A 내부: 10.10.1.0/24, WireGuard: 10.200.1.1
  • Site B 내부: 10.10.2.0/24, WireGuard: 10.200.1.2

사전 준비

  • 각 서버에 WireGuard 패키지 설치
  • 공인 IP 또는 DDNS로 서로를 식별할 수 있는 환경
  • UDP 포트(예: 51820) 방화벽 허용

설정 단계

1. 키 생성(각 노드에서)

wg genkey > privatekey
cat privatekey | wg pubkey > publickey

2. Site A 설정 예

[Interface]
Address = 10.200.1.1/24
PrivateKey = (SiteA_privatekey)
ListenPort = 51820

[Peer]
PublicKey = (SiteB_publickey)
AllowedIPs = 10.10.2.0/24,10.200.1.2/32
Endpoint = siteb.example.com:51820
PersistentKeepalive = 25

3. Site B 설정 예

[Interface]
Address = 10.200.1.2/24
PrivateKey = (SiteB_privatekey)
ListenPort = 51820

[Peer]
PublicKey = (SiteA_publickey)
AllowedIPs = 10.10.1.0/24,10.200.1.1/32
Endpoint = sitea.example.com:51820
PersistentKeepalive = 25

라우팅과 방화벽

각 사이트의 라우터나 서버에서 상대 서브넷으로 가는 경로를 추가한다. 예를 들어 Site A에서 10.10.2.0/24로 가는 트래픽은 WireGuard 인터페이스로 보내도록 설정해야 한다. 방화벽은 UDP 51820 포트를 허용하고, 내부 서브넷 간 트래픽도 허용하도록 규칙을 조정한다.

테스트 절차

  • WireGuard 상태 확인: wg show
  • 피어 간에 ping 테스트: ping 10.200.1.2
  • 서브넷 간 통신 확인: Site A의 호스트에서 10.10.2.x 대상으로 ping 또는 서비스 접속

문제 해결 요령

  • 연결이 되지 않을 때는 포트 개방 여부와 엔드포인트 주소 확인
  • PublicKey/PrivateKey가 올바른지 재확인
  • AllowedIPs에 올바른 서브넷이 들어갔는지 점검
  • 네트워크 주소 충돌이 없는지 확인

운영 고려사항

키 관리는 주기적으로 검토한다. 로그와 연결 상태를 주기적으로 확인하여 비정상 연결을 조기에 탐지한다. 또한 MTU 설정으로 성능 영향을 줄 수 있으니 필요 시 조정한다.

요약

Site-to-Site WireGuard 설정은 키 생성, 인터페이스 구성, AllowedIPs와 라우팅 설정을 정확히 적용하면 안정적으로 동작한다. 여기서 제시한 예제는 기본 틀을 제공하므로, 실제 환경에서는 네트워크 주소와 방화벽 정책을 반영하여 적용하면 실무에 도움이 된다.

사이트 투 사이트 WireGuard Site-to-Site WireGuard 설정 WireGuard site-to-site 구성 WireGuard VPN 설정 사이트 간 VPN WireGuard 예제 WireGuard 라우팅 WireGuard 설치