경로를 정의하세요
터널이 비공개 서비스 트래픽만 전달하는지 아니면 모든 인터넷 트래픽을 전달하는지 결정하세요. 허용 경로를 의도적으로 구성하고 IPv4 및 IPv6 모두를 고려하세요. 분할 터널과 전체 터널 설정은 누출 및 도달 가능성 측면에서 서로 다른 고려 사항을 가집니다.
기기당 하나의 키를 유지하세요
가능하면 기기에서 개인 키를 생성하고 절대 공개하지 마세요. 별도의 피어 ID를 사용하여 기기를 분실해도 모든 클라이언트를 교체하지 않고 폐기할 수 있게 하세요. 서버 구성은 보호된 권한으로 저장하세요.
포워딩 및 DNS 구성
포워딩과 방화벽 규칙을 신중하게 설정하세요. 이름 확인, MTU 및 반환 경로를 점검하세요. 핸드셰이크가 성공했다고 해서 모든 트래픽이 의도한 경로를 사용한다고 가정하지 말고, 클라이언트에서 실제 공인 주소와 DNS 동작을 테스트하세요.
신뢰 전환 이해
자체 호스팅 VPN은 로컬 네트워크의 트래픽을 보호할 수 있지만, VPS와 업스트림은 여전히 메타데이터와 암호화되지 않은 트래픽을 볼 수 있습니다. 브라우저 세션을 익명으로 만들거나 접속하는 서비스의 정책을 무시하지는 않습니다.
명시적 리스너를 사용하고 핸드셰이크를 점검하세요
UDP 51820는 일반적인 WireGuard 구성 선택이며, 필수 또는 보장된 호스트 정책이 아닙니다. 선택한 UDP 포트만 열고 관리는 별도로 제한하세요. wg show 명령은 개인 키를 공개할 필요 없이 피어 핸드셰이크 및 전송 정보를 보고할 수 있습니다.
- 최근 핸드셰이크를 확인하세요
- 의도한 비공개 서비스 테스트
- 전체 터널을 의도하는 경우에만 인터넷 및 DNS 경로를 테스트하세요
wg show공식 문서: WireGuard 빠른 시작
네트워크에 필요할 때만 keepalive를 사용하세요
NAT 뒤에 있는 피어는 인바운드 패킷에 대한 매핑을 유지하기 위해 주기적인 keepalive 트래픽이 필요할 수 있습니다. 적절한 설정은 네트워크에 따라 다릅니다. 구성을 의도적으로 유지하세요. 목표가 하나의 비공개 애플리케이션에 대한 액세스뿐이라면 전체 터널 레시피를 복사하지 마세요.
분할 터널링 또는 전체 터널 설계를 선택하세요
실제 목표부터 시작하세요. 분할 터널은 사설 서브넷 또는 관리 서비스만 전달할 수 있습니다. 전체 터널에는 인터넷 포워딩, 이그레스 규칙 및 DNS 계획도 필요합니다. 겹치지 않는 터널 주소를 선택하고 IPv6 처리 방법을 결정하세요. UDP51820는 일반적인 포트일 뿐 필수는 아닙니다. 선택한 호스트의 정책을 확인하고 경로 또는 방화벽 규칙을 변경하는 동안 콘솔/관리자 접근을 유지하세요.
- 각 기기에 고유한 키 쌍과 좁은 피어 ID를 부여하세요.
- 개인 키는 의도된 기기에 보관하고 공개 파일이나 QR 공유에서 제외하세요.
- 공용 엔드포인트와 클라이언트 로밍을 네트워크 설계의 일부로 취급하세요.
공식 문서: WireGuard 빠른 시작
인터넷 라우팅을 추가하기 전에 소규모 터널을 먼저 구동하세요
지원되는 OS 설치를 따르고 제한적인 파일 권한으로 키를 생성하세요. 서버 인터페이스, 피어 하나 및 선택한 UDP 리스너를 구성하세요. 서버 측 피어는 일반적으로 여러 클라이언트에 할당된 중복되는 전체 허용 주소 대신 AllowedIPs에 자체 터널 주소를 가져야 합니다. 터널 주소에 대한 액세스로 시작한 다음 승인된 포워딩 및 대상 경로를 추가하세요. 핸드셰이크 성공은 피어 접촉을 증명할 뿐 DNS 또는 인터넷 이그레스가 올바른지 증명하지 않습니다.
# Inspection examples; these do not reveal a private key:
wg show
ip address show dev wg0
ip route get 10.44.0.1공식 문서: WireGuard 인터페이스 및 피어 구성
예상 경로와 금지된 경로를 테스트하세요
클라이언트에서 최근 핸드셰이크와 허용된 비공개 서비스를 확인하세요. 거부되어야 할 대상도 시도해 보세요. 전체 터널을 사용하는 경우 해당 클라이언트에서 실제 공개 경로, DNS 리졸버, IPv6 동작을 확인하세요. 분할 터널 트래픽은 의도한 로컬 경로를 유지해야 합니다. 클라이언트 네트워크 변경 후 반복하세요. 피어의 네트워크가 필요로 할 때만 NAT keepalive를 사용하고, 간격은 문서화된 설계와 일치하게 유지하세요.
- 핸드셰이크 없음: 엔드포인트 DNS, UDP 도달 가능성, 키 및 피어 매핑을 점검합니다.
- 핸드셰이크는 되지만 서비스가 없을 때: AllowedIPs, 방화벽, 포워딩 및 반환 경로를 확인하세요.
- 일부 사이트가 멈추는 경우: 무작위 영구 값을 적용하기 전에 경로 MTU를 조사하세요.
해지 및 재부팅 동작을 반복 가능하게 만들기
분실한 기기의 피어 키를 제거하고 해당 기기가 더 이상 의도된 접근을 설정할 수 없음을 확인하세요. 암호화된 구성 백업과 어떤 공개 키가 어떤 기기에 속하는지에 대한 인벤토리를 유지하세요. 일반 재부팅 후 인터페이스와 필요한 라우팅 규칙이 복원되는지 테스트하세요. VPN은 신뢰를 VPS 및 그 상위로 이동시킬 뿐, 애플리케이션 식별자, 계정 쿠키 또는 최종 대상에 대한 HTTPS의 필요성을 없애지는 않습니다.
공식 문서: WireGuard wg-quick 매뉴얼