How to set an external IP address (IPv4 only)

FTP uses a separate connection for each file-transfers and directory-listing. In passive mode file-transfers, the server listens on a random port between the minimum and the maximum port numbers specified, waiting for a connection from the client to this port. The server tells the client which port it's chosen. For IPv4, it also tells the client which IP address to connect to. For cases where the server is behind a NAT device, the IP address that the clients need to connect to is different from the IP address of the interface on the computer, which is why this setting is provided. It should be set to the external (usually Internet) IP address of the server. If it's not set then the LAN IP address of the interface that the server is listening on is provided. In fact, most modern clients ignore the IP address provided here, so for those clients the setting is not required.

In IPv6 the server doesn't tell the client which IP address to connect to as the client is required to assume that the IP address to connect the data connections to is the same as the main (control) connection.

PASV Transfer Settings

Using the external IP address for FTPS only

There is one caveat to using a hard-coded external IP address - some routers don't like it. These routers expect to see the local LAN IP address in the PASV reply, and they replace this local address with the external IP address themselves. If the local LAN IP address is not found, some routers will abruptly terminate the connection.

The solution in these situations is to only supply the hard-coded external IP address for encrypted (i.e. FTPS) connections, which the router can't inspect (and hence can't know what IP address is in the PASV reply). To do this, use the Use external IP address for setting and select "FTPS only" rather than "FTP/FTPS" (which is the default).