다음을 통해 공유


전송 모드

전송 모드 IPsec 정책 시나리오에는 일치하는 모든 트래픽에 대한 IPsec 전송 모드 보호가 필요합니다. IKE 또는 AuthIP 협상이 성공적으로 완료될 때까지 일치하는 모든 명확한 텍스트 트래픽이 삭제됩니다. 협상이 실패하면 해당 IP 주소와의 연결이 끊어진 상태로 유지됩니다.

가능한 전송 모드 시나리오의 예로는 "IPsec 전송 모드를 사용하여 ICMP를 제외한 모든 유니캐스트 데이터 트래픽 보호"가 있습니다.

이 예제를 프로그래밍 방식으로 구현하려면 다음 WFP 구성을 사용합니다.

FWPM_LAYER_IKEEXT_V{4|6}에서 MM 협상 정책 설정

  1. 다음 MM 정책 공급자 컨텍스트 중 하나 또는 둘 다를 추가합니다.

    • IKE의 경우 형식의 정책 공급자 컨텍스트 가 FWPM_IPSEC_IKE_MM_CONTEXT.
    • AuthIP의 경우 형식의 정책 공급자 컨텍스트 가 FWPM_IPSEC_AUTHIP_MM_CONTEXT.

    참고

    공통 키 지정 모듈이 협상되고 해당 MM 정책이 적용됩니다. IKE와 AuthIP가 모두 지원되는 경우 AuthIP는 기본 키 지정 모듈입니다.

  2. 1단계에서 추가된 각 컨텍스트에 대해 다음 속성을 사용하여 필터를 추가합니다.

    Filter 속성
    필터링 조건 비어 있음 모든 트래픽이 필터와 일치합니다.
    providerContextKey 1단계에서 추가된 MM 공급자 컨텍스트의 GUID입니다.

FWPM_LAYER_IPSEC_V{4|6} 설정 QM 및 EM 협상 정책

  1. 다음 QM 전송 모드 정책 공급자 컨텍스트 중 하나 또는 둘 다를 추가합니다.

    • IKE의 경우 형식의 정책 공급자 컨텍스트 가 FWPM_IPSEC_IKE_QM_TRANSPORT_CONTEXT.
    • AuthIP의 경우 형식의 정책 공급자 컨텍스트 가 FWPM_IPSEC_AUTHIP_QM_TRANSPORT_CONTEXT. 이 컨텍스트는 필요에 따라 EM(AuthIP 확장 모드) 협상 정책을 포함할 수 있습니다.

    참고

    공통 키 지정 모듈이 협상되고 해당 QM 정책이 적용됩니다. IKE와 AuthIP가 모두 지원되는 경우 AuthIP는 기본 키 지정 모듈입니다.

  2. 1단계에서 추가된 각 컨텍스트에 대해 다음 속성을 사용하여 필터를 추가합니다.

    Filter 속성
    필터링 조건 비어 있음 모든 트래픽이 필터와 일치합니다.
    providerContextKey 1단계에서 추가된 QM 공급자 컨텍스트의 GUID입니다.

FWPM_LAYER_INBOUND_TRANSPORT_V{4|6}에서 패킷당 인바운드 필터링 규칙 설정

  1. 다음 속성을 사용하여 필터를 추가합니다.

    Filter 속성
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE 필터링 조건 NlatUnicast
    action.type FWP_ACTION_CALLOUT_TERMINATING
    action.calloutKey FWPM_CALLOUT_IPSEC_INBOUND_TRANSPORT_V{4|6}
  2. 다음 속성을 사용하여 필터를 추가하여 IPsec에서 ICMP 트래픽을 제외합니다.

    Filter 속성
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE필터링 조건 NlatUnicast
    FWPM_CONDITION_IP_PROTOCOL 필터링 조건 IPPROTO_ICMP{V6}이러한 상수는 winsock2.h에 정의되어 있습니다.
    action.type FWP_ACTION_PERMIT
    weight FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS

FWPM_LAYER_OUTBOUND_TRANSPORT_V{4|6}에서 패킷당 아웃바운드 필터링 규칙 설정

  1. 다음 속성을 사용하여 필터를 추가합니다.

    Filter 속성
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE 필터링 조건 NlatUnicast
    action.type FWP_ACTION_CALLOUT_TERMINATING
    action.calloutKey FWPM_CALLOUT_IPSEC_OUTBOUND_TRANSPORT_V{4|6}
  2. 다음 속성을 사용하여 필터를 추가하여 IPsec에서 ICMP 트래픽을 제외합니다.

    Filter 속성
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE 필터링 조건 NlatUnicast
    FWPM_CONDITION_IP_PROTOCOL 필터링 조건 IPPROTO_ICMP{V6}이러한 상수는 winsock2.h에 정의되어 있습니다.
    action.type FWP_ACTION_PERMIT
    weight FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS

샘플 코드: 전송 모드 사용

계층 식별자 필터링

공급자 컨텍스트 형식

필터링 조건

FWPM_ACTION0

기본 제공 콜아웃 식별자