By 12 Febbraio 2015

Impostazioni FTP per VPS dietro NAT (WordPress)

Se si esegue WordPress (o qualsiasi altro sito web, che dobbiamo pubblicare via FTP) dietro un NAT (es. 192.168.137.x), su un VPS virtuale in un ambiente Hyper-V è necessario prestare molta attenzione alla configurazione FTP (del VPS) e della configurazione di entrambi i Firewall.

Un impostazione sbagliata, sia delle regole Reverseproxy di IIS, sia delle regole di Routing FTP può portare alla ricezione di un errore come questo:

Wordpress Risposta 502 Ricevuta Non Valida

Questa guida è stata scritta in modo specifico per “WordPress” (a causa della funzione di aggiornamento via FTP)
Può essere considerata anche come guida di funzionamento per qualsiasi HOST da raggiungere via FTP dietro NAT. Una guida più generica è QUI
Supponiamo di utilizzare un server esterno (Hyper-V) e un VPS Linux (virtualizzato e con indirizzo Ip di rete interna)

Innanzi tutto è necessario impostare una configurazione di Routing, dedicata all’ FTP sul server Hyper-V. Utilizzeremo, sul VPS (Linux) le porte standard 20 e 21, ma sull’Hyper-V saranno la 3020 e la 3021

netsh interface portproxy add v4tov4 listenport=3020 connectaddress=192.168.137.x connectport=20
netsh interface portproxy add v4tov4 listenport=3021 connectaddress=192.168.137.x connectport=21

Sul Firewall dell’Hyper-V dovremo aprire le porte 3020, 3021.
Sul firewall del VPS (se presente, ma non necessario) è necessario assicurarsi che siano aperte la 20 e la 21

Possiamo stabilire la connessione FTP in questo modo :ip_server_hyperv:3021 ma non saremo ancora in grado di collecarci, perchè si riceverebbe l’errore : Non è stato possibile leggere il contenuto della cartella.
Sul VPS Linux (se si utilizza ad esempio ProFtpD) è necessario impostare le PassivePorts in un range predefinito, perchè poi dovremo impostare le regole di Routing anche per queste porte. Io ho utilizzato dalla 7000 alla 7010, creando poi una lista di corrispettive regole, es:

netsh interface portproxy add v4tov4 listenport=7002 connectaddress=192.168.137.X connectport=7002
netsh interface portproxy add v4tov4 listenport=7003 connectaddress=192.168.137.X connectport=7003
netsh interface portproxy add v4tov4 listenport=7004 connectaddress=192.168.137.X connectport=7004

netsh interface portproxy sembra non disporre di un comando per aprire un range di porte (o io non l’ho trovato!)
Ovviamente dovremo “aprire un range” di queste porte sul Firewall dell’Hyper-V.

Per WORDPRESS : E’ importante NON UTILIZZARE sul Vps la funzione “MasqueradeAddress“.
Quando viene realizzato un NAT viene suggerito sempre di utilizzare questa funzione per “camuffare” l’indirizzo ip “interno” con quello “esterno”.
Se verrà fatto, non sarà più possibile aggiornare i PLUGIN di WordPress . E si riceverà un errore come questo :

Impossibile CopiareFIle

Ad ogni connessione il client FTP renderà il messaggio di errore:
Il server ha inviato una risposta passiva contenente un indirizzo non raggiungibile. Sarà usato l’indirizzo del server.
ma il collegamento sarà erogato lo stesso.

WordPress running behind NAT, Regole FTP dietro NAT, Utilizzare FTP dietro NAT, Hyper-V Route Regole FTP, porte FTP nat, Ancora su FTP e NAT, Ftp Server dietro Nat, Ftp Server Linux dietro nat Windows, Nat Windows 2012, netsh interface portproxy Nat Ftp

Posted in: Windows Hyper-V

About the Author:

shared on wplocker.com