web-dev-qa-db-ja.com

ファイアウォールルールにもかかわらずGoogle Cloud Compute Engineが接続を拒否する

Debianを実行しているGCEインスタンスにVNCサーバーをセットアップしようとしています。通常はSSHで接続しますが、他の使用例ではグラフィカルインターフェイスが必要です。私はこのような非常に基本的なファイアウォールルールを持っています enter image description here

しかし、netcatを使用してポート5901の外部IPをチェックすると、接続が拒否されます。 22のようなポートのチェックは機能しますが、他のポートはどれも接続できません。ここにステップがないのですか?

6
master565

問題に関連する最も一般的な問題は、アプリケーション/サーバーがlocalhostまたは127.0.0.1用に構成されていることです。これは、ローカルマシンでのみ接続を受け入れることを意味します。 0.0.0.0でバインドする必要があります。これは、利用可能なすべてのネットワークでリッスンすることを意味します。

パブリックネットワーク(システムの外部)から接続する場合、Connection refusedは誰も聞いていないことを意味します。これはファイアウォールルールの問題ではなく、エラーメッセージは接続がブロックされていない(応答がない)か、拒否されている(アクセスが拒否されている)かを示しているためです。

SSH経由でインスタンスに接続します。次に、このコマンドを実行します:netstat -a。ポート番号でLISTENINGと書かれている行を探します。次に、IPアドレスを確認します。 127.0.0.1と表示されている場合は、これが問題です。 LISTENING状態のポート番号が表示されない場合、そのポートで待機しているプロセスはありません。

3
John Hanley