SSH 역터널이 작동하지 않습니다

SSH 역터널이 작동하지 않습니다

그래서 서버와 가정용 컴퓨터가 있습니다. 내 서버는 인터넷과 통신할 수 없지만 집에 있는 컴퓨터는 가능합니다. 그래서 다음 명령을 사용하여 홈 디렉터리에서 서버로의 역방향 터널을 설정했습니다.

ssh -R 9001:www.google.com:80 server

이제 서버에서 ping을 시도하면 알 수 없는 호스트가 표시됩니다.

ping locahost:9001

내가 뭘 잘못하고 있는지 아시나요?

답변1

Ping은 ICMP 프로토콜로 구현되며 전달하는 포트는 TCP 포트입니다. 따라서 ping은 이 경우에 적합하지 않습니다. 연결이 설정될 수 있는지 확인하기 위해 telnet이나 유사한 것으로 테스트하는 것이 좋습니다.

답변2

SSH 터널이 작동하는 방식이 아닙니다 - 임시 전달TCP 프로토콜터널의 원격 끝에 있는 지정된 주소와 포트로 전송될 포트의 트래픽을 설정합니다. 대부분의 시스템(일부 용도)에서 (인터넷 제어 메시지 프로토콜)이라는 다른 프로토콜을 실제로 사용하는 경우 ping해당 프로토콜은 SSH 터널을 통해 전달되지 않습니다.ICMPudp

특정 요구 사항에 따라 가정용 컴퓨터에서 VPN을 사용하는 것이 더 나을 수도 있습니다. 그런 다음 라우팅을 사용하여 트래픽을 로컬 시스템으로 리디렉션할 수 있습니다. 그런 다음 IP 관련 프로토콜(udp, tcp 및 icmp 포함)을 보내 ping, 탐색 등을 수행할 수 있습니다.

Google과 같은 대규모 조직의 경우 가정용 컴퓨터로 라우팅하려는 모든 호스트에 대해 이를 처리하기 위해 서버에 경로를 추가해야 하기 때문에 이는 어려운 작업입니다(Google에는 라우팅해야 하는 많은 IP가 있습니다). Google의 집계 네트워크 블록을 라우팅하는 경우 Google의 경우에도 마찬가지입니다.

당신이 기꺼이 희생한다면기본 경로서버에서(라우팅을 위해 VPN을 통해 모든 비로컬 트래픽을 전달할 수 있음) 서버 네트워크의 모든 호스트에 대해 서버의 고정 경로를 사용하면 작업이 훨씬 쉬워질 것입니다. 이는 단지 하나의 사례일 뿐이기 때문입니다.IP 포워딩. 기본 경로를 VPN 엔드포인트로 지정하고 가정용 컴퓨터의 IP 전달이 트래픽을 인터넷으로 보내도록 합니다.

웹 트래픽(HTTP/HTTPS)만 리디렉션하려는 경우할 수 있다웹에서 역방향 SSH 터널링 사용대리인. 웹 클라이언트가 프록시를 가리키는 간단한 메커니즘을 제공하기 때문에 이는 매우 간단합니다.

다음을 설정해 볼 수도 있습니다.양말프록시(웹 프록시와 유사하지만 일부 다른 애플리케이션/프로토콜을 지원함), 서버에서 SOCKS를 사용하는 애플리케이션만 이를 사용할 수 있습니다.

관련 정보