Tunneling di una connessione TCP / IP tramite Connessione desktop remoto


34

Esiste un server Windows remoto su una rete privata a cui posso collegarmi tramite Connessione desktop remoto. Vorrei essere in grado di effettuare connessioni TCP / IP dal mio computer ad altri computer sulla rete di quel server.

Connessione desktop remoto consente di condividere stampanti, unità e altre risorse locali tramite la connessione. Esiste un modo per "tunnelare" una connessione TCP / IP tramite RDC?

Vorrei qualcosa di simile al port forwarding fornito da SSH. Non vedo alcun modo per farlo tramite RDC, ma spero che la capacità sia presente e non ne so nulla.

Risposte:


7

Non credo che sia possibile eseguire il tunneling su RDP, tuttavia se si dovesse eseguire il rdp sul server e quindi avviare un tunnel ssh sul client, le macchine sarebbero connesse da ssh. Puoi inoltrare entrambe le porte remote e locali in modo da poterlo fare in modo che tutto fosse al contrario

MODIFICARE

Se installi un server ssh sul tuo PC client e lo configuri per accettare connessioni ssh sulla porta 443, puoi connetterti al server ssh (il tuo client) dal tuo server (usando la connessione client ssh) e non dovrai aprire alcuna porta ( 443 dovrebbe essere aperto per HTTPS)


1
Sì, sembra che dovrò installare un server SSH. Sfortunatamente, ciò richiederà l'intervento di MIS per aprire la porta nel firewall, quindi potrebbero essere necessari alcuni giorni / settimane.
Kristopher Johnson,

Il mio PC client è protetto da alcuni livelli di firewall. Non so se riesco a connettermi dal server al client. (Il mondo era molto più semplice quando tutti i porti erano aperti.)
Kristopher Johnson

Immagina un caso in cui non ci sono comunicazioni praticabili dal server al client anche con 443 tcp, l'unica cosa che abbiamo RDP
carpinchosaurio


1

Non ho trovato niente di meglio di rdp2tcp da utilizzare con un server Windows che non consentisse l'accesso da amministratore o il routing della rete da interfaccia a interfaccia. Dovrai eseguire la patch OOP sul tuo rdesktop per farlo funzionare (vai alle ultime pagine per trovare quella corrispondente a una versione recente di rdesktop). Ho usato il compilatore MinGW per compilare la fine di Windows del tunnel.

Anche la documentazione è eccellente e concisa.

Quello che potrebbe sembrare un punto secondario: se usi un nome 'addin' con '-', rdesktop non riesce ad analizzare correttamente la riga di comando. Questo potrebbe essere stato un bashismo che ha richiesto una corretta fuga, ma non ne sono sicuro.

Si noti che, per quanto posso capire, questo non è un tunnel "vero" TCP che "vede" le unità dati del protocollo TCP in quanto ciò non sarebbe possibile senza i privilegi di amministratore sul lato Windows. È più simile a un proxy calzini con un endpoint preconfigurato (anche se non molto consequenziale). Dispone anche di un proxy calzini se lo desideri.

Ho gestito facilmente una sessione SSH interattiva con essa, ma non ha resistito per i trasferimenti di file SSH (ha dato "canale virtuale disconnesso" nella console rdesktop (rdp2tcp viene eseguito come processo figlio con stdout / stdin dup2'ed / piped da rdesktop , ma senza alcuna modifica a stderr)). C'era una costante nella fonte chiamata RDP2TCP_PING_TIMEOUT che sembrava un timeout keepalive per sostenere il tunnel. Supponendo una sorta di limitazione nella rete intermedia, l'aumento da 5 a 900 sembrava aver risolto il problema, e ha resistito per trasferimenti fino a 100 MB (ci sono voluti circa 15 minuti su quella particolare rete).

Oltre a ciò, tuttavia, è stato scoperto che rdp2tcp riceve un SIGPIPE, che ha affermato di aver ricevuto a causa di un'interruzione nella pipe di rdesktop, anche se non sono riuscito a trovare alcuna prova di ciò che accadesse dal codice rdesktop o dall'output di ' lsof 'che non ha mostrato variazioni nel numero di pipe per rdesktop prima e dopo il trigger SIGPIPE.

In questo caso, dovrai riavviare rdesktop, e possibilmente anche il lato Windows del tunnel. È possibile utilizzare rsync e riprendere i trasferimenti di file e forse è possibile automatizzare l'intero processo di recupero.

Tutto questo presupponeva Linux come client. Non ho provato rdesktop con patch su Windows a causa di alcuni problemi non correlati che ho avuto con Cygwin / X. Immagino che dovrebbe funzionare.

Inoltre, la mia esperienza è stata con SSH, ma è probabile che enormi trasferimenti di file con qualsiasi altro mezzo incontrino gli stessi problemi.


come impostare gli elementi sopra in Windows 7
Thangamani Palanisamy il

0

Penso che tu possa usare il port forwarding locale su RDP:

A -> B -> C

A è Windows o Mac, B è Linux e C è Windows. Se si desidera eseguire il RDP in C da A e C non è direttamente raggiungibile da A, quindi in A

ssh username@B -L 7777:C:3389

Aprire il client RD, quindi punto 127.0.0.1:7777 utilizzare il nome utente e la password di C. Ho provato questo da Mac ma dovrebbe funzionare per Windows.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.