127.0.0.1と127.0.0.2のN番目のポートは同じですか?


7

2つのクライアントと1つのサーバーの間にsshトンネルを作成したい。両方に同じポート番号を使用できますが、一方を127.0.0.1:Nにバインドし、もう一方を127.0.0.2:Nにバインドできますか?これらのポートは同じですか、それとも個別に使用できますか?


何か回答がありましたか?もしそうなら、質問が永遠にポップアップし続けないように答えを受け入れ、答えを探します。または、独自の回答を提供して受け入れることもできます。
Ron Maupin

回答:


3

両方に同じポート番号を使用できますが、一方を127.0.0.1:Nにバインドし、もう一方を127.0.0.2:Nにバインドできますか?

はい、2つの異なる127.XXXアドレスで同じポート番号を使用できます。

これらのポートは同じですか、それとも個別に使用できますか?

別々に使用できます。

下の図を参照してください。

lab@ubu10:~$ nc -l 127.0.0.1 2000 &
[1] 1035
lab@ubu10:~$ nc -l 127.0.0.2 2000 &
[2] 1036
lab@ubu10:~$ netstat -l -n
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 127.0.0.2:2000          0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:2000          0.0.0.0:*               LISTEN

1

それはあなたがサーバを経由して、両方のクライアント間のトンネル、または各クライアントからのトンネリングされているかどうか、あなたの質問にははっきりしない、サーバー。

どちらの場合でも、クライアント側では、両側で同じIP /ポートにローカルにバインドできます。例:

ssh -f client@server.com -L 2000:server.com:22 -N

これは127.0.0.1:2000、各クライアントで、サーバーで終了するトンネルにマップされます。

サーバー側では、各クライアントのパブリックIPアドレスが表示されます。これには、一意の送信元ポートにバインドされた(場合によっては)一意の送信元IPがあります。


0

port + ipにバインドする場合は、別々に使用できます。


どうすれば説明できますか?「ssh -N -R [127.0.0.2]:2222:host:port user @ host」を試しましたが、うまくいきませんでした。
BünyaminSarıgül

opensshには-L [bind_address:] port:host:hostport
Stefano Sasso

@StefanoSassoあなたは実際に127.0.0.0/8アドレスを使用しようとしていますか?これらは、送信者の内部でトラフィックをすぐにループバックするループバックアドレスであるため、機能しません。ループバックアドレスは、ホストの内部でのみ役立ちます。複数のホストの場合、別のアドレス範囲を使用する必要があります。
Ron Maupin

@BünyaminSarıgülおそらく、2つのトンネルが必要です。tunnel1:ssh -R 127.0.0.1:3000:127.0.0.1:2000 user @ remotehost->は、127.0.0.1:3000(at remotehost)を127.0.0.1:2000 tunnel2:sshに転送します。 -R 127.0.0.2:3000:127.0.0.2:2000 user @ remotehost->は127.0.0.2:3000(リモートホストで)を127.0.0.2:2000に転送します
Everton
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.