WireGuard
와이어가드
는 공개키로 식별한 상대와 IP 패킷을 암호화하여 주고받는 VPN 소프트웨어다. 같은 이름의 프로토콜은 위에서 동작하며, 각 상대의 공개키와 허용 IP 범위를 연결해 패킷을 보낼 대상과 받을 수 있는 출발지를 결정한다.
밑줄 용어에 마우스를 올리거나, 키보드로 선택하거나, 터치하면 설명을 볼 수 있습니다.
로고: Jason A. Donenfeld / WireGuard 공식 자료. 제품 식별을 위해 표시하며 각 상표의 권리는 권리자에게 있습니다.
01무엇이고, 어떤 일을 하나
- 호스트 또는 네트워크 사이에 암호화된 계층 3 가상 인터페이스를 제공한다.
- 상대 공개키와 내부 IP 범위를 연결하여 데이터 전달과 출발지 검증을 함께 수행한다.
- 작은 프로토콜 구성으로 키 교환·패킷 인증·재전송 공격 방지를 제공하며 OS의 경로·방화벽 정책과 결합한다.
02어떤 순서로 동작하나
- 인터페이스와 상대 등록
자기 개인키와 상대 공개키, , 필요한 를 준비한다. 개인키는 로컬에 보관하고 공개키를 상대 식별에 사용한다.
- OS 경로와 상대 선택
OS 경로가 패킷을 인터페이스로 보내면 내부 목적지 IP를 와 대조하여 상대를 선택한다. OS 경로 조회와 인터페이스 내부의 상대 선택은 서로 다른 처리다.
- 핸드셰이크와 세션 키
필요할 때 Noise 기반 핸드셰이크로 상대를 인증하고 송수신용 세션 키를 만든다. 일반적인 사용자명·암호 로그인이나 인증서 교환을 프로토콜에 내장한 방식은 아니다.
- 암호화된 전송
내부 IP 패킷을 인증 암호화하여 상대의 외부 로 보낸다. 카운터와 인증 값으로 변조·재전송을 판별하고 키는 프로토콜 조건에 따라 갱신한다.
- 수신 출발지 검증
상대가 인증·복호화된 내부 패킷의 출발지 IP를 그 공개키의 와 대조한다. 허용 범위에 맞는 패킷만 인터페이스에서 받아 이후 OS 경로·정책으로 처리한다.
- 주소 변화와 유휴 상태
인증된 패킷을 받은 최신 외부 주소·포트로 상대 를 갱신할 수 있다. 상태 유지가 필요한 환경에서는 선택적인 를 사용한다.
03먼저 알아둘 용어와 구성요소
- 공개키와 허용 IP 범위로 등록한 통신 상대다. 서버·클라이언트라는 고정 역할보다 상대 관계가 기본이다.
- 송신에서는 내부 목적지로 상대를 고르고, 수신에서는 해당 상대에게 허용한 내부 출발지 범위를 검사하는 설정이다.
- 상대에게 패킷을 보내는 외부 주소와 포트다. 터널 내부 주소나 허용 IP 범위와 다르다.
- 상대 공개키와 IP 프리픽스를 연결하여 암호화 대상과 수신 출발지를 결정하는 구조다.
- 가 사용하는 공개키 기반 인증·세션 키 합의 절차다. 공식 설계는 Noise_IK 기반 구조를 설명한다.
- 데이터의 암호화와 무결성 확인을 결합하는 인증 암호 방식이다.
- 이미 처리한 패킷을 다시 보내 새 데이터처럼 받아들이게 하는 공격을 막는 검사다.
- 유휴 중에도 작은 인증 패킷을 주기적으로 보내 ·방화벽 상태를 유지하는 선택적 설정이다.
- 인터페이스의 키·상대 설정과 상태를 다루는 관리 도구다.
- 설정과 주소·경로 등 일상적인 인터페이스 준비를 함께 자동화하는 보조 도구다.
- 관리 출력에서 최근 키 교환 시점을 나타내는 정보다. 목적지 응용 통신이 성공했다는 뜻은 아니다.
04예제로 따라가기
- 가상 상대 A의 가 192.0.2.0/24이고 OS가 해당 목적지를 인터페이스로 보낸다면 192.0.2.10행 패킷은 A에게 암호화된다. A에게서 받은 내부 출발지가 198.51.100.10이면 이 허용 범위에 맞지 않는다.
- 가상 가 203.0.113.20:51820이고 터널 내부 주소가 192.0.2.2라면 바깥 목적지와 안쪽 IP 주소는 다른 값이다. 51820은 이 예제의 설정값이며 모든 가 반드시 사용하는 고정 포트는 아니다.
- 가상 show에서 최근 핸드셰이크는 갱신되지만 응용 통신이 안 되면 ·OS 경로·방화벽·반환 경로를 각각 비교한다. 핸드셰이크 도달성만으로 내부 경로가 옳다고 판단하지 않는다.
05혼동하기 쉬운 점과 확인 기준
- 를 OS 자체나 일반 / 포트 방화벽으로 이해하지 않는다. 같은 보조 도구가 경로를 추가하는 동작과 의 상대 선택을 구분한다.
- 공개키 등록은 사용자 계정·MFA·인증서 발급 체계 전체를 대신하지 않는다. 키 배포와 회수, 사용자 관리가 필요하면 그 운영 체계를 별도로 구성한다.
- 는 모든 연결의 필수값이 아니다. 가 없는 경로나 유휴 통신이 필요하지 않은 환경에 불필요한 주기 전송을 추가할 이유는 없다.
06상세 노트 · 실습 자료
헤더 구조, 설정 예시, 수치 계산과 수업 캡처는 아래 노트에서 이어집니다.
함께 보는 학습 자료
아래 공식 자료를 본문의 개념·예제와 함께 읽어 보세요. 자료별로 확인할 위치와 관찰할 내용을 적었습니다.
WireGuard: Cryptokey Routing의 양방향 예
가 송신 목적지별 상대 선택과 수신 출발지 검사에 다르게 쓰이는 것을 구체 예로 읽는다.
- 공개키와 대응
- 내부 목적지와 외부 구분
- 허용 범위 밖 내부 출발지의 폐기
공식 문서 · 표준
기초 개념과 동작 설명을 대조한 자료입니다. 제품 버전과 실제 설정에 따른 차이는 본문 및 원문에서 확인하세요.