2つのIPアドレスを使用するようにWindowsAWSインスタンスを設定しましたが、curl(pycurl)を使用してHTTPGETリクエストに使用する2つのIPのどちらを選択できるようにしたいと思います。
サーバー側には、2つの別々のクライアントがあるように見せたいです。まるで1台のマシンがそれ自体をプロキシとして使用しているようです。
1.1.1.1を静的IPとして使用し、2.2.2.2を追加の(プロキシ)IPアドレスとして使用するようにインスタンスを構成しました。
> curl --interface 1.1.1.1 example.com
は成功しますが、他のIPアドレスで試行するとタイムアウトが発生します。
> curl --interface 2.2.2.2 example.com
curl: (7) Failed to connect to example.com port 80: Timed out
詳細フラグの設定
> curl --interface 2.2.2.2 --verbose example.com
* Trying 93.184.216.34:80...
* TCP_NODELAY set
* Name '2.2.2.2' family 2 resolved to '2.2.2.2' family 2
* Local port: 0
* connect to 93.184.216.34 port 80 failed: Timed out
* Failed to connect to example.com port 80: Timed out
* Closing connection 0
curl: (7) Failed to connect to example.com port 80: Timed out
2番目のIPを使用するときにこの接続が失敗する理由(およびWindowsでこれを修正する方法)を誰かに教えてもらえますか?
前もって感謝します!
ルーティングの問題のようですが、アドレスにping
またはtraceroute
できますか?小切手 route print
またはGet-NetRoute
PowerShellで、正しいゲートウェイが配置されているかどうかを確認します。それぞれの3番目の列は、特定のアドレスに対するリクエストの送信先を示します(おそらく、に対応するNextHop
を探します。 DestinationPrefix
0.0.0.0/0
)。
問題を解決するには、デバイスがさまざまなインターフェイスのさまざまなIPにリクエストをルーティングする方法の問題を探す必要があります。