나무모에 미러 (일반/밝은 화면)
최근 수정 시각 : 2025-12-03 14:48:33

WireGuard

WireGuard
와이어가드
파일:WireGuard 로고.svg
<colbgcolor=#8C1B24><colcolor=#ffffff> 개발 제이슨 A. 돈필드
플랫폼 안드로이드 | iOS | 리눅스 | FreeBSD | NetBSD | OpenBSD | macOS | Windows
출시 2015년
라이선스 GNU GPLv2
관련 사이트 파일:홈페이지 아이콘.svg
1. 개요2. 사양3. 암호화 방식4. 네트워킹 프로토콜5. 확장성6. 터널 파일 예시7. 지원기기

1. 개요

WireGuard(와이어가드)는 오픈소스 VPN 프로토콜과 접속 프로그램이다.

2. 사양

3. 암호화 방식

ChaCha20 방식만 지원한다. 또한 양자 암호화의 향후 발전을 완화하기 위해 포함된 사전 공유 대칭 키 모드를 지원한다. 단기적으로 공유 한 대칭 키가 손상되더라도 Curve25519 방식의 키는 여전히 충분한 보호 기능을 제공한다.

4. 네트워킹 프로토콜

UDP에서만 작동한다. 터널 내부와 외부 모두에서 IPv6를 완벽하게 지원할 수 있다. IPv4 및 IPv6 모두에 대해 CLASS 3만 지원하며 v4-in-v6을 캡슐화할 수 있으며 그 반대의 경우도 마찬가지이다. 여러 topology를 지원한다.

다만, TCP를 사용할 수 없으므로 UDP 패킷을 차단하는 기관 내부에서는 사용할 수 없다.

5. 확장성

타사 프로그램 및 스크립트에 의해 확장이 가능하도록 설계되었다.
이는 보다 사용자 친화적인 관리 인터페이스 (키 설정 용이 포함), 로깅, 동적 방화벽 업데이트 및 LDAP 통합을 포함한 다양한 기능으로 WireGuard를 보강하는데 사용되었으며 4000줄의 적은 코드를 가지고 있어 구축함에 있어서 상당히 간결하고 빠르게 작업이 가능하다.

6. 터널 파일 예시

공식 Wireguard 클라이언트는 GUI지만, 모바일과 달리 매개변수 값은 텍스트 파일로 이루어져 있다. 이 파일만 복사해 터널에 사용할 장치에 복사하여 설정하는 방식으로 이뤄지며 파일 내부는 다음과 같이 생겼다.

[Interface]
PrivateKey = BASE64로 인코딩된 개인키
ListenPort = 포트
Address = 터널과 연결된 사용할 내부 IP
DNS = DNS. 없으면 자동
MTU = MTU 크기. 없으면 자동

[Peer]
PublicKey = BASE64로 인코딩된 공개키
PresharedKey = BASE64로 인코딩된 추가적으로 사용할 Pre Shared Key. 없어도 된다.
AllowedIPs = 본 터널과 통신할 IP. 예를 들어 10.0.0.0/8이 되면 이 터널은 10.0.0.0/8 Class A 네트워크 대역만 사용이 가능하다.
Endpoint = IP:Port

7. 지원기기