サーバー(ハードコードされたIP)を呼び出すアプリケーション(ソースコードなし)を取得し、開始する前に回答を期待しています(一種のログイン)。
サーバーが半分の時間ダウンしているので、公式サーバーの動作をエミュレートするダミーサーバーを作成します。
私の問題:
トラフィックをローカルマシンにリダイレクトするにはどうすればよいですか?
IP w.x.y.zに送信されたすべての要求がlocalhostに再ルーティングされるようにしたい(私のダミーサーバーが実行されている場合)
詳細:
これは完全なハックになりますが、問題のサーバーのIPをローカルインターフェイスの追加IPとして割り当ててみることができます。手順 here
さて、あなたは以下を試すことができます:
次のように、そのIPアドレスに特定のルートを設定します。これにより、ダミーサーバーをゲートウェイとして使用します。
route add -Host w.x.y.z/32 gw dummy-server-ip
このためには、ネットワークのメインルーターにアクセスするか、リクエストを送信するマシンでアクセスする必要があります。これにより、TCPパケットとw.x.y.z IPアドレスのパケットがダミーサーバーのMACアドレスに効果的に送信されます。そのため、ダミーサーバーがパケットの処理方法を認識していることを確認する必要があります。
次に、w.x.y.z IPアドレスをセカンダリアドレスとしてダミーサーバーに追加します。
最後にダミーサーバーのApache構成を更新して、w.x.y.zアドレスでもリッスンするようにし、ダミーサーバーの仮想ホストがIPアドレスとドメイン名の両方の着信要求を受け入れることを確認します。
これは、要求側のマシンとダミーサーバーの間に他のルーターがない場合にのみ機能することに注意してください。ファイアウォールが含まれている場合は、それらも更新する必要があります。
あなたはおそらくiptablesと一緒に何かを強打することができます。これは私がかつて使用したものですが、あなたに足元を与えるためにもうやっていません:
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A PREROUTING -d 172.16.25.202 -i eth0 -p tcp -m tcp --dport 25 -j DNAT --to 172.16.27.59:8025
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
注意:私はずっと前にこれをしました、そこに間違いがあるかもしれません
問題となる可能性があるのは、それがインターフェイスに固有であるということだけです。 eth0はインバウンド部分のみにあると思うので、ターゲットとしてloインターフェース(127.0.0.1)でIPを使用してもまだ機能する可能性があります...