Мне нужно создать брандмауэр, который может разрешить только определенные 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
Есть идеи?
Благодарю.