• ベストアンサー

ftpサーバーのデータ転送について

ftpサーバーからクライアントへのデータの転送は可能だったのですが ftpサーバーへクライアントからのデータの転送が叶いません いろいろしらべ回ったかぎり原因はパッシブモードを使用する際の 1024番以上の任意のポートの開放を行っていないためだということがわかりました そのため"vsftpd.conf"に #passive pasv_enable=YES pasv_min_port=10100 pasv_max_port=10150 を追加してvsftpdを再起動したのですが ポートを確認してもそれ等は解放されておらず データの転送もできませんでした 何が間違っているのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.1

FTPはいろいろと面倒な場合があるんですけどねぇ……。 >pasv_enable=YES >pasv_min_port=10100 >pasv_max_port=10150 >を追加してvsftpdを再起動したのですが >ポートを確認してもそれ等は解放されておらず 実際のデータ転送が始まるまで、netstatしてもオープンと表示されることは無かったかと思われますが…。 故に、外部のポート開放チェックとか使っても閉じている。と判定されるかと思われます。 ・FTPサーバはルータの内側(該当サーバ機のiptables以外のファイヤーウォールの内側)にあるのか? ・ルータ(ファイヤーウォール)はFTPのコマンドポート(21番)を監視しているものではないか? ・pasv_addr_resolveオプションやpasv_addr_resolveオプションの設定は? ルータによっては、コマンドポートのパケットを監視していて、PASVコマンドに記述されているIPアドレスとポート番号を書き換えてクライアントに送信するモノがあります。 ローカルIPアドレスをグローバルIPアドレスに書き換えてくれるだけなら問題はない(というかこっちは必須かな)、ポート番号まで書き換えた場合に クライアントからの接続を正しく中継できない。なんてことが発生する場合があります。 # 書き換えた結果、クライアントにそうしされる接続ポートが別のモノになる。 # ルータがちゃんとポート番号変換して接続してくれれば問題ないハズなんですが…。 サーバ側とクライアント側でパケットキャプチャして、コマンドポートの内容がどうなっているのか確認する。というのもありでしょう。 # 監視&書き換えを行っていることを明示していないモノもありますし。 ルータの製造元に問い合わせる。というのも、まぁアリでしょうかね。 「LAN内部にFTPサーバを構築してWAN側からアクセスする際に問題はあるか?」みたいな。 まぁ、FTPSにしない限り経路の途中でパケット盗聴されるとユーザー名とパスワードが漏れますから…「FTPは使わずにSFTP(SSH)を使う」とかいうのが ある意味で主流…なんですかね。 # ウチの自宅サーバも必要があればSFTPで。 # LAN内だとFTPも使いますけどね、手軽だから。(LAN内でもSFTPってのが増えてるかなぁ)

参考URL:
http://www.aconus.com/~oyaji/router/ftp.htm

その他の回答 (1)

noname#259146
noname#259146
回答No.2

ネットワーク環境が不明なので正しい回答ができませんが、多分ftpサーバー側の問題です。 ftpサーバー側のルータのパッシブモードで使うポートを解放してください。 クライアント側のルータは通常変更することはないですが、サーバ側は追加したサーバソフトが使うポートは開けないといけません。

