ローカルに転送されたバックポートに接続するためのポートアドレス変換を実行する方法

ローカルに転送されたバックポートに接続するためのポートアドレス変換を実行する方法

4つのSplunkインデクサーを実行しており、ポート9997に接続する必要があります。 127.0.0.1:8971 に接続できるリバース SSH ポート転送に加えて、これらの Splunk サーバーへの直接的な可視線やルーティング方法はありません。 、127.0.0.1:8972、127.0.0.1:8973、および127.0.0.1:8974。

私のLinuxシステム(sles 11 SP4)をどのように欺くことができますか?

  • 1.2.3.1:9997 -> 127.0.0.1:8971
  • 1.2.3.2:9997 -> 127.0.0.1:8972
  • 1.2.3.3:9997 -> 127.0.0.1:8973
  • 1.2.3.4:9997 -> 127.0.0.1:8974

出力ルールがあります。

   51  3060 DNAT       tcp  --  *      *       0.0.0.0/0            1.2.3.4       tcp dpt:9997 to:127.0.0.1:8971

これはうまくいきますが、私が得た答えはゴミです。

14:37:23.425219 IP 192.168.58.10.55403 > 127.0.0.1.8971: S 2063729062:2063729062(0) win 14600 <mss 1460,sackOK,timestamp 1532158690 0,nop,wscale 5>
14:37:23.425243 IP 127.0.0.1.8971 > 192.168.58.10.55403: S 2663988489:2663988489(0) ack 2063729063 win 32768 <mss 16396,sackOK,timestamp        1532158690 1532158690,nop,wscale 5> 
14:37:23.425249 IP 192.168.58.10.55403 > 127.0.0.1.8971: R 2063729063:2063729063(0) win 0

ポート転送に直接接続するようにソケットを完了しません。

14:38:33.822640 IP 127.0.0.1.34731 > 127.0.0.1.8971: S 2794569169:2794569169(0) win 32792 <mss 16396,sackOK,timestamp 1532176289 0,nop,wscale 5>
14:38:33.822649 IP 127.0.0.1.8971 > 127.0.0.1.34731: S 1241947612:1241947612(0) ack 2794569170 win 32768 <mss 16396,sackOK,timestamp 1532176289 1532176289,nop,wscale 5>
14:38:33.822655 IP 127.0.0.1.34731 > 127.0.0.1.8971: . ack 1 win 1025 <nop,nop,timestamp 1532176289 1532176289>
14:38:33.822991 IP 127.0.0.1.34731 > 127.0.0.1.8971: F 1:1(0) ack 1 win 1025 <nop,nop,timestamp 1532176289 1532176289>
14:38:33.825172 IP 127.0.0.1.8971 > 127.0.0.1.34731: . ack 2 win 1024 <nop,nop,timestamp 1532176290 1532176289>
14:38:33.835115 IP 127.0.0.1.8971 > 127.0.0.1.34731: F 1:1(0) ack 2 win 1024 <nop,nop,timestamp 1532176292 1532176289>
14:38:33.835138 IP 127.0.0.1.34731 > 127.0.0.1.8971: . ack 2 win 1025 <nop,nop,timestamp 1532176292 1532176292>

答え1

DNSまたはホスト名が利用可能な場合は、次のことができます。

  1. リバーストンネルを使用してSSHを開く(システム自動化にはキー入力SSH接続を使用することをお勧めします)
  2. トンネルが確立されたら、/ etc / hostsファイルにホスト名エントリを追加しますが、127.0.0.1を指すようにします。
  3. トンネルが閉じると、これらのエントリは/ etc / hostsファイルから削除されます。

ステップ1はとても簡単で例も多いです。
ステップ2と3はそれほど簡単ではありませんが、簡単です。

高レベルでcronを使用してスクリプトを起動し、netstatの出力を表示してアクティブなリバース接続があることを確認し、sedまたはawkを使用して正しいアドレスを指すようにホストファイルを再構築します。

ホスト名が実用的でない場合は、1の代わりに127.0.0.xを使用してポートを分散するようにリモートトンネル設定を再定義できます。

それはまるで

ssh credentials -NT -R 1.2.3.1:9997:127.0.0.2:9997 

関連情報