Pure-Ftpd-Mysql: невозможно подключиться с пассивным FTP

520
Thibault Henry

Кажется, у меня проблема с конфигурацией, и мне нужна помощь.

У меня есть веб-сервер под Debian Jessie с установленным (и обновленным) чистым ftpd-mysql.

Я могу подключиться к серверу через FTP, когда он находится в активном режиме, но когда я прошу перейти в пассивный режим, у меня истекло время ожидания операции:

ftp ftp.***.com Connected to ftp.***.com. 220---------- Welcome to Pure-FTPd [privsep] [TLS] ---------- 220-You are user number 1 of 50 allowed. 220-Local time is now 12:31. Server port: 21. 220-This is a private system - No anonymous login 220-IPv6 connections are also welcome on this server. 220 You will be disconnected after 15 minutes of inactivity. Name (ftp.***.com:tilotiti):  331 User tilotiti OK. Password required Password:  230 OK. Current restricted directory is / ftp> ls 200 PORT command successful 150 Connecting to port 50405 drwxr-xr-x 2 2001 ftp 4096 Dec 21 11:12 test1 drwxrwxrwx 2 2001 ftp 4096 Apr 28 2017 test2 226-Options: -l  226 2 matches total ftp> passive Passive mode on. ftp> ls 227 Entering Passive Mode (10,3,98,75,127,233) ftp: connect: Operation timed out ftp>  

Я размещен на скайвей и проверил, что там, где нет правил, настроенных как сетевой брандмауэр.

Я попытался настроить некоторые порты пассивного диапазона, создав файл / etc / pure-ftpd / conf / PassivePortRange:

30000 50000 

Я проверил, что мой серверный брандмауэр не блокирует соединение:

$ iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination   Chain FORWARD (policy ACCEPT) target prot opt source destination   Chain OUTPUT (policy ACCEPT) target prot opt source destination 

И я перезагрузил сервер, чтобы убедиться, что новая конфигурация была принята.

Но это не работает, я совершенно потерян. Мне нужна эта пассивная связь.

Кто-нибудь может мне помочь, пожалуйста?

Большое спасибо.

1

1 ответ на вопрос

1
A.B

227 Entering Passive Mode (10,3,98,75,127,233)

Означает, что сервер ожидает входящего соединения с портом 32745 10.3.98.75. Конечно, это потому, что сервер NATed и (сервер ftp) не знает об этом.

Вам все еще нужно сделать две (из 3) вещи:

  • установите FTP-сервер так, чтобы он «публиковал» известный общедоступный IP-адрес вместо своего частного IP-адреса. Вот как это делается из документации по чисто ftpd :

    - '-P <ip address or host name>': Force the specified IP address in reply to a PASV/EPSV/SPSV command. If the server is behind a masquerading (NAT) box that doesn't properly handle stateful FTP masquerading, put the ip address of that box here. If you have a dynamic IP addBindress, you can put the public host name of your gateway, that will be resolved every time a new client will connect.

Конфигурация оболочки Debian (?) Для него выглядит так: ForcePassiveIP <ip address or host name>

  • установите для него использование только определенного диапазона портов (уже сделано, вы выбрали 30000: 50000). Диапазон, который не перекрывает динамический диапазон портов, как видно на /proc/sys/net/ipv4/ip_local_port_rangeрисунке, должен быть выбран для повышения безопасности.
  • Измените настройки брандмауэра / nat Scaleway, чтобы разрешить переадресацию портов для диапазона портов TCP на предыдущем шаге (здесь может иметь значение безопасность, о которой я упоминал выше). Извините, я не знаю, где найти конкретную документацию по этому поводу. Я даже не понял, какие конфигурации сети доступны на Scaleway. Если у хозяина есть на самом деле два IP - адреса, один из них 10.3.98.75, другой общественности, то вместо того, чтобы использовать ForcePassiveIP, то Bindвариант (=> -S) будет достаточно.
Спасибо большое за вашу помощь. Опция ForcePassiveIP сработала! Thibault Henry 6 лет назад 0

Похожие вопросы