Я могу найти много ресурсов о том, как настроить сервер Windows в качестве FTP-сервера, но для этой ситуации я этого не понял.
Я хочу настроить брандмауэр Windows Server 2012, чтобы разрешить FTP-трафик с компьютера интрасети на внешний веб-сервер. Таким образом, FTP-соединение не от сервера или к серверу. У меня это работало в прошлом, но открытие портов 20-21, похоже, не работает, и я не могу вспомнить, как это работало в прошлом.
Итак, что мне еще нужно, чтобы позволить Windows Server 2012 передавать FTP-трафик от интернет-клиента на внешний сервер?
Похоже, это была проблема с маршрутизацией удаленного доступа, и брандмауэр не имел к этому никакого отношения. По крайней мере, ни одна из настраиваемых зон.
В конце концов я решил это, используя эта тема, который завершается вводом этого в командной строке на сервере NAT:
netsh routing ip nat delete ftp
Итак, я полагаю, что NAT-сервер попытался перехватить FTP-трафик и направить его локально (или что-то в этом роде), чего он больше не делает.
Добавьте входящее правило для командного канала и разрешите подключения к порту 21,
netsh advfirewall firewall add rule name="FTP (non-SSL)" action=allowprotocol=TCP dir=in localport=21
Отключите фильтрацию FTP с отслеживанием состояния, чтобы брандмауэр Windows не блокировал FTP-трафик в диапазоне пассивных портов.
netsh advfirewall set global StatefulFtp disable
Устранение неполадок RRAS