ftpにはEPSV,EPRTというのがある

NATでサーバを公開している設定をしていて、passiveモードが通らないのでルータのサポートに聞たら。。ルータでEPSVをサポートしてない事を知る。クライアントの設定変更をお願いするのは難しそうなので、サーバーが側でEPSVをサポートさせない変更を行った方が良いだろう。EPSVはPASVモードの拡張らしい。
FreeBSDの/usr/libexec/ftpdの場合は-Eを入れればOK. トラブルシュート方法としては、ftpクライアント側でepsv4 offを送る。少なくともFreeBSDftp, MacOSXftpはEPSVをデフォルトで使えるか試すようだ。で、サーバーは使えると答え、NATルータは使えなくて、結果としてハマル。
今まで、FTP-natで苦労した原因がこれだったのかもしれない。