web-dev-qa-db-ja.com

Pure-Ftpd-Mysql:パッシブFTPに接続できません

構成に問題があるようで、サポートが必要です。

私は、pure-ftpd-mysqlがインストール(および更新)されたDebianJessieの下にWebサーバーを持っています。

サーバーがアクティブモードのときに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> 

私はscalewayでホストされており、ネットワークファイアウォールとして構成されているルールがないことを確認しました。

ファイル/ 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
Thibault Henry

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

サーバーが10.3.98.75ポート32745への着信接続を待機していることを意味します。もちろん、これはサーバーがNATされており、(ftpサーバーが)それを認識していないためです。

あなたはまだ2つ(3つのうち)をする必要があります:

  • プライベートIPではなく既知のパブリックIPを「公開」するようにFTPサーバーを設定します。これは、 pure-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に見られるように、動的ポートの範囲と重複しない範囲を選択して、セキュリティを向上させる必要があります。
  • Scalewayのファイアウォール/ NAT設定を変更して、TCP前の手順のポートの範囲でポート転送を許可します(上記のセキュリティが重要になる可能性があります)。申し訳ありませんが、どこにあるかわかりません。これに関する具体的なドキュメント。Scalewayで利用できるネットワーク構成の種類すら理解していませんでした。ホストに実際に2つのIPがあり、1つは10.3.98.75、もう1つはパブリックである場合はForcePassiveIPを使用しません。 、Bindオプション(=> -S)で十分です。
1
A.B