[ PC系セットアップ覚書 Top]

PC系セットアップ覚書

2011年まで「俺的な非 UN*X 環境をめざして」という題でしたが、 「UNIX系」と「非UNIX系」の区別がだんだん難しくなってきましたので、 あれこれ区別しないことにしました(^_^;


[前] [日記] WinXP機が起動しません(-_-) 2016/03a

プロバイダのサーバにFTPできない問題 2016/01b

Webサーバにデータを送るとき、FTPなど使うわけですけど。 いつの頃からか、プロバイダのWebサーバにうまくFTPアクセスできない 状況になっていました。

 しかし sakura.ne.jp とか ninja.co.jp とかのプロバイダ外のサーバには 何の問題もなくFTP接続できてましたから、まあ、 プロバイダの「ホームページサービス」の品質が低いのかな? ‥程度に 考えていました。(プロバイダのサーバ管理者の方、勝手な勘違いをしていて すみません) しかし。

 諸般の事情ゆえ、この年末年始にプロバイダを変更して、それでようやく マシな状況になるかな? とか思っていたところ、 やっぱりプロバイダのWebサーバにFTP接続できない! これはきっとサーバの問題じゃなく、 こっちの問題だ! 実際、Webでいろいろ検索してみても、自分と同じような 悩みを抱えてる人がほとんど見当たらないし!! ‥ということで、ちょっと本腰を入れて調べてみました。

[Table of Contents]

passive 接続がダメ

 Mac使ったりWindows使ったり、コマンドライン使ってみたり、アプリ使ってみたり‥と、 いろいろ試した結果、私がおかれた状況というのは以下:

  • 基本的に FTP サーバへのログインには成功している
  • ls コマンドを打つと、その結果が帰ってこない
これって、典型的な「passive にしなさい」的状況じゃないか。でもなー、 passive なってるはずだけどなあ‥‥と思って いろいろ調べてみると、なんと。
  • passive モードを on にすると ls の結果が帰ってこない
  • passive モードを off にすると ls の結果が表示される
え?! じつはサーバは passive モードに対応してないの? いやいや。 passive モードに対応してない訳ありません。だって passive モードを off にして アクセスすると、こんな
200 EPRT command successful. Consider using EPSV.
こんなメッセージ、出てますから。「おまえ EPSV (拡張passiveモード)使えよ」と 言ってますから。それでいてpassive非対応な訳ないですよね。あれー。

[Table of Contents]

IPv6になってるから?

ここで一度深呼吸して、もう一度アクセスログに何かヒントがないか見てみます。‥あった。

ftp: Can't connect to `2400:7800:0:3003::2:75': Operation timed out
これってたぶん、lsの結果を IPv6 経由で送信しようとして失敗してる感じですよね。ひょっとして FTPサーバへのアクセスを強制的に IPv4 でするようにしたら行けるんじゃね???

ということで Macintosh のターミナルから ftp コマンドに -4 オプションをつけて アクセスしてみると‥

行ける。行けるよ!! (^o^)

[Table of Contents]

FireFTP on Mac の設定

ということで、自分が契約中のプロバイダのWebサーバにアクセスする際には、 どうやら強制的に IPv4 でアクセスすればいいらしい、とわかったんですけど。 でも私がふだんMacintosh上で使っている FireFTP は、設定項目の中に IPv6 の チェックボックスがあって、そのチェックを外していれば問題ないはずなんじゃね?? とも思うんですけど。いまいちこれがちゃんと機能してないのかな?

そこで [ FireFTP のヘルプ ] の "Troubleshooting (トラブルシューティング)" の "I can't get it to work on Windows Vista/Windows 7!" (Windows Vista/7 でうまく動かないんだけど) の項目への答えを見ると、こんな感じ(大雑把訳):

Windows Vista/7 への対応はまだ不十分だ。とりあえず Noel Briggs 氏による対処法: 「Firefox の設定をいじる。アドレスに about:config と入力すると表示される設定画面で、 network.dns.disableIPv6 の値がたぶん false になっているはずだが、それを true に すれば動くよ」を実行してみて。
こんな感じのことが書かれてましたので、まあ MacOSX El Capitan ですけど、 これを実行してみたところ、おお! うまく動くようになりましたよ!! (^o^)

[Table of Contents]

Windows10 でも

んで、たまに FFFTP on Win10でも 同様な理由で Webサーバに FTP アクセスできないことが あるみたいです。

そのときのメッセージ(右図)を見てみると、

接続できません. (TCP/IPv6)
と書いてますからね。こんなときは、とりあえず接続を強制的に IPv4 にしてみましょう。

 具体的には‥ 「接続」すると表示される「ホスト一覧」、そこからホストを選んで「接続」‥ではなく、 右側にある「設定変更」を選択。その設定画面から「拡張」タブを選択して、 設定項目の左下にある「ネットワークの種類(N)」。これを「TCP/IPv4」にすると 接続できるようになるはずです。少なくとも私はこれでうまくいきました。

でも、なんで IPv6 でうまくいかないのか? という肝心のところは現状ではよくわかりません。 とりあえず動くようになったから いいか、という感じです。

(それとあと。今契約してるのが「ぷらら」なんですけど、場合によっては 「パケットフィルタ」の設定も変更する必要があるかもしれません。 上記の結果は「レベル0 (OFF)」な状態での結果です。)



[次] Emacs on El Capitan 2016/01a