Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

vsftp サーバーで複数のポートで待受することはできますか?

解決したいこと

Windows サーバー上にある FTP サービス(IIS)を CentOS(vsftp)に移行しようと考えております。IIS のログを確認したところ、21番ポート(PORT)と1024番ポート(PASV)で待ち受けしていることがわかりました。

※IIS の設定(サイト バインド)

種類 ホスト名 ポート IP アドレス バインド情報
ftp 21 *
ftp 1024 *

vsftp の設定で複数の待受ポートを設定することはできますでしょうか。
※環境としまして FTP クライアントは全国に200箇所以上にあり、かつ特殊な器械で場所も僻地にある為、FTP クライアント側の設定変更は現実的ではありません。

VSFTP の設定

/etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/xferlog
xferlog_std_format=NO
log_ftp_protocol=YES
dual_log_enable=YES
syslog_enable=NO
vsftpd_log_file=/var/log/vsftpd.log
ascii_upload_enable=YES
ascii_download_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
allow_writeable_chroot=YES
ls_recurse_enable=YES
listen=YES
listen_ipv6=NO
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf
pasv_enable=YES
pasv_addr_resolve=YES
pasv_address=HOSTNAME
pasv_min_port=1024
pasv_max_port=5000
use_localtime=YES
force_dot_files=YES

自分で試したこと

listen_port=21,1024 や listen_port=21;1024 や listen_port=21 1024 を設定してみました。

0

1Answer

PASVモードがどういう動きをするかを調べて見てください。

pasv_enable=YES
pasv_min_port=1024
pasv_max_port=5000

となっているので、23と1024~5000を使用することになっています。

ISSの設定が1024のみであるのであれば(同時に1接続しかしないのであれば)

pasv_min_port=1024
pasv_max_port=1024

とすればよいのではないでしょうか?

0Like

Comments

  1. @totorotonarino

    Questioner

    回答ありがとうございます。

    IIS では 21番でもファイルを受け取り、1024番でもファイルを受け取っています。一部抜粋したログです。

    | s-port | cs-method | cs-uri-stem |
    |:-----------|------------:|:------------:|
    | 1024 | ControlChannelOpened | - |
    | 1024 | USER | UserNAme |
    | 1024 | PASS | *** |
    | 1024 | TYPE | I |
    | 1024 | MKD | /AAA |
    | 1024 | PASV | - |
    | 52517 | DataChannelOpened | - |
    | 52517 | DataChannelClosed | - |
    | 1024 | QUIT | - |
    | 1024 | ControlChannelClosed | - |
    | 21 | ControlChannelOpened | - |
    | 21 | USER | UserName |
    | 21 | PASS | *** |
    | 21 | SYST | - |
    | 21 | TYPE | I |
    | 21 | CWD | /AAA |
    | 21 | PORT | 172,16,0,100,232,193 |
    | 20 | DataChannelOpened | - |
    | 20 | DataChannelClosed | - |
    | 21 | QUIT | - |

  2. 本当に2ポートで待っているんですね。
    こういう運用はしたこと無いのでわかりませんが、
    listen_port=21なvsftpd.conf と
    listen_port=1024なvsftpd2.conf を作って
    2つ起動してみるとかでしょうか?
    中途半端に口を出してしまって、申し訳ありませんでした。

Your answer might help someone💌