Аналог команды Iptables в Windows

Аналог команды Iptables в Windows

iptables -I ПЕРЕНАПРАВИТЬ -s 192.168.1.100 -p udp --dport 27000:27200 --match string --algo kmp --string 76561198923445525 -j ПРИНЯТЬ

Мне нужен просто аналог этой работающей команды в ОС Windows, например powershell или....cmd...что угодно.

По сути, у нас есть пользователь с ID, подключающийся к серверу. С помощью команды мы ПРИНИМАЕМ указанную строку ID на портах 27000:27200 в пределах локального сервера 192.168.1.100. Как заставить это работать без iptables?

решение1

Это будет довольно близко. Брандмауэр Windows допускает аутентифицированные соединения (сопоставление пользователей), но это может не сработать для вас, в зависимости от того, какой клиент подключается и поддерживает ли он это:

New-NetFirewallRule -DisplayName My-Firewall-Rule `
    -Direction Inbound `
    -Enabled True `
    -Action Allow `
    -Protocol UDP `
    -LocalPort 27000 `
    -LocalAddress 192.168.1.100 `
    -Authentication Required `
    -RemoteUser "D:(A;;CC;;;$UserSID)"

Замените $UserSIDфактическим SID пользователя для аутентификации.

Это не совсем то же самое, и я не верю, что Windows действительно имеет ту же функциональность, что и цепочка FORWARD в iptables без некоторых функций маршрутизации.

# Basic maintenance commands:
Get-NetFirewallRule -DisplayName My-Firewall-Rule | format-list *  ## show all properties
Remove-NetFirewallRule -DisplayName My-Firewall-Rule  ## Delete your rule

# Enable detailed logging:
Set-NetFirewallProfile -LogAllowed True -LogFileName %SystemRoot%\System32\LogFiles\Firewall\pfirewall.log

# Watch log:
Get-Content -Tail 10 -Wait "C:\windows\System32\LogFiles\Firewall\pfirewall.log"

Для всего остального, проверьте примеры и документацию в Get-Help New-NetFirewallRule -Fullиливеб-документы. Подумайте о том, чтобы добавить в свой вопрос больше информации о том, что вы уже пробовали и какая клиент-серверная ОС используется.

Связанный контент