공개적으로 사용 가능한 서버에서 비공개로 사용 가능한 컴퓨터로 트래픽을 전달하는 방법은 무엇입니까?

공개적으로 사용 가능한 서버에서 비공개로 사용 가능한 컴퓨터로 트래픽을 전달하는 방법은 무엇입니까?

내 집 컴퓨터는 ISP 수준 NAT 뒤에 있으므로 게임 서버를 호스팅할 수 없습니다.

웹 서버로 사용하는 VPS가 있습니다. Minecraft 게임 서버를 호스팅하고 싶지만 VPS가 충분히 강력하지 않습니다.

내 컴퓨터와 VPS 모두 Linux를 실행합니다. 내 컴퓨터가 내 서버에 연결할 수 있지만 서버가 내 집 컴퓨터에 대한 연결을 열 수 없습니다.

내가 달성하고 싶은 것은 다음과 같습니다

  • 일부 사용자는 내 서버의 포트 27015에 연결합니다.
  • 그런 다음 서버는 내 집 컴퓨터에 열려 있는 연결 중 하나를 통해 서버의 포트 27015에서 내 집 컴퓨터의 포트 27015로 모든 트래픽을 전달합니다.

SSH가 이것을 할 수 있습니까? 반대의 효과가 있을 수 있다는 것을 알고 있습니다. 그렇지 않다면 이를 수행할 수 있는 다른 프로그램이 있습니까?

답변1

짧은 대답: 예,SSH이것은 가능합니다. 대답은 "역방향" 터널링이라는 질문에 있습니다. 보다-아르 자형옵션SSH고객:

-R [바인드 주소:]포트:호스트:호스트포트
주어진 것을 지정하다포트원격(서버)에서주인로컬 측의 지정된 호스트 및 포트로 전달됩니다. 이는 청취할 소켓을 할당하여 수행됩니다.포트원격 측에서는 이 포트에 연결이 이루어질 때마다 보안 채널을 통해 연결이 전달되고 호스트 포트에 연결됩니다.호스트 포트로컬 머신에서.

항상 유용한 기사를 더 읽어보세요.위조하는 방법(역방향 SSH 터널) 그러나 기본 원칙은SSH개인 호스트에서 공용 호스트로 다시 매핑할 포트를 지정합니다. 명령에서 바인딩 주소를 설정해야 합니다. 그렇지 않으면 기본적으로 로컬 루프에 바인딩됩니다.

답변2

대안으로 netcat을 사용하여 이를 수행할 수 있습니다.

http://en.wikipedia.org/wiki/Netcat#Port_Forwarding_or_Port_Mapping

Netcat은 가질 가치가 있습니다. 당신은 그것으로 모든 종류의 재미있는 일을 할 수 있습니다.

관련 정보