¿Son los enésimos puertos en 127.0.0.1 y 127.0.0.2 iguales?

7

Quiero crear túneles ssh entre 2 clientes y 1 servidor. ¿Puedo usar los mismos números de puerto para ambos pero vincular uno de ellos a 127.0.0.1:N y el otro a 127.0.0.2:N? ¿Son iguales estos puertos o puedo usarlos por separado?

Bünyamin Sarıgül
fuente
¿Alguna respuesta te ayudó? Si es así, debe aceptar la respuesta para que la pregunta no siga apareciendo para siempre, buscando una respuesta. Alternativamente, puede proporcionar y aceptar su propia respuesta.
Ron Maupin

Respuestas:

3

¿Puedo usar los mismos números de puerto para ambos pero vincular uno de ellos a 127.0.0.1:N y el otro a 127.0.0.2:N?

Sí, puede usar el mismo número de puerto en dos direcciones 127.XXX diferentes.

¿Son iguales estos puertos o puedo usarlos por separado?

Puedes usarlos por separado.

Vea la ilustración a continuación.

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
Everton
fuente
1

No está claro en su pregunta si está haciendo un túnel entre ambos clientes a través del servidor, o si está haciendo un túnel desde cada cliente al servidor.

En cualquier caso en el lado del cliente, puede enlazar localmente a la misma IP / puerto en ambos lados, por ejemplo:

ssh -f [email protected] -L 2000:server.com:22 -N

Esto asignará 127.0.0.1:2000en cada cliente al túnel que termina en el servidor.

En el lado del servidor, simplemente verá la dirección IP pública de cada cliente, que tendrá (posiblemente) IP de origen únicas vinculadas a puertos de origen únicos.

Benjamin Dale
fuente
0

si se une a port + ip, puede usarlos por separado.

Stefano Sasso
fuente
¿Puedes explicar cómo puedo hacer eso? Intenté "ssh -N -R [127.0.0.2]: 2222: host: port user @ host" pero no funcionó.
Bünyamin Sarıgül
openssh debería tener -L [bind_address:] port: host: hostport
Stefano Sasso
@StefanoSasso, ¿estás intentando usar 127.0.0.0/8 direcciones? Eso no funcionará, ya que esas son las direcciones de bucle invertido que harán que el tráfico regrese inmediatamente al remitente. Una dirección de bucle invertido solo es útil internamente a un host. Para varios hosts, debe usar un rango de direcciones diferente.
Ron Maupin
@ BünyaminSarıgül Quizás necesite 2 túneles: tunnel1: ssh -R 127.0.0.1:3000:127.0.0.1:2000 user @ remotehost -> reenviará 127.0.0.1:3000(at remotehost) a 127.0.0.1:2000 tunnel2: ssh -R 127.0.0.2:3000:127.0.0.2:2000 user @ remotehost -> reenviará 127.0.0.2:3000(at remotehost) a 127.0.0.2:2000
Everton