"로컬 포트 ​​전달"과 "동적 포트 전달"의 차이점은 무엇입니까?

"로컬 포트 ​​전달"과 "동적 포트 전달"의 차이점은 무엇입니까?

"로컬 포트 ​​포워딩"과 "동적 포트 포워딩"의 차이점을 알고 싶습니다.

"로컬 포트 ​​전달" ssh 명령에서 항상 대상 호스트를 지정해야 합니까?

"동적 포트 전달"의 "동적"은 "동적 포트 전달"의 ssh 명령에서 대상 호스트를 지정할 필요가 없음을 의미합니까? 그렇다면 지정 목적지는 언제인가?

답변1

네, 로컬 포워딩을 사용할 경우 대상 IP와 포트를 지정해야 합니다. ~에서man ssh:

 -L [bind_address:]port:host:hostport
         Specifies that the given port on the local (client) host is to be
         forwarded to the given host and port on the remote side.

분명히 바인딩 주소만 선택 사항입니다.

아니요. 동적 전달을 사용할 때는 대상 호스트나 포트를 지정할 수 없습니다. 동적 전달에서 SSH는 SOCKS 프록시 역할을 합니다. 다시 맨페이지에서(강조):


 -D [bind_address:]port
         Specifies a local “dynamic” application-level port forwarding.
         This works by allocating a socket to listen to port on the local
         side, optionally bound to the specified bind_address.  Whenever a
         connection is made to this port, the connection is forwarded over
         the secure channel, and the application protocol is then used to
         determine where to connect to from the remote machine.  Currently
         the SOCKS4 and SOCKS5 protocols are supported, and ssh will act
         as a SOCKS server.

사용되면 -LSSH는 트래픽을 이해하려고 시도하지 않습니다. 이는 단순히 로컬 포트에서 수신된 모든 것을 연결을 설정할 때 결정하는 대상 포트로 보냅니다. SSH를 사용하면 -DSSH는 프록시 서버 역할을 하므로 여러 포트의 연결을 처리할 수 있습니다. 예를 들어 SSH를 SOCKS 프록시로 사용하도록 구성된 브라우저는 동일한 연결을 통해 HTTP, HTTPS, FTP 등에 액세스할 수 있습니다. 다른 프록시 서버와 마찬가지로 트래픽을 사용하여 대상을 결정합니다.

답변2

이 개념을 배우는 또 다른 방법은 클라이언트가 Amazon의 EMR(Elastic Map Reduce) 클러스터에 연결하는 방법을 살펴보는 것입니다. EMR에는 SSH 터널을 통해 자주 액세스되는 노출된 로컬 애플리케이션이 많이 있습니다.

클라이언트에는 2가지 옵션이 있습니다. A) 로컬 포트 ​​전달 SSH 명령: ssh -i key.pem -L 8157:abcd:8088[이메일 보호됨]

예를 들어, 클라이언트는 localhost의 8157이 abcd:8088로 전달됨을 나타냅니다. 클라이언트는 localhost에 요청을 해야 합니다. http://localhost:8157 다른 애플리케이션은 포트 8089, 8090 등을 수신 대기할 수 있으며 클라이언트는 각 포트에 대해 SSH 연결을 설정해야 합니다.

B) 동적 포트 전달은 단일 SSH 명령(ssh -i key.pem -D 8157)을 사용합니다.[이메일 보호됨]

포트 8157로 들어오는 모든 트래픽은 SSH 터널을 통해 라우팅됩니다. 트래픽의 목적지는 URL의 목적지가 됩니다. 예를 들어 웹 서버에서 프록시 클라이언트를 사용하고 특정 http URI를 리디렉션하여 프록시를 사용할 수 있습니다. 단일 명령으로 8089,8090의 모든 애플리케이션에 액세스할 수 있습니다.

참고로 다음 문서를 참조하세요. https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-web-interfaces.html

관련 정보