グローバルインターネットに「A」というIPアドレスがあります。
「A」にしかアクセスできません。
NATを実行するルーターの背後にネットワークがあります:192.168.1.0/24
そのNATの背後にクライアントがあります: "B"
「B」と「NAT」ルーターにアクセスできません。
目標:「A」で直接「B」に到達します。
ポートフォワーディングやUPnPなどは使用できません。
質問:「B」に到達するためのコツは何ですか?NATだけでなく、ルーターにステートフルファイアウォールがある場合は回避できるコツです!
「B」がウェブを閲覧するとインターネットに出て行くと考えています。応答を受信しているときに、NATを実行するルーターは、「B」が持っていたNATされたIPを判別する必要がありますか? (NATされたネットワークの背後にさらに多くのマシンが存在する可能性があります)。このため、NATルーターもポート情報を使用します。たぶん私たち/彼らがUDPを使用している場合、IP "A"のすべての非特権ポートを試し、 "B"にパケットを送信できますか?
NATルーターは、単なるsohoルーターです。 (元の問題:NATがファイアウォールではないことを証明しようとしていますが、その証拠が必要です)
簡単な答え(私がこれを正しく理解している場合)では、はい。これは、リバースSSHトンネリングを利用して実現できます。
最初にソックスプロキシを使用して(PuTTYを介して実行できます)、「B」でトンネルをセットアップする必要があります。次に、リクエストに対して「A」を介してトラフィックをルーティングする必要があります。
応答が戻ると、「A」を経由して「B」に戻ります。本質的に「Aで直接B」に到達する。
これを達成するための追加のリソースを以下に示します。 http://www.thegeekstuff.com/2013/11/reverse-ssh-tunnelhttps://unix.stackexchange.com/questions/46235/how-does-reverse-ssh-tunneling-work
実際には、NATデバイスがどのように機能するかによって、計画は機能する可能性があります。
通常、NATデバイスは、内部IPと送信元ポートを宛先IPとポートにマップするので、そのIPとポートのみが内部IPと通信できるようにします。これにより、NAT非常に粗雑で貧弱なステートフルファイアウォール。
ただし、この機能はNATの必須部分ではありません。つまり、どのベンダーもこのアプローチを実装するかどうかを選択できます。
つまり、NATデバイスのポートをスキャンして内部ネットワークを検出することが理論的に可能です内部ネットワーク上のデバイスが接続試行に応答する場合これは一連の「if」ですが、価値があります。
つまり、はいNAT実装方法がわからないため、NAT $ ===だけでは不十分ですNATが実装されました。ステートフルファイアウォールが防御を提供します-この潜在的な未知の穴をカバーするための詳細NAT=はセキュリティ技術ではないため、保護メカニズムとして扱うべきではありません。
anyDesk(バージョン5.2以降)を使用すると、クライアント間のTCP接続をセットアップできます。
クライアントPCをインターネット経由でTeam Foundation Server(TFS)に接続するために使用しました。サーバーとクライアントはNATの背後にあります。ローカルポートとリモートポートを「8080」に設定し、クライアントで次のアドレスを使用してクライアントからサーバーに接続できます: ' http:// localhost:8080/tfs / '