関連するQ&A

  • FTPサーバー構築

    CentOS6.6をVmwarePlayer上にインストールし Linuxの学習をしていますが、FTP(CentOS標準のvsftp)サーバーがうまく動作しません。 構築手順は以下となります。 (1)vsftpインストール [root@localhost home]#yum instarll vsftpd (2)パッシブモード許可設定 [root@localhost home]#vi /etc/vsftpd/vsftpd.conf (3)vsftpd.confの最終行に以下を追加 pasv enable=YES pasv_min_port=10100 pasv_max_port=10150 (4)SELinux無効設定 [root@localhost home]#vi /etc/sysconfig /selinux SELinux=enforcingを SELinux=disabledに変更 (5)vsftpd起動 [root@localhost home]#service vsftpd start vsftpd 用の vsftpd を起動中: [ OK ] と表示される。 (6)FTPサーバーにアクセス [root@localhost home]#ftp localhost -bash: ftp: コマンドが見つかりませんと表示される。 なぜでしょうか?

  • FTPでのパーミッション初期値の設定??

    server:さくらの専用サーバ OS:CentOS4.5 FTPサーバ:vsftpd 上の環境で、初めてvsftpdをインストールしました。 クライアントから問題なく接続アップロードできていますが、 パーミッションの初期値が「644」になってしまいます。 初期値を「775」でアップロードしたいのですが、 これはvsftpdの設定で変更するのでしょうか? ユーザーは、 testuserで/home/testuser/にアクセスしています。 vsftpd.confは、 ------------- #chown_uploads=YES #chown_username=whoever #xferlog_file=/var/log/vsftpd.log xferlog_std_format=YES idle_session_timeout=600 data_connection_timeout=120 #nopriv_user=ftpsecure #async_abor_enable=YES ascii_upload_enable=YES ascii_download_enable=YES ftpd_banner=Welcome to blah FTP service. #deny_email_enable=YES #banned_email_file=/etc/vsftpd.banned_emails chroot_list_enable=YES chroot_local_user=YES chroot_list_file=/etc/vsftpd/chroot_list userlist_enable=YES userlist_deny=NO userlist_file=/etc/vsftpd/user_list user_config_dir=/etc/vsftpd/vsftpd_user_conf ls_recurse_enable=YES pam_service_name=vsftpd listen=YES tcp_wrappers=YES use_localtime=YES #pasv_enable=YES #pasv_address=***.***.***.*** #pasv_addr_resolve=YES #pasv_min_port=60000 #pasv_max_port=60030 ※pasvモードだとうまく接続できないので設定してません。 どなたかよろしくお願いします!

  • ftpサーバーのポートが21番はどこにあるのでしょうか?

    /etc/vsftpd/vsftpd.confを見る限り41行あたりに connect_from_port_20=YESがありますが、 クライアントから実際に指定しているのは21番です。 サーバーのポートをnetstat -lnp で みても21番になっています。 ftpサーバーのポートが21番はどこにあるのでしょうか? 因みにこれはFedora Core2です.

  • PASVモード、filezillaでアクセス不可

    いつもお世話になります。 vsftpdのパッシブモードで、FileZillaでFTPS形式でアクセスしようとしたところ 下記エラーが表示されます。(ポートは30020番を指定) FileZillaでサイトマネージャーの転送設定はパッシブにしてあります。 ======================================================================== 状態: 192.168.1.xx:30020 に接続しています... 状態: "ECONNREFUSED - Connection refused by server" への接続に失敗しました, エラー: サーバーに接続することができませんでした ======================================================================== なお、ポート指定しない場合(通常のFTPS)はFTPサーバ(vsFTPd)に繋がります。 vsFTPdの設定は以下の通りです。 ===============================vsFTPコンフィグ============================= # vi /etc/vsftpd/vsftpd.conf anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES xferlog_std_format=YES connect_from_port_20=YES ascii_upload_enable=YES ascii_download_enable=YES ls_recurse_enable=YES chroot_local_user=YES chroot_list_enable=NO # chroot_list_file=/etc/vsftpd/chroot_list listen=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES #FTPS ssl_enable=YES rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem force_local_logins_ssl=YES force_local_data_ssl=YES #TimeOut(60分に変更) data_connection_timeout=3600 idle_session_timeout=3600 #vsftpd の設定(パッシブ FTP) pasv_enable=YES pasv_max_port=30020 pasv_min_port=30021 ======================================================================== 以上です。 ご教授の程よろしくお願い申し上げます。

  • CentOS5.3 FTPサーバー

    vsftpdで、FTPサーバーを構築しているんですけど、FTPで接続の構築をしているんですけどFTPサーバーのvsftpd.confの設定を終えてから接続するとアクセスが拒否されましたとでます。現在使っているクライアントFTPソフトはWinSCPを使っています。最終的にはホームページビルダーの付属ファイル転送ソフトで接続したいと思っています。 vsftpd.confの設定の中身です。 anonymous_enable=no local_enable=YES write_enable=YES local_umask=011 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_file=/var/log/vsftpd.log xferlog_std_format=YES idle_session_timeout=3600 data_connection_timeout=3600 chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list listen=YES 追加した部分の設定は pam_service_name=vsftpd userlist_enable=NO tcp_wrappers=YES userlist_deny=NO userlist_enable=NOです。 その他は/etc/vsftpd/chroot_listはユーザーアカウントで作成したのを入力しています。ここだけができなくて困っています。アドバイスをお願いします。Webサーバーは問題なくできました。FTPサーバーのポートは開放しています。よろしくお願いします。

  • FTPのパッシブモードの設定がうまくいきません

    FTPのパッシブモードの設定をしたいのですが、うまくいきません。 FTPサーバはvsftpdです。 vsftpd.confに次の設定はしました。 ------------------------------ pasv_addr_resolve=YES pasv_address=WANのアドレス pasv_min_port=60000 pasv_max_port=60099 ------------------------------ /etc/sysconfig/iptables-configに ------------------------------ IPTABLES_MODULES="ip_conntrack_ftp" ------------------------------ を設定しました。 lsmodで nf_conntrack_ftpがロードされているのを確認しました。 ルーターはNTTのRT-200NEで、 静的IPマスカレード設定で上記のTCP:21とTCP:60000-60099をFTPサーバのアドレスに設定しました。 iptables でも上記のポートは許可しています。 パソコンおやじさんのFTPサーバテストでPASVモードで接続テストを行いました。 http://www.aconus.com/~oyaji/ftp_tst/ftp_tst.htm すると、60101とかpasv_max_portで設定した値より上のポートで接続しようとしてタイムアウトになるようです。どうやら、ルーターで設定した値の少し上のポートで接続をしようとするようです。ルーターの設定を変更すると、ポート番号がそれにつれて変更します。 環境は OS: Fedora Core 6 FTPサーバ: vsftpd (Fedora Core 6に付属のものをアップデートしたもの) ルーター: NTT RT-200NE 回線: Bフレッツ (固定IP) どなたか、解決策をご存知の方教えていただけないでしょうか? よろしくお願いいたします。

  • vsftpでのFTPS接続

    CentOS:7.4 にて、vsftp 3.0.2 を導入しています。 FTP接続は出来て接続とファイル転送が出来るのですが、 FTPS接続ですと、次のエラーが発生してファイル転送ができません。 必要なポート(21番及び40000 - 40100 番)はファイアウォールで 許可設定しています。 Mon Oct 22 10:30:13 2018 [pid 2827] [ユーザ名] DEBUG: Client "xxx.xxx.xxx.xxx", "Connection terminated without SSL shutdown - buggy client?" Mon Oct 22 10:30:13 2018 [pid 2839] [ユーザ名] FTP response: Client "xxx.xxx.xxx.xxx", "421 Timeout." 次はvsftp.conf の設定です。 --- # egrep -v "(^$|#)" /etc/vsftpd/vsftpd.conf anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES log_ftp_protocol=YES connect_from_port_20=YES xferlog_file=/var/log/vsftpd.log xferlog_std_format=NO idle_session_timeout=10 data_connection_timeout=10 listen=YES listen_ipv6=NO pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=NO userlist_deny=NO userlist_file=/etc/vsftpd/enable_user_list pasv_enable=YES pasv_min_port=40000 pasv_max_port=40100 use_localtime=YES force_dot_files=YES chroot_local_user=NO local_root=/home/$USER user_sub_token=$USER log_ftp_protocol=YES ssl_enable=YES rsa_cert_file=/etc/certs/ワイルドーカード証明書 rsa_private_key_file=/etc/certs/ワイルドーカード証明書の鍵 ssl_sslv2=NO ssl_sslv3=NO ssl_tlsv1=YES ssl_ciphers=HIGH allow_anon_ssl=NO allow_writeable_chroot=YES force_local_data_ssl=NO force_local_logins_ssl=NO require_ssl_reuse=NO --- "Connection terminated without SSL shutdown - buggy client?" というエラーに遭遇し、解決された方がいらっしゃればご教授いただけませんか。

  • vsftpd 大量転送で時たま途中でエラー

    vsftpd で数千のファイルをサーバー(CentOS 5)にアップロードしようとすると、 大抵の場合、途中でエラーになります(解凍したMT5やphpBB3を転送して試しました)。 (エラーにならない場合もあります。しかし殆どの場合エラーになるのです) なお、普通の数のアップロードだとエラーにはならない。またダウンロードは正常のよう。 ・FFFTPの場合は「PASVモードで接続できません」と出る。 ・FileZilla場合はエラーにならないが途中で0byteの同じファイル名のものが現れ、それに上書きしますか?と出る。 ※ともにFTPのクライアントソフトは最新版です。 ※スタンドアロンではなくXinetdで起動させています。 ----Xinetdの設定ファイルはこうなっている------------------- service ftp { socket_type = stream wait = no user = root server = /usr/sbin/vsftpd server_args = /etc/vsftpd/vsftpd.conf nice = 10 disable = no flags = NOLIBWRAP } ------------------------------------------ ※Vsftpdのバージョン→ vsftpd-2.0.5-16.el5_5.1 vsftpd.confの記述は以下のとおり ------------------------------------------ pasv_enable=YES pasv_addr_resolve=NO pasv_address=***.***.***.*** #***にはアップロード先のサーバIP idle_session_timeout=600 data_connection_timeout=300 userlist_enable=NO pam_service_name=vsftpd connect_from_port_20=YES dirmessage_enable=YES local_umask=022 force_dot_files=YES anonymous_enable=NO local_enable=YES write_enable=YES xferlog_enable=YES xferlog_file=/var/log/xferlog xferlog_std_format=YES ascii_upload_enable=YES ascii_download_enable=YES ftpd_banner=ProFTPD Server (ProFTPD) chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list ls_recurse_enable=YES listen=NO tcp_wrappers=NO use_localtime=YES pasv_min_port=60000 pasv_max_port=60030 ssl_enable=YES force_local_data_ssl=NO force_local_logins_ssl=NO rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem ------------------------------------------ <やってみたこと> pasvのポートを60000~65000や65000~69000にしても駄目だった。 idle_session_timeout=1800 data_connection_timeout=1800 (こうしても駄目だった) pasv_addr_resolve=YES pasv_address=***.***.***.*** (上のようにNOをYESにしたり#コメントしたりしてみても駄目だった) ノートンのファイアーウォールがFFFTPで「自動」になっていたので「許可」にしてみたが駄目だった。 ------------------------- <他の人の似た症例> http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=46205&forum=10 上記URLの最後にLDAPを使っていたためPAM認証がうまくいかなかったと回答してる人がいたので、下記コマンドをしてみた。 $ /etc/init.d/ldap status slapd は停止しています という結果だった。またLDAPの事は良く分からないがLDAPで過去に何か設定したことは一切ない(LDAP自体はサーバに存在しているようだが)。 また、/etc/pam.d/vsftpdは何も触っていない。 http://www.imamura.biz/blog/srv/283 (上記URLにも似た症例があるが全く解決していないそうだ) /var/log/secure また、↑など見てみたがログインしたときなどにエラーは出ていなかった。 上記のように様々な調べをしてみたが情報が足りていないため解決しませんでした。 解決方法を教えてください。 なお、ProFTPDにしたら解決するのでは?というご返答は必要ありません。 Vsftpdで利用したいのです。 何とか、解決に導けないでしょうか? 大変困っています。ご返答お願い申し上げます。

  • FTPサーバ間でのデータ転送について

     FTPサーバ間でファイルやりとりしたいなと思って調べていたら、PASVモードを上手く使えば できるようなことをネット上に書いてありました。 http://www.atmarkit.co.jp/fnetwork/rensai/netpro11/netpro01.html  ただ、具体的な方法論まで書いたページを見つけられず。。 もし識者の方がいれば教えて欲しいのですが、次のようなことは可能でしょうか。 ●目的「LAN上のFTP機能があるNASから、単独でネット上のFTPサーバとデータのやりとりをしたい」 ファイヤウォールのあるルータの下にFTPサーバ機能がついたNASがあります。 LAN内に外部に公開しているFTPサーバはありませんので、ルータのポートは自由にあけれます。 可能ならば、おそらく、WAN上のFTPをPASVモードにして、そこに繋ぎにいくという形になるのかなという気はしています。  可能な場合、以下について教えていただけると嬉しいです。 ・どのようなソフトを使って実現すればいいでしょうか。  TELNETでやる場合、どのようなコマンドを送ればいいでしょうか? (linux、Windowsどちらのソフトでも構いません。  転送中常時起動が必要なソフトならばlinuxのものだと嬉しいです) ・ルータのポートは空けないといけないものはあるでしょうか。 よろしくお願い致します。

  • vsFTPD トップ(/)が表示できない

    お世話になります。 ご存知の方がいらっしゃいましたらご教授の程よろしくお願いします。 (1)下記の設定で、vsFTPDを実行したところ、 ユーザでログインすると上の階層まで見えてしまいます。 googleで検索したサイトの記載通り行いましたが、 上の階層が見える現象は変りませんでした。 (2) 停止中に「失敗」する。 svFTPdデーモンをリスタートすると停止中に「失敗」します。 再起動 [root@localhost ~]# /etc/rc.d/init.d/vsftpd restart vsftpd を停止中: [失敗] vsftpd 用の vsftpd を起動中: [ OK ] ================================== /etc/vsftpd/vsftpd.conf anonymous_enable=NO idle_session_timeout=300 data_connection_timeout=30 ascii_upload_enable=YES ascii_download_enable=YES #■chrootの設定 chroot_list_enable=YES chroot_local_user=YES chroot_list_file=/etc/vsftpd.chroot_list ls_recurse_enable=YES pam_service_name=vsftpd userlist_enable=NO tcp_wrappers=YES xferlog_std_format=NO use_localtime=YES pasv_promiscuous=YES pasv_min_port=50000 pasv_max_port=50030 #■ vsftpd で local_root = public_html ■ local_root = public_html ================================== ftpログインしたユーザには上位の階層は見せたくないと考えております。 よろしくお願いします。