Sind die N-ten Ports auf 127.0.0.1 und 127.0.0.2 gleich?


7

Ich möchte SSH-Tunnel zwischen 2 Clients und 1 Server erstellen. Kann ich für beide die gleichen Portnummern verwenden, aber eine davon an 127.0.0.1:N und die andere an 127.0.0.2:N binden? Sind diese Ports gleich oder kann ich sie separat verwenden?


Hat dir eine Antwort geholfen? Wenn ja, sollten Sie die Antwort akzeptieren, damit die Frage nicht für immer auftaucht und nach einer Antwort sucht. Alternativ können Sie Ihre eigene Antwort bereitstellen und akzeptieren.
Ron Maupin

Antworten:


3

Kann ich für beide die gleichen Portnummern verwenden, aber eine davon an 127.0.0.1:N und die andere an 127.0.0.2:N binden?

Ja, Sie können dieselbe Portnummer für zwei verschiedene 127.XXX-Adressen verwenden.

Sind diese Ports gleich oder kann ich sie separat verwenden?

Sie können sie separat verwenden.

Siehe Abbildung unten.

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

In Ihrer Frage ist nicht klar, ob Sie zwischen beiden Clients über den Server oder von jedem Client zum Server tunneln .

In beiden Fällen können Sie auf der Clientseite lokal an dieselbe IP / denselben Port auf beiden Seiten binden, z.

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

Dadurch wird 127.0.0.1:2000auf jedem Client der Tunnel zugeordnet, der auf dem Server endet.

Auf der Serverseite sehen Sie einfach die öffentliche IP-Adresse jedes Clients, an den (möglicherweise) eindeutige Quell-IPs an eindeutige Quell-Ports gebunden sind.


0

Wenn Sie an Port + IP binden, können Sie diese separat verwenden.


Können Sie erklären, wie ich das machen kann? Ich habe versucht "ssh -N -R [127.0.0.2]: 2222: Host: Port Benutzer @ Host", aber es hat nicht funktioniert.
Bünyamin Sarıgül

openssh sollte -L [bind_address:] port haben: host: hostport
Stefano Sasso

@StefanoSasso versuchen Sie tatsächlich, 127.0.0.0/8 Adressen zu verwenden? Dies funktioniert nicht, da dies die Loopback-Adressen sind, die den Datenverkehr innerhalb des Absenders sofort zurückschleifen. Eine Loopback-Adresse ist nur für einen Host nützlich. Für mehrere Hosts müssen Sie einen anderen Adressbereich verwenden.
Ron Maupin

@ BünyaminSarıgül Vielleicht benötigen Sie 2 Tunnel: tunnel1: ssh -R 127.0.0.1:3000:127.0.0.1:2000 user @ remotehost -> leitet 127.0.0.1:3000 (at remotehost) an 127.0.0.1:2000 tunnel2: ssh weiter -R 127.0.0.2:3000:127.0.0.2:2000 user @ remotehost -> leitet 127.0.0.2:3000 (at remotehost) an 127.0.0.2:2000 weiter
Everton
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.