Мне нужно создать брандмауэр, который может разрешить только определенные IP-адреса на определенный порт. Например, разрешите 1.2.3.4 , 2.2.2.2 и 5.5.5.5 для порта 45654 . Если 6.6.6.6 пытается получить доступ к 45654 чтобы отказать в этом.

Какую команду я пробовал:

netsh advfirewall firewall add rule name="application" dir=in action=allow program="C:\application.exe" enable=yes remoteip=64.68.22.49,51.68.11.49/32,LocalSubnet profile=private protocol=TCP localport=42262

Проблема в том, что я пытаюсь заблокировать все и разрешить ips каждому из них через брандмауэр Windows (интерфейс), но не работает, либо блокирует все, либо разрешает все.

В Linux все просто:

Linux эквивалент

-I INPUT -s 0/0 -p tcp  --dport 1080:65535  -j REJECT

-I INPUT -p tcp --match multiport --dports 35001:65000 -j ACCEPT

-I INPUT -p tcp --dport 61605 -j REJECT
-I INPUT -p tcp  -s 103.204.244.3/32 --dport 61605 -j ACCEPT

-I INPUT -p tcp --dport 62814 -j REJECT
-I INPUT -p tcp  -s 103.204.244.3/32 --dport 62814 -j ACCEPT

-I INPUT -p tcp --dport 61525 -j REJECT
-I INPUT -p tcp  -s 103.204.244.3/32 --dport 61525 -j ACCEPT

вывод iptables:

ACCEPT     tcp  --  178.166.173.55       0.0.0.0/0            tcp dpt:61605
REJECT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:61605 reject-with icmp-port-unreachable

ACCEPT     tcp  --  178.150.247.127      0.0.0.0/0            tcp dpt:62814
REJECT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:62814 reject-with icmp-port-unreachable

ACCEPT     tcp  --  178.150.247.127      0.0.0.0/0            tcp dpt:61525
REJECT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:61525 reject-with icmp-port-unreachable

REJECT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpts:1080:65535 reject-with icmp-port-unreachable

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0

Есть идеи?

Благодарю.

0