Чтобы открыть доступ к FTP серверу в IPTables необходимо добавить правила:
sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 20 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 1024:1030 -j ACCEPT
Чтобы открыть доступ только конкретной сети, например 192.168.1.0/24:
sudo iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 21 -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 20 -j ACCEPT sudo iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 1024:1030 -j ACCEPT
Чтобы удалить правило укажем ту же команду, заменив -A на -D, например:
sudo iptables -D INPUT -p tcp --dport 21 -j ACCEPT sudo iptables -D OUTPUT -p tcp --sport 20 -j ACCEPT sudo iptables -D INPUT -p tcp --dport 1024:1030 -j ACCEPT
Посмотреть список правил можно командой:
sudo iptables -nvL
1024-1030 — пример портов для пассивного режима, указываются в конфигурации FTP сервера, например для ProFTPd указываются в файле /etc/proftpd/proftpd.conf так:
PassivePorts 1024 1030
Смотри также мои статьи:
Настройка IPTables
Активный и пассивный режим работы FTP
Установка и настройка Pure-FTPd в Ubuntu
Установка и настройка ProFTPd в Ubuntu