web-dev-qa-db-ja.com

ルーターのポート転送ルールでMySQLサーバーにアクセスできないのはなぜですか?

これは私のセットアップです(とにかく、関連する部分):network

関連するすべてのポートに対して(Linksysで)ポート転送ルールを設定し、そのルーターを複数回再起動しました。そのたびに、それが機能する魔法になることを期待しています。ポート転送ルールを削除してから、再度追加してみました。まだ行きません。

ラップトップから、ポート:80と:8080、およびWindows 7ボックスのカウンターストライクサーバーを介してNAS(QNAP)にアクセスできます。したがって、これらの転送ルールが機能することを知っています(およびさらに重要なのは、クライアントがブリッジしたdd-wrtがそれらに干渉していないことです)。

次の方法でMySQLサーバーにアクセスできます。

  1. nAS上で実行されているphpMyAdminを介して認証されたユーザー
  2. windows7マシンのローカルクライアントを介して認証されたユーザー

3306を192.168.1.101に転送したにもかかわらず、ラップトップからMySQLサーバーにアクセスできません(サーバーの構成済みポートを複数回チェックしました。3306です)。次の方法で接続しようとすると、タイムアウトするようです。

mysql -h 192.168.2.103 -u gnucash_admin

試行すると2003エラーが発生します。

mysql -h 192.168.2.103

nmap -sT 192.168.2.103は3306の結果をまったく返しません。

追加情報

ラップトップ上のホスト

192.168.2.103 home.fakedomain.loc

Windows 7のホスト

192.168.1.101 home.fakedomain.loc

注:実際のドメインやネームサーバー、LDAPなどはありません。すべてhostsファイルを介して行われます。上記を試すとき、私はIPと名前の両方で試しました。

更新

ラップトップから、次の方法で接続できません。

telnet 192.168.2.103 3306

ラップトップからsshポート転送を介してmysqldbにログインできます(192.168.1.xサブネット上の別のマシンにトンネリングします)。

更新

そこで、NASとルーターの間にハブを接続し、Raspberry Piをハブに接続しました(RPiで実行するとすべてがクールになるため)。次に、RPiにSSH接続しました。走る:
tcpdump -nS dst port 3306
データベースに向かう他のトラフィックを見ることができますが、(ラップトップから)実行すると:
mysql -h 192.168.2.103 -u gnucash_admin -p
RPiには何も表示されません。そこで、nmapスキャンを再実行しました(nmap -sT -p3306 192.168.2.103)今回は、tcpdumpが実行されていますが、RPiには何も表示されません。

したがって、他のトラフィックが正しく転送されているのに、なぜポート3306が(転送ルールが設定された状態で)フィルタリングされるのかという疑問が生じているようです。

私が気付いたもう1つの奇妙な点は、tcpdump(宛先ポート3306)で見た他のdbトラフィックの送信元ポートが51883であったことです。私はTCPの男ではないので、奇妙に思えました。 。送信元ポートはこの問題に関係がありますか?

誰かが私が欠けているものを見ますか?

2
Allen

それで、これをあきらめた後(私は、sshトンネルを開始し、プログラムを開始し、プログラムが終了したときにトンネルを閉じるスクリプトを作成することになりました)、今夜ルーターにいて、問題を見つけました。

3306が正しく転送されるべきではないという明白な理由がなかったという事実に私はとてもイライラしました。その理由は、私がそれを他の場所に転送したからです。私はかなり複雑なネットワークを持っており(ほんの一部しか示していません)、ポート転送を介して多くの内部サービスを公開しています。有線Linksysには転送ルール用のスロットがいくつかあるので、それを回避するために、範囲を転送しました。 IMAPとGlassfishは同じサーバー上にあるため、143-4848をそれらのサーバーに転送しましたが、MySQL(3306)は別のサーバー上にあります。 <額をスマック>

0
Allen