Использование фильтра WFP для разрешения пары портов и ip - PullRequest
0 голосов
/ 21 мая 2019

Я хотел бы иметь брандмауэр, который изолирует мое устройство от сети, за исключением нескольких пар порт / ip, которые я хочу разрешить.

Например, чтобы разрешить определенный порт (для всех IP-адресов), я использую следующий фильтр:

FWPM_FILTER_CONDITION0 условия [2];

conditions[0].fieldKey = FWPM_CONDITION_IP_REMOTE_PORT;
conditions[0].conditionValue.type = FWP_UINT16;
conditions[0].conditionValue.uint16 = port;

conditions[1].fieldKey = FWPM_CONDITION_IP_PROTOCOL;
conditions[1].conditionValue.type = FWP_UINT8;
conditions[1].conditionValue.uint32 = 0;
conditions[1].matchType = FWP_MATCH_GREATER_OR_EQUAL;

Filter.subLayerKey = myGUID;
Filter.displayData.name = L"myFirewall";
Filter.action.type = FWP_ACTION_PERMIT;
Filter.weight.type = FWP_UINT64;

uint64 weightvalue = 0x102;

Filter.weight.uint64 = &weightvalue;
Filter.flags = FWPM_FILTER_FLAG_PERSISTENT;
Filter.filterCondition = conditions;
Filter.layerKey = FWPM_LAYER_OUTBOUND_TRANSPORT_V4
Filter.numFilterConditions = 2;

Этот фильтрразрешить пакеты с одним портом dest без учета его ip.Как добавить конкретный ip в условие фильтра?

спасибо

...