IPv6 Best Practices Issued 40 Years After Birth of FTP
With the ever reducing number of IPv4 addresses available your selection of an FTP solution should ensure it is enabled for IPv6. A recognised leader in the field of file transfer technologies, Jonathan Lampe, President of File Transfer Consulting has published the following guide to help assist in the selection of a file transfer technology for now and the future.
In the late 1990s several FTP experts collaborated to develop RFC 2428, an FTP standard that addressed two problems that would unnecessarily plague the file transfer industry for the next decade.
The first problem was FTP over SSL/TLS vs. firewalls. While RFC 2228 standardized the secure FTP protocol, users often ran into NAT issues with secure FTP because traditional FTP depended on firewalls to make changes to PORT requests. In response, many vendors wrote workarounds like specific FTP data port ranges and ignoring requested IPs in transfer requests.
The second problem was the rapidly emerging use of IPv6, for which pre-RFC 2428 FTP had no provision. By 2010 many organizations were rationing their remaining IPv4 addresses and in 2011 both IANA and APNIC had run out of new blocks to allocate.
However, neither of these issues would have been a problem with the widespread implementation of RFC 2428, which addresses both NAT and IPv6. Fortunately, EPSV and IPv6 support is now easy to find in file transfer technology, even managed file transfer technology. Unfortunately, implementations can vary.
To help everyone avoid unpleasant surprises, File Transfer Consulting has issued the following best practices around FTP and IPv6, in the context of RFC 2428.
#1: All FTP technology should now support an RFC 2428 implementation of IPv6.
#2: All FTP technology should now support the EPSV (and EPRT) commands under both IPv4 and IPv6.
#3: Until IPv4 is entirely retired, the use of technology that supports both IPv4 and IPv6 implementations of FTP is preferred.
#4: Avoid using FTP over connections that automatically switch from IPv6 to IPv4 or (visa versa).