手動 SA
手動安全性關聯 (SA) IPsec 原則案例可讓呼叫者直接指定 IPsec SA 來保護任何網路流量,以略過內建的 IPsec 密鑰處理模組 (IKE 和 AuthIP)。
可能的手動 SA 案例範例是「新增 IPsec SA 組以保護 IP 位址 1.1.1.1 & 2.2.2.2.2.2 之間的所有單播數據流量,但 ICMP 除外,使用 IPsec 傳輸模式。
注意
下列步驟必須在已適當設定IP位址的兩部電腦上執行。
若要以程式設計方式實作此範例,請使用下列 WFP 設定。
新增具有下列屬性的篩選。
Filter 屬性 價值 FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE 篩選條件 NlatUnicast FWPM_CONDITION_IP_LOCAL_ADDRESS 適當的本機位址 (1.1.1.1 或 2.2.2.2)。 FWPM_CONDITION_IP_REMOTE_ADDRESS 適當的遠端位址 (1.1.1.1 或 2.2.2.2)。 action.type FWP_ACTION_CALLOUT_TERMINATING action.calloutKey FWPM_CALLOUT_IPSEC_INBOUND_TRANSPORT_V{4|6} 新增具有下列屬性的篩選條件,以豁免 IPsec 的 ICMP 流量。
Filter 屬性 價值 FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE 篩選條件 NlatUnicast FWPM_CONDITION_IP_PROTOCOL 篩選條件 **IPPROTO_ICMP{V6}**這些常數定義於 winsock2.h 中。 action.type FWP_ACTION_PERMIT 權數 FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS 新增具有下列屬性的篩選。
Filter 屬性 價值 FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE 篩選條件 NlatUnicast FWPM_CONDITION_IP_LOCAL_ADDRESS 篩選條件 適當的本機位址 (1.1.1.1 或 2.2.2.2)。 FWPM_CONDITION_IP_REMOTE_ADDRESS 篩選條件 適當的遠端位址 (1.1.1.1 或 2.2.2.2)。 action.type FWP_ACTION_CALLOUT_TERMINATING action.calloutKey FWPM_CALLOUT_IPSEC_OUTBOUND_TRANSPORT_V{4|6} 新增具有下列屬性的篩選條件,以豁免 IPsec 的 ICMP 流量。
Filter 屬性 價值 FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE 篩選條件 NlatUnicast FWPM_CONDITION_IP_PROTOCOL 篩選條件 **IPPROTO_ICMP{V6}**這些常數定義於 winsock2.h 中。 action.type FWP_ACTION_PERMIT 權數 FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS - 呼叫 IPsecSaContextCreate0,其中 outboundTraffic 參數,其中包含 IP 位址為 1.1.1.1 & 2.2.2.2,ipsecFilterId 為上面新增的輸出傳輸層 IPsec 圖說文字篩選器的 LUID。
- 呼叫 IPsecSaContextGetSpi0,其中包含從 IPsecSaContextCreate0傳回之內容標識符的 id 參數,以及包含 IP 位址為 1.1.1.1 & 2.2.2.2 getSpi 參数, 和 ipsecFilterId,作為上面新增的輸入傳輸層 IPsec 圖說文字篩選器的 LUID。 傳回的 SPI 值是用來做為本機電腦的輸入 SA SPI,以及對應遠端電腦的輸出 SA SPI。 這兩部機器都必須使用一些頻外方法來交換 SPI 值。
- 呼叫 IPsecSaContextAddInbound0, 其中包含從 IPsecSaContextCreate0傳回的內容標識符,以及描述輸入 SA 套件組合屬性的 inboundBundle 參數(例如輸入 SA SPI、轉換類型、演算法類型、索引鍵等)。
- 呼叫 IPsecSaContextAddOutbound0,其中包含從 IPsecSaContextCreate0傳回的內容標識符, 以及描述輸出 SA 套件組合屬性的 outboundBundle 參數,例如輸出 SA SPI、轉換類型、演算法類型、索引鍵等。
FWPM_LAYER_INBOUND_TRANSPORT_V{4|6} 設定每個封包篩選規則的輸入
FWPM_LAYER_OUTBOUND_TRANSPORT_V{4|6} 設定每個封包篩選規則的輸出
設定輸入和輸出安全性關聯