IIS 7.5 su Windows Server 2008 R2 che rifiuta di creare connessioni FTP PASSIVE MODE

Sto tentando di get un client FTP scritto in perl per trasferire i file da un server FTP IIS 7.5 utilizzando la modalità passiva.

Ho configurato il server FTP secondo le istruzioni e ho anche configurato Windows Firewall per consentire questo tipo di traffico. Ho validationto che il firewall funziona correttamente verificando che non ci siano pacchetti bloccati nei registri. Ho verificato che il canale di controllo FTP viene aperto nella port 21.

  • FTP, SCP o qualcos'altro
  • SOLVED: imansible get l'elenco di directory tramite ftp usando windows 2012 r2, iis-8
  • Server 2008R2 Consenti ai non amministratori di essere remoti nel server senza servizi terminal
  • DFSR non replica
  • Windows Server 2008 R2 - RDSH - Blocco del Registro di sistema con il driver di printing Samsung Universal
  • Modifica degli oggetti di connessione di Active Directory
  • Credo che il client viene informato da IIS quale port per connettersi per la modalità passiva e che IIS rifiuta di consentire questa connessione.

    Il log perl è simile a:

    C:\cygwin\Perl\lib\FMT>perl FTPTest.pl Net::FTP>>> Net::FTP(2.77) Net::FTP>>> Exporter(5.64_01) Net::FTP>>> Net::Cmd(2.29) Net::FTP>>> IO::Socket::INET(1.31) Net::FTP>>> IO::Socket(1.31) Net::FTP>>> IO::Handle(1.28) Net::FTP=GLOB(0x20abac0)<<< 220 Microsoft FTP Service Net::FTP=GLOB(0x20abac0)>>> USER ftpuser Net::FTP=GLOB(0x20abac0)<<< 331 Password required for ftpuser. Net::FTP=GLOB(0x20abac0)>>> PASS .... Net::FTP=GLOB(0x20abac0)<<< 230 User logged in. Net::FTP=GLOB(0x20abac0)>>> CWD /Logs Net::FTP=GLOB(0x20abac0)<<< 250 CWD command successful. Net::FTP=GLOB(0x20abac0)>>> PASV Net::FTP=GLOB(0x20abac0)<<< 227 Entering Passive Mode (xx,xxx,xxx,xxx,160,41). Net::FTP=GLOB(0x20abac0)>>> RETR filename.txt Can't use an undefined value as a symbol reference at C:/Utilities/strawberryper l/perl/lib/Net/FTP/dataconn.pm line 54. 

    I log di IIS sono i seguenti:

     2010-10-02 17:40:06 xx.xxx.xx.xx - yy.y.yy.yy ControlChannelOpened - - 0 0 27a48c9b-9dce-4770-8bcf-fc89f2569b1a - - 2010-10-02 17:40:06 xx.xxx.xx.xx - yy.y.yy.yy USER ftpuser 331 0 0 27a48c9b-9dce-4770-8bcf-fc89f2569b1a - - 2010-10-02 17:40:06 xx.xxx.xx.xx MACHINENAME\ftpuser yy.y.yy.yy PASS *** 230 0 0 27a48c9b-9dce-4770-8bcf-fc89f2569b1a / - 2010-10-02 17:40:06 xx.xxx.xx.xx MACHINENAME\ftpuser yy.y.yy.yy CWD /Logs 250 0 0 27a48c9b-9dce-4770-8bcf-fc89f2569b1a /Logs - 2010-10-02 17:40:06 xx.xxx.xx.xx MACHINENAME\ftpuser yy.y.yy.yy PASV - 227 0 0 27a48c9b-9dce-4770-8bcf-fc89f2569b1a - - 2010-10-02 17:40:27 - MACHINENAME\ftpuser zz.z.zz.zzz 41001 DataChannelClosed - - 64 0 27a48c9b-9dce-4770-8bcf-fc89f2569b1a - - 2010-10-02 17:40:27 xx.xxx.xx.xx MACHINENAME\ftpuser yy.y.yy.yy ControlChannelClosed - - 64 0 27a48c9b-9dce-4770-8bcf-fc89f2569b1a - - 2010-10-02 17:40:27 xx.xxx.xx.xx MACHINENAME\ftpuser yy.y.yy.yy RETR filename.txt 550 1236 0 27a48c9b-9dce-4770-8bcf-fc89f2569b1a filename.txt - 

    Siamo riusciti a vedere anche questo problema con altri client FTP, non credo che sia qualcosa di divertente in Perl. Sono stato informato che questo funziona bene nel server FTP IIS 6. Mi chiedo se ci sia qualcosa che manchiamo qui.

    3 Solutions collect form web for “IIS 7.5 su Windows Server 2008 R2 che rifiuta di creare connessioni FTP PASSIVE MODE”

    Ho avuto questo stesso problema. IIS FTP 7.5 è configurato per impostazione predefinita per consentire solo FTP attivo non passivo credo – alless in due installazioni predefinite che ho fatto. Forse il tuo script si sta appendendo su questo. Il sito web di IIS http://learn.iis.net/page.aspx/309/configuring-ftp-firewall-settings/ mi ha aiutato immensamente – anche se il mio problema era con un normale client FTP (filezilla) non PERL dovrebbe applicarsi in questo caso. Guardate in particolare la fase 3: Configurare le impostazioni di firewall di Windows

    Ho avuto questo stesso problema con uno script Perl. Stavo collegando da un indirizzo IP privato. In modalità passiva l'indirizzo IP pubblico viene restituito al momento del rilascio del command PASV! La soluzione era impostare Passive => 0 per utilizzare la modalità triggers quando si trova all'interno del firewall e utilizzare Passive => 1 quando si trova al di fuori del firewall.

    Ho incontrato problemi simili con altri software del server ftp.

    potrebbe essere necessario eseguire mapping delle porte se il server ftp è dietro NAT. potrebbe anche essere necessario controllare la port del server utilizzato per la modalità passiva e la mappa del porto. Controllare anche il firewall che tali porte sono consentite.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.