Test FTP Access Remotely on CentOS

This section provides a tutorial example on how to update firewall on the vsftpd server (and its firewall gateway if it is served in the cloud) to open ports 21 and 30000-31000 for inbound connections.

To allow users to upload and download files remotely, I need to open the firewall to allow users to upload and download files remotely using the vsftpd server on my CentOS computer.

1. Find the active zone of the firewall:

herong$ sudo firewall-cmd --get-active-zones

public
  interfaces: eno1

2. Add predefined "ftp" settings in the active zone "public" to receive incoming FTP connections.

herong$ sudo firewall-cmd --zone=public --add-service=ftp
success

3. Open a range of ports in the active zone to receive incoming FTP passive connections.

herong$ sudo firewall-cmd --zone=public --add-port=30000-31000/tcp
success

4. List all settings in the active zone "public":

herong$ sudo firewall-cmd --zone=public --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eno1
  sources:
  services: cockpit dhcpv6-client ftp http ssh
  ports: 80/tcp 3306/tcp 30000-31000/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  ...

5. Persist firewall changes to configuration files.

herong$ sudo firewall-cmd --runtime-to-permanent

6. Verify remote access by running an FTP client program on another computer on the same network, assuming that 192.168.1.3 is the IP address of vsftpd server computer.

herong$ ftp 192.168.1.3
Connected to 192.168.1.3.
220 (vsFTPd 3.0.3)
Name (192.168.1.3:herong): herong
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.

ftp> dir
229 Entering Extended Passive Mode (|||30445|)
150 Here comes the directory listing.
drwxr-xr-x    2 1000     1000           22 Jul 11 10:03 files
226 Directory send OK.

ftp> cd files
250 Directory successfully changed.

ftp> dir
229 Entering Extended Passive Mode (|||30768|)
150 Here comes the directory listing.
-rw-r--r--    1 1000     1000          637 Jul 11 10:03 test.txt
226 Directory send OK.

ftp> get test.txt
local: test.txt remote: test.txt
229 Entering Extended Passive Mode (|||30673|)
150 Opening BINARY mode data connection for test.txt (637 bytes).
100% |*********************************|   637    3.41 MiB/s    00:00 ETA
226 Transfer complete.
637 bytes received in 00:00 (1.08 MiB/s)

ftp> exit
221 Goodbye.

Very good. Remote FTP access is ready!

Note that if your server provided by an service provider in the cloud, you need open port 21 and 30000-31000 for inbound connections on the firewall gateway that protects your server.

Table of Contents

 About This Book

 Introduction to Linux Systems

 Cockpit - Web Portal for Administrator

 Process Management

 Files and Directories

 Users and Groups

 File Systems

 Block Devices and Partitions

 LVM (Logical Volume Manager)

 Installing CentOS

 SELinux - Security-Enhanced Linux

 Network Connection on CentOS

 Internet Networking Tools

 SSH Protocol and ssh/scp Commands

 Software Package Manager on CentOS - DNF and YUM

vsftpd - Very Secure FTP Daemon

 Install vsftpd on CentOS

 vsftpd Server Configuration

 Setup FTP Sub-Directory for Local Users

 Test FTP Access Locally on CentOS

Test FTP Access Remotely on CentOS

 Support FTP Over TLS on CentOS

 Disable SSH Access for FTP Users

 LDAP (Lightweight Directory Access Protocol)

 Administrative Tasks

 References

 Full Version in PDF/EPUB