外部システムを介してmysql接続パスをリセットする

外部システムを介してmysql接続パスをリセットする

(外部mysqlプロキシに向けた最初のステップとして)mysqlのローカル接続(仮想マシン上)から外部プロキシ(ホスト上)にトラフィックを再ルーティングし、再度仮想マシンにルーティングしてからmysqlサーバーに提供したい。 。私が操作したい唯一のことは、主にwebappから独立したmysql設定(使用されたポート)なので、この設定を使用します。

おおよそ次のようになります。

MYSQLClient
  |
 :4446 incoming connection on port of guest (1)
  +--------------:3305+ rerouted to host (2)
                      |
  +:8888--------------+ which then routes it back to the guest (3)
  |
 :4444 which is then routed to the MYSQLServer port (4)
  |
 MYSQLServer               

私は別の段階で使用しました

(1)   nc -k -l -v 4446 | nc 192.168.72.1 3305
(2/3) nc -k -l -v 3305 | nc 192.168.72.128 8888
(4)   nc -k -l -v 8888 | nc localhost 4444

ポート4444でリッスンするようにmysqlを設定しました。設定ファイルへの変更を最小限に抑えるために外部接続を受け取るようにmysqlを設定し、mysqlが作成された接続がlocalhostから来たと思うようにすることもできますが、(4)を維持したいと思います.

それでは、私が経験した問題について話しましょう。

  • 任意のコマンド順序は使用できません。逆の順序を使用する必要があります。そうしないと、接続が確立されず、データを送信しようとするとすぐに切断されます。ゲストが起動する時間を測定することは不可能に見えるため、この設定を自動化しようとすると大きな面倒になります。

  • mysqlでは動作しません。しかし、mysqlserverポートのncを省略すると、Telnetが機能します。ただし、この方法では、Telnetを使用して接続しようとすると(4)が中断されます。 mysqlクライアントに接続すると、まったく効果がなく、明らかに機能しません。接続が確立されず、mysqlパスワードを入力した後は何も起こりません。

この設定を考えると、私は完全にクレイジーですか?そうでなければ、どのように(実際に)動作させることができますか?

CNC を含まず、第 1 段落で説明した全体的な問題を解決するソリューションは、CNC 設定を変更するのと同じくらい喜ばれるでしょう。上記の質問は、現在のソリューションについてのみ説明しています。

答え1

ガンディール比較するCNCポートをリダイレクトするために使用されます。

nc は軽量で使いやすいテストに適していますが、より厳しい使用のためには redir がより適しています。補助ツールがなく、より複雑な設定(例:シネット

redirはまた、独自の再試行/エラー処理を介してあるTCPポートを別のポートにリダイレクトする優れたタスクを実行する非常に軽量なツールです。

TCPポートリダイレクトにredirを使用する

システムの IP アドレスが 1.1.1.1 で、ポート 80 のすべてのトラフィックを IP アドレス 2.2.2.2 およびポート 8080 を使用するリモート サーバーにリダイレクトすると仮定します。簡単に言えば、redirユーティリティはポート80の1.1.1.1からポート8080の2.2.2.2に接続をリダイレクトしたいと思います。私たちは次のようにredirを実行する必要があります:

redir --laddr=1.1.1.1 --lport=80  --caddr=2.2.2.2 --cport=8080

関連情報