Активный режим FTP-сервера

Я хотел бы подключиться к ftp-серверу FileZilla, работающему на хосте Windows 7, из ftp-клиента на гостевой Slackware. Я могу успешно войти, pwdcdи т. д. Когда режим пассивен, я могу ls или же get но когда в активном (пассив == выкл) я получил следующий результат:

150 Opening data channel for directory listing of "/DNS"
425 Can't open data connection for transfer of "/DNS"
ABOR
226 ABOR command successful

Почему не работает активный режим? Что нужно сделать, чтобы это работало? Я запускаю VirtualBox в сетевом режиме NAT с включенной переадресацией портов.

1 ответ

Активный и пассивный режимы взаимодействуют по-разному.

В пассивном режиме ваш компьютер подключается к порту 21, а затем устанавливает второе исходящее соединение с сервером для передачи данных.

В активном режиме ваш компьютер подключается к порту 21 на сервере, а затем сервер связывается обратно с порта 20 на ваш компьютер.

Все это означает, что пассивный режим легче программировать, поскольку простые брандмауэры и шлюзы NAT, как правило, позволяют любому покинуть сеть, но возвращаются только связанные соединения. В случае соединения в активном режиме маршрутизатору необходимо выполнить отслеживание соединения, чтобы связать 2 соединения, и это не удается. Вы почти наверняка столкнетесь с этой проблемой.

В дополнение к переадресации портов вам потребуется загрузить модули отслеживания подключений (и, возможно, отслеживания подключений FTP). Это зависит от вашей операционной системы, но может быть nf_conntrack_ftp или nf_nat_ftp в Linux.

Другие вопросы по тегам