ルーターにアクセスせずにポートをフォワードフォワードしてもらえますか?UPNPはおそらくオフになりますか?

StackOverflow https://stackoverflow.com/questions/19836475

  •  25-07-2022
  •  | 
  •  

質問

アクセスできないルーターにWebサーバーのポートを移したいと思います。 UPNPが有効になっていることは非常に疑わしいです。

役に立ちましたか?

解決

実際、あなたは(一種の)

それは少し複雑で、常に機能しませんが、ここにそれがどのように機能するかの要点があります:

与えられた:

パブリックIP 1.2.3.4のルータラ

プライベートIP ABCDを備えたPC1(ルーターAの後ろ)

パブリックIP 5.6.7.8を備えたRouterb

プライベートIP EFGHを備えたPC2(ルーターBの後ろ)

今、理想的な解決策を与えられた(つまり、パットなし)...

ステップA:

Routerb(4.5.6.7)の公開IPに、ポート(この例では10000)のPC1からのメッセージを送信します。これにより、ABCD:10000-> 4.5.6.7:10000はNATで、PATはルータを登録します。 Routerbはこのパケットを破棄します(リクエストされていなかったために予想どおり)。

ステップB:同時に、同じポート(10000)で、PC2からルーターA(1.2.3.4)のパブリックIPにパケットを継続的に送信します。これにより、eGFH:10000-> 1.2.3.4:10000がRouterbのNATとPATに登録されます。

ステップC:

さて、ここが魔法が起こる場所です:

PC2は絶えずパケットをルータラに送信しているため、Routerbで「穴」を開いたままにして、応答が戻ってきます。 PC1がRouterbに単一のパケットを送信すると、Routerbに応答として表示されるため、PC2に転送されます。 PC2がこの「応答」を受信したら、もう1つのパケットが消えることを確認し、連続パケットの送信を停止します。この最後のパケットは、PC1への「応答」として機能し、ステップAとVoilaで作成された「ホール」を通過します!これでNATは移動します。 「穴」を開いたままにしておくために、1分ほどの方向に1つのパケットを送信する必要があります。

注:これは、ConnectionLessであるため、UDPでのみ動作します(ドロップされたパケットは問題ありません)。

これで、ほとんどすべてのルーターがPATを使用しているため、ほとんどのルーターに「応答する」ポートを「推測」する必要があります。

その範囲でいくつか試してみてください(応答が得られるまで-10〜 +10)

残りのルーターは、パットでランダムです。もしそうなら、あなたはねじ込まれています...他の方向を試してください(つまり、接続を他の方向に最初に開始します)。それが失敗した場合、接続できません...ごめんなさい)

他のヒント

したがって、私が理解していることから、あなたは物事を転送する必要があるWebサーバーと、アクセスできないルーターポートを持っています。そして、あなたはこの2つを接続したいです。

ルーターにsudoアクセスできる場合、iptablesを使用してリダイレクトできる場合、これを行う方法があるのではないかと疑っています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top