Ручное sa
Сценарий политики IPsec для ассоциации безопасности вручную позволяет вызывающим пользователям обойти встроенные модули ключей IPsec (IKE и AuthIP), напрямую указав SPsec для защиты любого сетевого трафика.
Пример сценария СА вручную— "Добавление пары SA IPsec для защиты всего трафика данных одноадресной рассылки между IP-адресами 1.1.1.1.1 и 2.2.2, кроме ICMP, с помощью режима транспорта IPsec".
Примечание.
Следующие шаги должны выполняться на обоих компьютерах с СООТВЕТСТВУЮЩИМи IP-адресами.
Чтобы реализовать этот пример программным способом, используйте следующую конфигурацию МПП.
Добавьте фильтр со следующими свойствами.
Свойство filter Значение условие фильтрации FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE NlatUnicast FWPM_CONDITION_IP_LOCAL_ADDRESS Соответствующий локальный адрес (1.1.1.1 или 2.2.2.2.2). FWPM_CONDITION_IP_REMOTE_ADDRESS Соответствующий удаленный адрес (1.1.1.1 или 2.2.2.2.2). action.type FWP_ACTION_CALLOUT_TERMINATING action.calloutKey FWPM_CALLOUT_IPSEC_INBOUND_TRANSPORT_V{4|6} Исключите трафик ICMP из IPsec, добавив фильтр со следующими свойствами.
Свойство 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.2). условие фильтрации FWPM_CONDITION_IP_REMOTE_ADDRESS Соответствующий удаленный адрес (1.1.1.1 или 2.2.2.2.2). action.type FWP_ACTION_CALLOUT_TERMINATING action.calloutKey FWPM_CALLOUT_IPSEC_OUТБOUND_TRANSPORT_V{4|6} Исключите трафик ICMP из IPsec, добавив фильтр со следующими свойствами.
Свойство 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 с параметром outboundTraffic, содержащим IP-адреса как 1.1.1.1.1 и 2.2.2.2, и ipsecFilterId в качестве LUID исходящего транспортного слоя IPsec, добавленного выше.
- Вызовите IPsecSaContextGetSpi0 с параметром идентификатора идентификатора контекста, возвращаемого из IPsecSaContextCreate0, и параметр getSpi, содержащий IP-адреса, как 1.1.1.1 и 2.2.2.2, и ipsecFilterId в качестве LUID входящего фильтра выноски IPsec, добавленного выше. Возвращаемое значение SPI предназначено для использования в качестве входящего SA SPI на локальном компьютере и в качестве исходящего sa SPI соответствующим удаленным компьютером. Оба компьютера должны использовать некоторые внеполосные средства для обмена значениями SPI.
- Вызовите IPsecSaContextAddInbound0 с параметром идентификатора идентификатора контекста, возвращаемого из IPsecSaContextCreate0, и параметр inboundBundle, описывающий свойства входящего пакета SA (например, входящий SA SPI, тип преобразования, типы алгоритмов, ключи и т. д.).
- Вызовите IPsecSaContextAddOutbound0 с параметром идентификатора идентификатора контекста, возвращенным из IPsecSaContextCreate0, и параметр outboundBundle, описывающий свойства исходящего пакета SA (например, исходящий SA SPI, тип преобразования, типы алгоритмов, ключи и т. д.).
При настройке правил фильтрации входящих пакетов FWPM_LAYER_INBOUND_TRANSPORT_V{4|6}
В FWPM_LAYER_OUТБOUND_TRANSPORT_V{4|6} настройте правила фильтрации исходящего трафика на пакеты
Настройка сопоставлений безопасности для входящих и исходящих подключений