Как установить правила брандмауэра на клиентском компьютере, которому требуется доступ к серверам FTP и SFTP?
По умолчанию политика на клиентской машине - запрещать все соединения (входящие и исходящие)
существуют (UFW) правила, которые разрешают:
20/tcp ALLOW OUT Anywhere # FTP Data
21/tcp ALLOW OUT Anywhere # FTP Command
22 ALLOW OUT Anywhere # SSH, SFTP
990 ALLOW OUT Anywhere # FTPS
989 ALLOW OUT Anywhere # FTPS
которые хорошо работают на клиентской машине для подключения к FTP / FTPS и аутентификации там, но когда ftp клиент запрашивает список каталогов, возникает ошибка:
Ошибка: не удалось получить список каталогов
Журнал подключений:
Status: Resolving address of xxx.xxx.xxx.xxx
Status: Connecting to 1xx.1xx.2xx.1xx:21...
Status: Connection established, waiting for welcome message...
Status: Initializing TLS...
Status: Verifying certificate...
Status: TLS connection established.
Status: Logged in
Status: Retrieving directory listing...
Command: PWD
Response: 257 "/" is your current location
Command: TYPE I
Response: 200 TYPE is now 8-bit binary
Command: PASV
Response: 227 Entering Passive Mode (1xx,1xx,2xx,1xx,1xx,2xx)
Command: MLSD
Error: Connection timed out after 20 seconds of inactivity
Error: Failed to retrieve directory listing
Если брандмауэр выключен, ошибки нет, значит проблема связана с конфигурацией брандмауэра.
Что нужно добавить как правило (желательно как правило UFW), чтобы межсетевой экран был активен с запрещающим правилом по умолчанию, но разрешающим FTP- и SFTP-соединения?
В /etc/proftpd/proftpd.conf
Снимите отметку: PassivePorts 65000 66000 (выберите диапазон пассивных портов)
В ufw
откройте диапазон портов
sudo ufw allow 65000:66000/tcp