FTPでのデータ転送について(IIS-FTP,etc..)

前回のエントリのコメントIISFTPではレジストリでPORTコマンドを制御できると
教えて頂いたので、IISFTPを少しいじってみました。


-環境-
Server:10.0.0.100/24 (Window7 IIS7.5-FTP7.5)
HostA :10.0.0.10/24
HostB :10.0.1.10/24

PORTコマンドに対する、デフォルトの設定でのIIS-FTPの動作(HostA→Server)


PORT 10,0,0,10,0,80 //10.0.0.10:80
501 Server cannot accept argument.

PORT 10,0,0,10,3,255 //10.0.0.10:1023
501 Server cannot accept argument.

PORT 10,0,0,10,4,0 //10.0.0.10:1024
200 PORT command successful.

PORT 10,0,0,10,255,255 //10.0.0.10:65535
200 PORT command successful.


PORT 10,0,1,10,0,80 //10.0.1.10:80
501 Server cannot accept argument.

PORT 10,0,1,10,3,255 //10.0.1.10:1023
501 Server cannot accept argument.

PORT 10,0,1,10,4,0 //10.0.1.10:1024
501 Server cannot accept argument.

PORT 10,0,1,10,255,255 //10.0.1.10:65535
501 Server cannot accept argument.

どうやら
・転送先にウェルノウンポートを指定
・制御コネクションを張っているIPアドレスとは違うIPアドレスを指定
の場合、弾いているようです。


試しにこのページ(IIS を使用してサーバー間の FTP 転送を行う方法)のIIS6.0の
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSFTPSVC\Parameters\EnableDataConnTo3rdIP=1
を追加しても動作に変化はなく、IIS7.5-FTP7.5の設定を探しても見つからず・・(普通は必要なさそうですが)



ちなみに手元に環境があった、ALFTP(5.30.0.1)、3CDaemon(2.0 rev10) でも試してみましたが、
こっちは両方とも上記の8パターンが全部成功するので、PORTコマンドを制限してなさそう。
逆に制限する設定項目が見当たらず・・


vsftpdでも試してみます。
下記のサイトを見ると恐らく"port_promiscuous=[YES|NO] (Default:YES)"あたりっぽそうな感じ。

vsftpdの設定(vsftpd_conf)


参考
IIS の FTP (File Transfer Protocol) サービスに関する情報