質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
FTP

FTP(File Transfer Protocol)は、ネットワークでのファイル転送を行うための通信プロトコルの1つである。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

Windows Server

Windows Serverとは、Microsoft社のサーバ用オペレーティングシステムの総称です。 企業内ネットワークなどで利用されるサーバ機へ導入することを想定して開発されているため高い安定性があり、 管理機能を提供するソフトウェアが多く含まれています。

Q&A

解決済

1回答

2423閲覧

WindowsServerからのFTPでアップロードが急に出来なくなった

hatsuzo

総合スコア56

FTP

FTP(File Transfer Protocol)は、ネットワークでのファイル転送を行うための通信プロトコルの1つである。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

Windows Server

Windows Serverとは、Microsoft社のサーバ用オペレーティングシステムの総称です。 企業内ネットワークなどで利用されるサーバ機へ導入することを想定して開発されているため高い安定性があり、 管理機能を提供するソフトウェアが多く含まれています。

0グッド

0クリップ

投稿2021/05/07 00:18

いつもお世話になっております。

WindowsServer(2012)から、OS400上にファイルをアップロードする処理をタスクスケジューラで動かしています。
この処理がGWを挟んで突然動かなくなりました。
原因がよく判らないのですが、OS400上で排他処理をかけている時間帯にその処理が起動されたことから、当初はそれが原因かと思っていたのですが、OS400側のFTPサーバーの再起動を実行した後も同じ現象が起こるため、OS400側の原因では無さそうなことが判ってきました。

Windows10のクライアント上から同じファイルをアップロードしてみたところ、正常に動作し、別のWindowsServer(2012)でも正常に動作するため、このサーバー上の固有の現象かと思われます。

ネットワーク上のファイヤウォール設定はルータ上で施していますが、特に変更は行っていません。
また、業者に相談したところ、WindowsServerとOS400のサーバーは同じネットワーク上にあるため、ルータのセキュリティポリシーの影響は受けないはずとの見解を受けました。ちなみにFTPのポート(20,21)は開けています。FTPサーバー自体には正常にログインできており、なぜかOS400上へのリモートコマンドは正常に動作していますが、PUTコマンドだけが動かないようです。

エラーは下記のように出ています。
ftp>PUT d:\edi\wrk\header.txt header
200 PORT SUBCOMMAND REQUEST SUCCESSFUL
425 NOT ABLE TO OPEN DATA CONNECTION

WindowsFirewallの設定によるものなのでしょうか?
対象となるWindowsServerは、WindowsUpdateも止めていますので、環境の変わることは無いと思っていました。
同じような現象に遭遇された方がおられましたら、情報を頂けると幸いです。
よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jbpb0

2021/05/07 05:03 編集

> PUTコマンドだけが動かないようです。 他のコマンド、たとえば「pwd」とか「dir」とか「cd」とかは、正常に実行できるのでしょうか?
hatsuzo

2021/05/07 05:50

jbpb0さん コメントありがとうございます。 PUTコマンドだけ、と書きましたが、LSとかPWDは固まりますね。 QUOTEコマンドは効きます。
jbpb0

2021/05/07 07:50 編集

> FTPのポート(20,21)は開けています。 ここらへんに書いてあるように、ftpのモードがアクティブかパッシブかで、クライアントとサーバーのそれぞれの使われるポートが変わるので、そこをブロックしてないか確認することをお勧めします https://naoberry.com/tech/ftp-active-pasv/ https://www.infraexpert.com/study/tcpip20.html http://www.nina.jp/server/basic/ftp.html > OS400上へのリモートコマンドは正常に動作していますが、PUTコマンドだけが動かない 制御用の通信はできてるけど、データ転送用の通信ができてないようですね 可能ならば、WindowsServerにパケットを調べるアプリを入れて、ftpコマンドを起動してからエラーが出るまでの間に、どちらのどのポートから相手のどのポートにパケットが送られてるのか、を調べると、原因が分かるかもしれません
jbpb0

2021/05/07 07:33

https://blog.putise.com/windows%e3%81%aeftp%e3%82%af%e3%83%a9%e3%82%a4%e3%82%a2%e3%83%b3%e3%83%88%e3%81%a7%e3%81%afpasv%e3%83%a2%e3%83%bc%e3%83%89%e3%81%a7%e3%81%af%e6%8e%a5%e7%b6%9a%e3%81%a7%e3%81%8d%e3%81%aa%e3%81%84/ https://blog.putise.com/ftp%E9%80%9A%E4%BF%A1%E3%81%8C%E3%82%A2%E3%82%AF%E3%83%86%E3%82%A3%E3%83%96%E3%83%A2%E3%83%BC%E3%83%89%E3%81%8B%E3%83%91%E3%83%83%E3%82%B7%E3%83%96%E3%83%A2%E3%83%BC%E3%83%89%E3%81%8B%E7%A2%BA/ によると、Windowsに添付されているftpコマンドは、アクティブモードしかサポートしてないようです 一つ前に書いた参考Webサイトの解説に書かれてるように、アクティブモードではクライアントがデータ転送で使うポートの番号は、かなり大きなものになります そこをブロックしてませんでしょうか?
hatsuzo

2021/05/07 08:54

jbpb0さん コメントありがとうございます。 私も同じような記事を見ました。 アクティブモードとの切替のできるフリーソフトで置き換えようとも思ったのですが、バッチに組み込むとなるとパラメタを作り直したり、結果の検証もしないといけないので諦めました。 アクティブモードだとPUTの場合、送信だけでなく、受信側にもパケットが送られるという情報があったので、Windowsファイヤウォールで、受信側の規則として、ftp.exeの許可というルールを追加してみたところ、なんとか動きました。 なぜ突然こんな状況になったのかはよく判りませんが、数回試してみたところ、うまくいっています。 書かれているのはこういうことなのでしょうか? 情報を頂きまして有難うございます。
jbpb0

2021/05/10 10:54

> Windowsファイヤウォールで、受信側の規則として、ftp.exeの許可というルールを追加してみたところ、なんとか動きました。 exeに許可を出せば、ポート番号によらず通信できるので、それが確実ですね
hatsuzo

2021/05/10 23:43 編集

コメントありがとうございます。 いまのところうまくいっているのでひとまず安心しました。 他にも同じやり方で行っている処理があるのですが、このサーバーでのみ現象が起きたのか判らないままなので不思議です。WindowsUpdateは行っていないつもりでしたが、バックアップソフトのバージョンアップに伴い、バックアップ対象としてエージェントをインストールした影響かと思われます。
guest

回答1

0

自己解決

すみません。回答という形で頂いていないので、ベストアンサーが選択できないため、自己解決という形でクローズさせて頂きます。

アクティブモードだとPUTの場合、送信だけでなく、受信側にもパケットが送られるという情報があったので、Windowsファイヤウォールで、受信側の規則として、ftp.exeの許可というルールを追加してみたところ、なんとか動きました。

なぜ突然こんな状況になったのかはよく判りませんが、数回試してみたところ、うまくいっています。
書かれているのはこういうことなのでしょうか?
jbpb0さん、情報を頂きまして有難うございます。

投稿2021/05/13 03:33

hatsuzo

総合スコア56

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問