Search code examples
azureazure-virtual-machinefilezilla

Network Security Group for Filezilla(client) connection


I am new here.

Few days ago, attended MS azure events, and today registered with Azure (free account).
VM Environment: VM = CentOS 7, apache+php+mysql+vsftpd+phpMyAdmin

everything is up and running, able to visit the "info.php" via its public IP address.
SeLinux = disabled, Firewalld disabled.

my problem is not able to connect this server via Filezilla (PC client). from Windows command prompt (FTP/put) is working, able to upload files. But via Filezilla

Status: Connecting to 5x.1xx.1xx.7x:21...
Status: Connection established, waiting for welcome message...
Status: Insecure server, it does not support FTP over TLS.
Status: Logged in
Status: Retrieving directory listing...
Command:    PWD
Response:   257 "/home/ftpuser"
Command:    TYPE I
Response:   200 Switching to Binary mode.
Command:    PORT 192,168,1,183,234,99
Response:   200 PORT command successful. Consider using PASV.
Command:    LIST
Error:  Connection timed out after 20 seconds of inactivity
Error:  Failed to retrieve directory listing
Status: Disconnected from server
Status: Connecting to 5x.1xx.1xx.7x:21...
Status: Connection established, waiting for welcome message...
Status: Insecure server, it does not support FTP over TLS.
Status: Logged in
Status: Retrieving directory listing...
Command:    PWD
Response:   257 "/home/ftpuser"
Command:    TYPE I
Response:   200 Switching to Binary mode.
Command:    PORT 192,168,1,183,234,137
Response:   200 PORT command successful. Consider using PASV.
Command:    LIST
Error:  Connection timed out after 20 seconds of inactivity
Error:  Failed to retrieve directory listing

I believe that is because of the Network Security group settings for inbound and outbound rules, need open some port, but not sure, because I tried open 1024-65535 all allow, still not working.


Solution

  • If you use passive mode FTP, you should open ports 20,21 and ports that you need on Azure NSG(Inbound rules). You could check /etc/vsftpd.conf

    pasv_enable=YES
    pasv_min_port=60001
    pasv_max_port=60005
    

    For this example, you should open ports 60001-60005 on Azure NSG(Inbound rules).