TCP 젠더 체인저

TCP Gender Changer

TCP Gender Changer는 컴퓨터 네트워킹에서 내부 TCP/IP 기반 네트워크 서버를 보호 방화벽을 넘어 액세스할 수 있도록 하는 방법이다.

메커니즘

두 개의 노드로 구성되는데, 하나는 원하는 서버에 접근할 수 있는 내부 LAN에 상주하며, 다른 노드는 클라이언트가 액세스할 수 있는 로컬 영역 네트워크 외부에 실행된다.이러한 노드를 각각 CC(Connect-Connect) 및 LL(Listen-Listen)이라고 한다.

노드 이름을 지정하는 이유는 Connect-Connect 노드가 Listen-Listen 노드와 실제 서버에 대한 두 개의 연결을 시작한다는 사실이다.그러나 Listen-Listen 노드는 두 개의 TCP/IP 포트에서 수동적으로 수신하며, 하나는 CC로부터 연결을 받고 다른 하나는 클라이언트로부터 수신 연결을 수신한다.

네트워크 내부에서 실행되는 CC 노드는 LL에 대한 제어 연결을 설정하고 LL의 신호가 내부 서버에 대한 연결을 열 때까지 기다린다.클라이언트 연결을 수신한 후 LL은 CC 노드에 서버 연결 신호를 보낼 것이며, CC가 성공하면 LL이 클라이언트 연결을 유지하고, 따라서 CC와 LL이 데이터를 앞뒤로 릴레이하는 동안 클라이언트와 서버가 통신할 수 있다.

사용 사례

매우 유용할 수 있는 사례 중 하나는 VNC를 실행하는 방화벽 뒤에 있는 데스크톱 컴퓨터에 연결하면 네트워크와 방화벽을 통해 데스크톱에 원격으로 액세스할 수 있게 된다.또 다른 유용한 시나리오는 SSH를 통한 PPP를 사용하여 VPN을 생성하거나 내부 Unix 기반 서버에 연결하기 위해 SSH를 사용하는 것이다.

참고 항목

참조

외부 링크

구현

  • tgcd, TCP Gender Changer Daemon은 TCP General Changer 방법(GNU GPL 2+)의 Unix 데몬 구현이다.
  • revinetd는 TCP 성별 변경자(GNU GPL 2)의 구현이다.
  • Socat 유틸리티를 사용한 구현(OpenSSL 연결 예외를 포함한 GNU GPL)
  • 방화벽 터널(Firewall Tunnel)은 TCP General Changer 방식(GNU GPL 2)을 기반으로 하는 방화벽 터널이다.