Linux를 통해 원격 데스크톱 연결을 전달

4122 단어 socatRDPAmazonLinux

개요



원격 데스크톱 연결을 일반 연결이 아닌 Linux 서버를 통해 연결하는 경우 ssh 포트 포워딩과 같은 방법이 있습니다.
이것은 연결하려고하는 사용자에게 약간의 부담이 있습니다.

또, Apache Guacamole 를 이용해, 브라우저 경유로 리모트 데스크탑 접속 시킬 수도 있습니다만, 환경 구축이 약간 귀찮고, 가능하면 Window 표준의 리모트 데스크탑 클라이언트로 연결하고 싶습니다.

따라서 다음과 같은 방법으로 더 쉽게 포워딩할 수 있습니다.

이미지 다이어그램





설치



먼저 리눅스 서버에 socat이 없으면 socat을 설치합니다.
$ uname -a
Linux ip-hogehoge 4.4.44-39.55.amzn1.x86_64 #1 SMP Mon Jan 30 18:15:53 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
$ sudo yum install socat
$ socat -V
socat by Gerhard Rieger - see www.dest-unreach.org
socat version 1.7.2.3 on Mar  6 2014 21:44:52
   running on Linux version #1 SMP Mon Jan 30 18:15:53 UTC 2017, release 4.4.44-39.55.amzn1.x86_64, machine x86_64
features:
  #define WITH_STDIO 1
  #define WITH_FDNUM 1
  #define WITH_FILE 1
  #define WITH_CREAT 1
  #define WITH_GOPEN 1
  #define WITH_TERMIOS 1
  #define WITH_PIPE 1
  #define WITH_UNIX 1
  #define WITH_ABSTRACT_UNIXSOCKET 1
  #define WITH_IP4 1
  #define WITH_IP6 1
  #define WITH_RAWIP 1
  #define WITH_GENERICSOCKET 1
  #define WITH_INTERFACE 1
  #define WITH_TCP 1
  #define WITH_UDP 1
  #define WITH_SCTP 1
  #define WITH_LISTEN 1
  #define WITH_SOCKS4 1
  #define WITH_SOCKS4A 1
  #define WITH_PROXY 1
  #define WITH_SYSTEM 1
  #define WITH_EXEC 1
  #define WITH_READLINE 1
  #define WITH_TUN 1
  #define WITH_PTY 1
  #define WITH_OPENSSL 1
  #undef WITH_FIPS
  #undef WITH_LIBWRAP
  #define WITH_SYCLS 1
  #define WITH_FILAN 1
  #define WITH_RETRY 1
  #define WITH_MSGLEVEL 0 /*debug*/

socat 시작



다음과 같이 3389에서 기다려 대상 서버에 포워딩합니다.
$ socat tcp4-listen:3389,reuseaddr,fork TCP:35.160.1.26:3389

그러면, 「63.36.3.10」에 접속하는 것만으로, 잘 접속을 「35.160.1.26」에 포워딩해 줍니다.


시도해 보지 못했습니다.



처음에는 nc(netcat)를 이용하려고 했지만, 할 수 없었습니다.
nc는 표준으로 들어 있던 nc(BSD판?)나 GNU Netcat에서 했습니다만, 결과는 똑같이, 연결한 순간에 "connection reset by peer"가 되었습니다.

BSD_netcat
$ mkfifo fifo
$ nc -l 3389 < fifo | nc 35.160.1.26 3389 > fifo

GNU_netcat
$ nc -L 35.160.1.26:3389 -p 3389 -vvv

추가



시험에 다단 경유도 해 보았습니다만, 문제 없게 접속할 수 있었습니다.

참고



· proxying through complex situations

좋은 웹페이지 즐겨찾기