개념 사전 · 프로그램

WireGuard

와이어가드

는 공개키로 식별한 상대와 IP 패킷을 암호화하여 주고받는 VPN 소프트웨어다. 같은 이름의 프로토콜은 위에서 동작하며, 각 상대의 공개키와 허용 IP 범위를 연결해 패킷을 보낼 대상과 받을 수 있는 출발지를 결정한다.

밑줄 용어에 마우스를 올리거나, 키보드로 선택하거나, 터치하면 설명을 볼 수 있습니다.

로고: Jason A. Donenfeld / WireGuard 공식 자료. 제품 식별을 위해 표시하며 각 상표의 권리는 권리자에게 있습니다.

01무엇이고, 어떤 일을 하나

  • 호스트 또는 네트워크 사이에 암호화된 계층 3 가상 인터페이스를 제공한다.
  • 상대 공개키와 내부 IP 범위를 연결하여 데이터 전달과 출발지 검증을 함께 수행한다.
  • 작은 프로토콜 구성으로 키 교환·패킷 인증·재전송 공격 방지를 제공하며 OS의 경로·방화벽 정책과 결합한다.

02어떤 순서로 동작하나

  1. 인터페이스와 상대 등록

    자기 개인키와 상대 공개키, , 필요한 를 준비한다. 개인키는 로컬에 보관하고 공개키를 상대 식별에 사용한다.

  2. OS 경로와 상대 선택

    OS 경로가 패킷을 인터페이스로 보내면 내부 목적지 IP를 와 대조하여 상대를 선택한다. OS 경로 조회와 인터페이스 내부의 상대 선택은 서로 다른 처리다.

  3. 핸드셰이크와 세션 키

    필요할 때 Noise 기반 핸드셰이크로 상대를 인증하고 송수신용 세션 키를 만든다. 일반적인 사용자명·암호 로그인이나 인증서 교환을 프로토콜에 내장한 방식은 아니다.

  4. 암호화된 전송

    내부 IP 패킷을 인증 암호화하여 상대의 외부 로 보낸다. 카운터와 인증 값으로 변조·재전송을 판별하고 키는 프로토콜 조건에 따라 갱신한다.

  5. 수신 출발지 검증

    상대가 인증·복호화된 내부 패킷의 출발지 IP를 그 공개키의 와 대조한다. 허용 범위에 맞는 패킷만 인터페이스에서 받아 이후 OS 경로·정책으로 처리한다.

  6. 주소 변화와 유휴 상태

    인증된 패킷을 받은 최신 외부 주소·포트로 상대 를 갱신할 수 있다. 상태 유지가 필요한 환경에서는 선택적인 를 사용한다.

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상세 노트 · 실습 자료

헤더 구조, 설정 예시, 수치 계산과 수업 캡처는 아래 노트에서 이어집니다.

READ · OBSERVE · CONNECT

함께 보는 학습 자료

아래 공식 자료를 본문의 개념·예제와 함께 읽어 보세요. 자료별로 확인할 위치와 관찰할 내용을 적었습니다.

공식 가이드

WireGuard: Cryptokey Routing의 양방향 예

가 송신 목적지별 상대 선택과 수신 출발지 검사에 다르게 쓰이는 것을 구체 예로 읽는다.

읽으면서 확인할 것
  • 공개키와 대응
  • 내부 목적지와 외부 구분
  • 허용 범위 밖 내부 출발지의 폐기

공식 문서 · 표준

기초 개념과 동작 설명을 대조한 자료입니다. 제품 버전과 실제 설정에 따른 차이는 본문 및 원문에서 확인하세요.