手動 SA
手動安全性關聯 (SA) IPsec 原則案例可讓呼叫者直接指定 IPsec SA 來保護任何網路流量,以略過內建的 IPsec 密鑰處理模組 (IKE 和 AuthIP)。
可能的手動 SA 案例範例是「新增 IPsec SA 配對來保護 IP 位址 1.1.1.1 和 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 weight 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 weight FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS - 呼叫 IPsecSaContextCreate0,其中包含 IP 位址為 1.1.1.1 和 2.2.2.2,以及 ipsecFilterId 做為上面新增之輸出傳輸層 IPsec 圖說文字篩選器的 LUID。
- 呼叫 IPsecSaContextGetSpi0,其標識符參數包含從 IPsecSaContextCreate0 傳回的內容識別符,以及包含 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} 設定每個封包篩選規則的輸出
設定輸入和輸出安全性關聯