prefixkit Ask an engineerAsk RU

Port 20 FTP data

Data channel of classic FTP (active mode).

Protocol
TCP
Service
FTP data
Category
File sharing
Exposing to the internet
Do not expose

Check if port 20 is open

Is it safe to open

File-sharing protocols are not designed for the internet: they leak data and spread ransomware. Keep them inside the LAN and give remote users a VPN or an HTTPS-based service instead.

How to open port 20

Open to everyone

# Linux iptables
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
# Ubuntu ufw
ufw allow 20/tcp
# firewalld
firewall-cmd --permanent --add-port=20/tcp && firewall-cmd --reload
# MikroTik
/ip firewall filter add chain=input protocol=tcp dst-port=20 action=accept place-before=0 comment="port 20"
# Windows (PowerShell)
New-NetFirewallRule -DisplayName "Port 20 TCP" -Direction Inbound -Protocol TCP -LocalPort 20 -Action Allow

Only for your addresses

# allow only one address or network (replace 203.0.113.0/24)
iptables -A INPUT -p tcp --dport 20 -s 203.0.113.0/24 -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -j DROP
ufw allow from 203.0.113.0/24 to any port 20 proto tcp
/ip firewall filter add chain=input protocol=tcp dst-port=20 src-address=203.0.113.0/24 action=accept
/ip firewall filter add chain=input protocol=tcp dst-port=20 action=drop

If the server is behind a router, you also need a port forward (dst-nat). Behind ISP CGNAT (100.64.0.0/10 on the WAN) forwarding will not help: you need a public IP or a VPN.

What is listening

Check on the server

# what listens on the port
ss -lntup | grep ':20 '
netstat -ano | findstr :20   # Windows
lsof -i :20   # macOS
# test from another machine
nc -vz example.com 20

Related ports